﻿<?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=%E5%88%A9%E7%94%A8%E8%80%85%3AAlexK%2FGsoc2012%2FBuilding_Blender_for_Android</id>
	<title>利用者:AlexK/Gsoc2012/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=%E5%88%A9%E7%94%A8%E8%80%85%3AAlexK%2FGsoc2012%2FBuilding_Blender_for_Android"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:AlexK/Gsoc2012/Building_Blender_for_Android&amp;action=history"/>
	<updated>2026-07-04T09:11:08Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:AlexK/Gsoc2012/Building_Blender_for_Android&amp;diff=136703&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:AlexK/Gsoc2012/Building_Blender_for_Android&amp;diff=136703&amp;oldid=prev"/>
		<updated>2018-06-28T20:49:27Z</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:49時点における版&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=%E5%88%A9%E7%94%A8%E8%80%85:AlexK/Gsoc2012/Building_Blender_for_Android&amp;diff=136702&amp;oldid=prev</id>
		<title>2012年6月1日 (金) 23:40にwiki&gt;AlexKによる</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:AlexK/Gsoc2012/Building_Blender_for_Android&amp;diff=136702&amp;oldid=prev"/>
		<updated>2012-06-01T23:40:49Z</updated>

		<summary type="html">&lt;p&gt;&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;
== 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;
* Most Android Apps uses Java, but lucky for us, we can keep to minimum.&lt;br /&gt;
* Use this to install JDK 6, Apache Ant and then Android SDK&lt;br /&gt;
* JDJ and Ant can be downloaded through distro's repository&lt;br /&gt;
* http://developer.android.com/sdk/installing.html&lt;br /&gt;
* Note, we don't need Eclipse, because Java IDE is unnessory for us.&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 version, because it is what I use and with which all libs are compiled)&lt;br /&gt;
* r7b 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;
==Compiling Blender==&lt;br /&gt;
===SVN and file system===&lt;br /&gt;
You need to check out Swiss Cheese Branch and Android Libs&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir blender-sc&lt;br /&gt;
cd blender-sc&lt;br /&gt;
svn co https://svn.blender.org/svnroot/bf-blender/branches/soc-2012-swiss_cheese soc-2012-swiss_cheese&lt;br /&gt;
svn co https://svn.blender.org/svnroot/bf-blender/trunk/lib/android lib/android &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Building Loader===&lt;br /&gt;
First, we start building the loaded with SDL&lt;br /&gt;
Go to lib/android/armv7-a_9/aghosty-sdl/&lt;br /&gt;
&lt;br /&gt;
It is easily compiled by &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;
It takes care of multiple things:&lt;br /&gt;
* Building C code&lt;br /&gt;
* Cleaning and repackaging Java and apk &lt;br /&gt;
* Installing on the device&lt;br /&gt;
&lt;br /&gt;
It is barebones that provides SDL interface, dynamic loader, and &amp;quot;nucleusbridge&amp;quot;&lt;br /&gt;
&amp;quot;nucleusbridge&amp;quot; is used for executing makesdna/rna on device.&lt;br /&gt;
Therefore, a device (or emulator will do) must connected&lt;br /&gt;
&lt;br /&gt;
Due to system constrains, everything is loaded dynamically. If library isn't found, BlenderPlayer app will simply exit.&lt;br /&gt;
First you need to install Python internals (latter will be bundled together):&lt;br /&gt;
 http://code.google.com/p/python-for-android/downloads/list Python3ForAndroid_r6.apk&lt;br /&gt;
Otherwise, program will crash.&lt;br /&gt;
&lt;br /&gt;
Then place all libs on device by executing from aghosty-sdl&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
./pushlibs.sh&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then open the app on your device and run following on the computer.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
adb logcat&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
It should show how program is loading, and which lib have been loaded and which aren't found.&lt;br /&gt;
&lt;br /&gt;
===Building 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;
When it successively compiled, push it to device&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
adb push /lib/libblender.so /data/data/org.blender.app/libblender.so&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Push a Blend file to /sdcard/test.blend&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
adb push /path/to/file/for/render.blend /sdcard/test.blend&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
And run your app.&lt;br /&gt;
You can use:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
adb logcat&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
adb shell&lt;br /&gt;
cat /sdcard/out.txt&lt;br /&gt;
cat /sdcard/err.txt&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>