﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Doc%3A2.6%2FManual%2FGame_Engine%2FAndroid%2FBuilding_Blender_for_Android</id>
	<title>Doc:2.6/Manual/Game Engine/Android/Building Blender for Android - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Doc%3A2.6%2FManual%2FGame_Engine%2FAndroid%2FBuilding_Blender_for_Android"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Doc:2.6/Manual/Game_Engine/Android/Building_Blender_for_Android&amp;action=history"/>
	<updated>2026-04-26T00:26:46Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Doc:2.6/Manual/Game_Engine/Android/Building_Blender_for_Android&amp;diff=137999&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Doc:2.6/Manual/Game_Engine/Android/Building_Blender_for_Android&amp;diff=137999&amp;oldid=prev"/>
		<updated>2018-06-28T20:50:36Z</updated>

		<summary type="html">&lt;p&gt;1版 をインポートしました&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2018年6月28日 (木) 20:50時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Yamyam</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Doc:2.6/Manual/Game_Engine/Android/Building_Blender_for_Android&amp;diff=137998&amp;oldid=prev</id>
		<title>wiki&gt;AlexK: Created page with &quot;= Building Blender for Android =  == Structure == Because Android uses Java primarily, Blender building is much harder and requires multiple steps. * Build Android App * Build Bl...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Doc:2.6/Manual/Game_Engine/Android/Building_Blender_for_Android&amp;diff=137998&amp;oldid=prev"/>
		<updated>2012-08-30T16:45:17Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Building Blender for Android =  == Structure == Because Android uses Java primarily, Blender building is much harder and requires multiple steps. * Build Android App * Build Bl...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Building Blender for Android =&lt;br /&gt;
