<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Building 5.2.2.0 for Android</title>
		<link>http://www.allegro.cc/forums/view/616889</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 16 May 2017 21:32:28 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m trying to make the leap to android. I&#39;m trying to follow along the guide here:<br /><a href="https://wiki.allegro.cc/index.php?title=Running_Allegro_applications_on_Android">https://wiki.allegro.cc/index.php?title=Running_Allegro_applications_on_Android</a></p><p>I&#39;m getting to the point of actually compiling allegro for android. I&#39;ve got allegro checked out from git on the 5.2.2.0 tag. Then, following the guide, I do:</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.delorie.com/djgpp/doc/libc/libc_570.html" target="_blank">mkdir</a> Build<span class="k3">/</span>Android
cd Build<span class="k3">/</span>Android
cmake ..<span class="k3">/</span>.. <span class="k3">-</span>DANDROID_NDK_TOOLCHAIN_ROOT<span class="k3">=</span>$TC <span class="k3">-</span>DWANT_ANDROID<span class="k3">=</span>on <span class="k3">-</span>DCMAKE_BUILD_TYPE<span class="k3">=</span>Debug <span class="k3">-</span>DANDROID_TARGET<span class="k3">=</span>android-15
</pre></div></div><p>

After running that I get the following warnings:</p><div class="source-code snippet"><div class="inner"><pre><span class="k3">-</span><span class="k3">-</span> Generating done
CMake Warning:
  Manually-specified variables were <span class="k1">not</span> used by the project:

    ANDROID_NDK_TOOLCHAIN_ROOT
    ANDROID_TARGET
    WANT_ANDROID
</pre></div></div><p>

What am I missing here? Any idea why it is not recognizing the specified variables?</p><p>edit: looks like the wiki is out of date. SiegeLord pointed me to the readme. ANDROID_NDK_TOOLCHAIN_ROOT should be specified as an environment variable, and the WANT_ANDROID is replaced with a reference to the Android toolchain. So this works:</p><div class="source-code snippet"><div class="inner"><pre>ANDROID_NDK_TOOLCHAIN_ROOT<span class="k3">=</span>$TC cmake ..<span class="k3">/</span>.. <span class="k3">-</span>DCMAKE_TOOLCHAIN_FILE<span class="k3">=</span>..<span class="k3">/</span>..<span class="k3">/</span>cmake<span class="k3">/</span>Toolchain-android.cmake  <span class="k3">-</span>DCMAKE_BUILD_TYPE<span class="k3">=</span>Debug <span class="k3">-</span>DANDROID_TARGET<span class="k3">=</span>android-15
make
</pre></div></div><p>