&lt;br /&gt;
== Structure ==&lt;br /&gt;
Because Android uses Java primarily, Blender building is much harder and requires multiple steps.&lt;br /&gt;
* Build Android App&lt;br /&gt;
* Build Blender&lt;br /&gt;
** This will use Android App to run makesdna and makesrna and copy results back&lt;br /&gt;
* Two options&lt;br /&gt;
** Push libs and executable with a script to Android App&lt;br /&gt;
** Create installfile.zip and recompile Android App so it can be easily used for distribution&lt;br /&gt;
*** Sign for release&lt;br /&gt;
&lt;br /&gt;
== Preparation ==&lt;br /&gt;
Currently Android can be build on linux and probably on Mac (isn't tested). There won't be Windows support in near future because we should use gcc-like compile, and it will be troublesome to support Windows environment (paths, scripts). Also, you have to have real Android 2.2 or higher device, in order to compile and test Blender as emulator doesn't support OpenGL ES 2.0.&lt;br /&gt;
Beware that Android port is a work in progress:&lt;br /&gt;
a. There is no graphic output yet.&lt;br /&gt;
b. Build system might be broken, but I will try to make sure that it is compilable every Friday&lt;br /&gt;
&lt;br /&gt;
=== Installing Android SDK and JDK ===&lt;br /&gt;
* Use this to install Eclipse (or JDK 6, Apache Ant) and then Android SDK&lt;br /&gt;
* Everything except SDK can be downloaded through distro's repository&lt;br /&gt;
* http://developer.android.com/sdk/installing.html&lt;br /&gt;
* You need :&amp;quot;apt-get install ia32-libs&amp;quot; if linux is x64&lt;br /&gt;
* Add following paths to PATH&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;&amp;lt;Path to Android SDK&amp;gt;&amp;gt;/android-sdk-linux/tools/&lt;br /&gt;
&amp;lt;&amp;lt;Path to Android SDK&amp;gt;&amp;gt;/android-sdk-linux/platform-tools/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Follow this guid to connect real Android device&lt;br /&gt;
** http://developer.android.com/guide/developing/device.html&lt;br /&gt;
* Skip step 1&lt;br /&gt;
* Skip step 3 if you are on Mac&lt;br /&gt;
&lt;br /&gt;
* Run &amp;quot;android&amp;quot; command from &amp;lt;&amp;lt;Path to Android SDK&amp;gt;&amp;gt;/android-sdk-linux/tools/&lt;br /&gt;
** Install SDK 13&lt;br /&gt;
** SDK 10&lt;br /&gt;
&lt;br /&gt;
* To test if it is succesfully set up, run&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
adb devices&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installing Android NDK ===&lt;br /&gt;
Install NDK (I recommend r7b or r8 version, because it is what I use and with which all libs are compiled and r8a fails on some devices)&lt;br /&gt;
* r7b linux: http://dl.google.com/android/ndk/android-ndk-r7b-linux-x86.tar.bz2&lt;br /&gt;
* r8 linux: http://dl.google.com/android/ndk/android-ndk-r7b-linux-x86.tar.bz2&lt;br /&gt;
* new: http://developer.android.com/sdk/ndk/index.html&lt;br /&gt;
&lt;br /&gt;
Also add it to PATH&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;&amp;lt;Path to Android NDK&amp;gt;&amp;gt;/android-ndk-r7b&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Now create standalong toolchain&lt;br /&gt;
** Remember its path&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;&amp;lt;Path to Android NDK&amp;gt;&amp;gt;/android-ndk-r7b/build/tools/make-standalone-toolchain.sh --platform=android-9 --install-dir=/__absolute_path__/androidtc&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* For lib compilations I used android-9&lt;br /&gt;
&lt;br /&gt;
=== Making First Android App ===&lt;br /&gt;
Go to&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source/android/app&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Connect your device.&lt;br /&gt;
And then in terminal run&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./deploy.sh&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
This script should compile small C and Java source. Created app will be send to device. &lt;br /&gt;
&lt;br /&gt;
Now, restart the device to avoid problems in next step.&lt;br /&gt;
&lt;br /&gt;
=== Compiling Blender ===&lt;br /&gt;
Create a folder on the same level as soc-2012-swiss_cheese and lib. For example &amp;quot;abuild&amp;quot;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir abuild&lt;br /&gt;
cd abuild&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Generate Cmake file in build folder&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cmake -DCMAKE_TOOLCHAIN_FILE=../soc-2012-swiss_cheese/build_files/cmake/config/blender_android.cmake  ../soc-2012-swiss_cheese -DTOOLCHAIN_PATH=/&amp;lt;&amp;lt;your_toolchain_path&amp;gt;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
now run make&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you have &lt;br /&gt;
libblenderplayer.so inside abuild/lib&lt;br /&gt;
&lt;br /&gt;
=== Deploying to Device ===&lt;br /&gt;
==== Method I ====&lt;br /&gt;
This is method is used for deployment&lt;br /&gt;
===== Create internalfiles.zip for Android App=====&lt;br /&gt;
It must contain:&lt;br /&gt;
&lt;br /&gt;
*libblenderplayer.so&lt;br /&gt;
*libfreetype.so.6&lt;br /&gt;
*libGLarm.so&lt;br /&gt;
*libGLUarm.so&lt;br /&gt;
*libjpeg.so.8&lt;br /&gt;
*libpng15.so.15&lt;br /&gt;
*libpython3.2m.so.1.0&lt;br /&gt;
*libz.so.1&lt;br /&gt;
*python&lt;br /&gt;
**include&lt;br /&gt;
**lib&lt;br /&gt;
**scripts&lt;br /&gt;
&lt;br /&gt;
Here is template without libblenderplayer.so http://download.blender.org/ftp/incoming/android_template_08_20_12_internalfiles.zip. Add freshly compiled libblenderplayer.so and place as source/app/assets/internalfiles.zip&lt;br /&gt;
&lt;br /&gt;
Caution, libblenderplayer.so, libfreetype.so.6 etc must me in root dir inside internalfiles.zip&lt;br /&gt;
&lt;br /&gt;
Recompile Android App&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./deploy.sh&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
internalfiles.zip is unzipped by Android App during first start up to insternal directory (/data/data/org.blender.play/). If you have rooted device, you can &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
adb shell&lt;br /&gt;
cd /data/data/org.blender.play/&lt;br /&gt;
ls&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
To see internal files&lt;br /&gt;
&lt;br /&gt;
==== Method II ====&lt;br /&gt;
This is method for fast updating some files.&lt;br /&gt;
Internal app file structure corresponds to internalfiles.zip&lt;br /&gt;
You can directly &amp;quot;adb push&amp;quot; files from desktop to /data/data/org.blender.play/ if you device is root.&lt;br /&gt;
Or you can use &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
adb push desktop.file /sdcard/temp.file&lt;br /&gt;
adb shell am start -n porg.blender.play/.CoyIntern --es from /sdcard/temp.file  --es to device.file&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Notes===&lt;br /&gt;
If something failed, irc me. Probably I already had that problem and forgot to mention here.&lt;br /&gt;
ndk-gdb is very poor because it goes through all java hoops and don't have a source and good backtrace.&lt;br /&gt;
The build system is not optimized. You can improve performance by adding C flags inside cmake: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
-march=armv7-a -mfloat-abi=softfp -mthumb&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>wiki&gt;AlexK</name></author>
		
	</entry>
</feed>