But then I run into the next problem:</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="k2">[</span>  <span class="n">8</span>%<span class="k2">]</span> Built target allegro_main
<span class="number">  2</span>Scanning dependencies of target jar
<span class="number">  3</span><span class="k2">[</span>  <span class="n">8</span>%<span class="k2">]</span> Generating allegro_activity<span class="k3">/</span>AndroidManifest.xml, allegro_activity<span class="k3">/</span>build.xml
<span class="number">  4</span><span class="k2">[</span>  <span class="n">8</span>%<span class="k2">]</span> Generating allegro_activity<span class="k3">/</span>local.properties
<div class="highlight"><span class="number">  5</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span></div><span class="number">  6</span>The <span class="s">"android"</span> command is deprecated.
<span class="number">  7</span>For manual SDK, AVD, <span class="k1">and</span> project management, please use Android Studio.
<span class="number">  8</span>For command-line tools, use tools<span class="k3">/</span>bin<span class="k3">/</span>sdkmanager <span class="k1">and</span> tools<span class="k3">/</span>bin<span class="k3">/</span>avdmanager
<div class="highlight"><span class="number">  9</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span></div><span class="number"> 10</span>Invalid <span class="k1">or</span> unsupported command <span class="s">"update project -p . -t android-15"</span>
<span class="number"> 11</span>
<span class="number"> 12</span>Supported commands are:
<span class="number"> 13</span>android list target
<span class="number"> 14</span>android list avd
<span class="number"> 15</span>android list device
<span class="number"> 16</span>android create avd
<span class="number"> 17</span>android move avd
<span class="number"> 18</span>android <span class="k1">delete</span> avd
<span class="number"> 19</span>android list sdk
<span class="number"> 20</span>android update sdk
<span class="number"> 21</span>android<span class="k3">/</span>CMakeFiles<span class="k3">/</span>jar.dir<span class="k3">/</span>build.make:74: recipe <span class="k1">for</span> target <span class="s">'android/allegro_activity/local.properties'</span> failed
<span class="number"> 22</span>make<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k2">:</span> <span class="k3">*</span><span class="k3">*</span><span class="k3">*</span> <span class="k2">[</span>android<span class="k3">/</span>allegro_activity<span class="k3">/</span>local.properties<span class="k2">]</span> Error <span class="n">2</span>
<span class="number"> 23</span>CMakeFiles<span class="k3">/</span>Makefile2:648: recipe <span class="k1">for</span> target <span class="s">'android/CMakeFiles/jar.dir/all'</span> failed
<span class="number"> 24</span>make<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">:</span> <span class="k3">*</span><span class="k3">*</span><span class="k3">*</span> <span class="k2">[</span>android<span class="k3">/</span>CMakeFiles<span class="k3">/</span>jar.dir<span class="k3">/</span>all<span class="k2">]</span> Error <span class="n">2</span>
<span class="number"> 25</span>Makefile:127: recipe <span class="k1">for</span> target <span class="s">'all'</span> failed
<span class="number"> 26</span>make: <span class="k3">*</span><span class="k3">*</span><span class="k3">*</span> <span class="k2">[</span>all<span class="k2">]</span> Error <span class="n">2</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (amarillion)</author>
		<pubDate>Sat, 13 May 2017 23:49:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You can also use <a href="https://github.com/liballeg/android">this</a> to build Allegro apps with Android Studio. It worked for me.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Polybios)</author>
		<pubDate>Sun, 14 May 2017 01:22:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;ll give that a try. It looks like the instructions in the android readme assume older tools that are now deprecated.</p><p>edit:</p><p>Ok, I got it working! At least I have now a HelloWorld app running in a virtual android device. Thanks Elias!</p><p>I still believe it&#39;s worth updating the android README if somebody knows how to get it compiling with a more recent toolchain. Or give instructions on how to install an older toolchain. And update the wiki. I would do it myself if I knew what the correct procedure is.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (amarillion)</author>
		<pubDate>Sun, 14 May 2017 01:56:38 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The wiki is read only unfortunately.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Mon, 15 May 2017 07:05:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Who owns the wiki admin ? If it&#39;s Gideon, he asked for help on it. Or maybe Thomas ?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Tue, 16 May 2017 15:10:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>For what it&#39;s worth, if you want to compile yourself for some reason (to fix a bug!) here&#39;s a guide that works. To build for architectures other than armeabi-v7a, repeat all steps except use one of armeabi, x86, x86_64, arm64-v8a, mips, mips64 instead.</p><h1>Install JDK and Linux SDK+NDK</h1><p>

</p><ul><li><p>Download and unpack <a href="https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz">https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz</a>
</p></li><li><p>Download and unpack <a href="https://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip">https://dl.google.com/android/repository/android-ndk-r12b-linux-x86_64.zip</a>
</p></li><li><p>Download and unpack <a href="http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz">http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-linux-x64.tar.gz</a>
</p></li><li><p>set JAVA_HOME=jdk-8u102-linux-x64
</p></li><li><p>android-sdk_r24.4.1-linux/tools/android update sdk -u -a -t platform-tools
</p></li><li><p>android-sdk_r24.4.1-linux/tools/android update sdk -u -a -t build-tools-24.0.2
</p></li><li><p>android-sdk_r24.4.1-linux/tools/android update sdk -u -a -t android-24
</p></li><li><p>android-sdk_r24.4.1-linux/tools/android update sdk -u -a -t extra-android-m2repository
</p></li><li><p>python android-ndk-r12b-linux-x86_64/build/tools/make_standalone_toolchain.py --arch arm --api 15 --install-dir toolchain-<b>armeabi-v7a</b>
</p></li><li><p>set ANDROID_NDK_ROOT=android-ndk-r12b-linux-x86_64
</p></li><li><p>set ANDROID_NDK_TOOLCHAIN_ROOT=toolchain-<b>armeabi-v7a</b>
</p></li><li><p>set PKG_CONFIG_LIBDIR=toolchain-<b>armeabi-v7a</b>/lib
</p></li><li><p>set PATH=android-ndk-r12b-linux-x86_64:${PATH}
</p></li><li><p>set PATH=android-sdk_r24.4.1-linux/tools:${PATH}
</p></li><li><p>set PATH=toolchain-<b>armeabi-v7a</b>/bin:${PATH}</p></li></ul><h1>Compile Freetype</h1><p>
</p><ul><li><p>Download and unpack <a href="http://download.savannah.gnu.org/releases/freetype/freetype-2.7.tar.bz2">http://download.savannah.gnu.org/releases/freetype/freetype-2.7.tar.bz2</a>
</p></li><li><p>cd toolchain-<b>armeabi-v7a</b>/freetype-2.7
</p></li><li><p>./configure --host=arm-linux-androideabi --prefix=toolchain-<b>armeabi-v7a</b> --without-png --without-harfbuzz
</p></li><li><p>make
</p></li><li><p>make install</p></li></ul><h1>Compile Ogg</h1><p>
</p><ul><li><p>Download and unpack <a href="http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.xz">http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.xz</a>
</p></li><li><p>everything like Freetype except: ./configure --host=arm-linux-androideabi --prefix=toolchain-<b>armeabi-v7a</b></p></li></ul><h1>Compile Vorbis</h1><p>
</p><ul><li><p>Download and unpack <a href="http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz">http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz</a>
</p></li><li><p>everything like Ogg</p></li></ul><h1>Compile Allegro</h1><p>
</p><ul><li><p>mkdir build-android-<b>armeabi-v7a</b>
</p></li><li><p>cd build-android-<b>armeabi-v7a</b>
</p></li><li><p>cmake ../allegro -DCMAKE_TOOLCHAIN_FILE=../allegro/cmake/Toolchain-android.cmake -DARM_TARGETS=<b>armeabi-v7a</b> -DCMAKE_BUILD_TYPE=Release -DANDROID_TARGET=android-24 -DWANT_DEMO=off -DWANT_EXAMPLES=off -DWANT_TESTS=off -DWANT_DOCS=off -DPKG_CONFIG_EXECUTABLE=/usr/bin/pkg-config -DOGG_LIBRARY=toolchain-<b>armeabi-v7a</b>/lib/libogg.a -DOGG_INCLUDE_DIR=toolchain-<b>armeabi-v7a</b>/include -DVORBIS_LIBRARY=toolchain-<b>armeabi-v7a</b>/lib/libvorbis.a -DVORBISFILE_LIBRARY=toolchain-<b>armeabi-v7a</b>/lib/libvorbisfile.a -DVORBIS_INCLUDE_DIR=toolchain-<b>armeabi-v7a</b>/include -DSUPPORT_VORBIS=true -DFREETYPE_LIBRARY=toolchain-<b>armeabi-v7a</b>/lib/libfreetype.a -DFREETYPE_INCLUDE_DIRS=toolchain-<b>armeabi-v7a</b>/include;toolchain-<b>armeabi-v7a</b>/include/freetype2
</p></li><li><p>make
</p></li><li><p>make install
</p></li></ul></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Tue, 16 May 2017 21:32:28 +0000</pubDate>
	</item>
</rss>
