[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47798] trunk/lib/android/armv7-a_9/ aghosty-sdl: Adding support for android:
Alexander Kuznetsov
kuzsasha at gmail.com
Tue Jun 12 22:02:00 CEST 2012
Revision: 47798
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47798
Author: alexk
Date: 2012-06-12 20:01:54 +0000 (Tue, 12 Jun 2012)
Log Message:
-----------
Adding support for android:
* For not rooted phones/tablets
** Libs are copied to /sdcard/nucleusbridge/lib/ and from there they are copied to App directory by application itself
* Solve rotation issue
* Independent Screen Size
Modified Paths:
--------------
trunk/lib/android/armv7-a_9/aghosty-sdl/AndroidManifest.xml
trunk/lib/android/armv7-a_9/aghosty-sdl/createnb.txt
trunk/lib/android/armv7-a_9/aghosty-sdl/deploy.sh
trunk/lib/android/armv7-a_9/aghosty-sdl/jni/src/main.c
trunk/lib/android/armv7-a_9/aghosty-sdl/pushlibs.sh
trunk/lib/android/armv7-a_9/aghosty-sdl/updateblender.sh
Modified: trunk/lib/android/armv7-a_9/aghosty-sdl/AndroidManifest.xml
===================================================================
--- trunk/lib/android/armv7-a_9/aghosty-sdl/AndroidManifest.xml 2012-06-12 19:37:30 UTC (rev 47797)
+++ trunk/lib/android/armv7-a_9/aghosty-sdl/AndroidManifest.xml 2012-06-12 20:01:54 UTC (rev 47798)
@@ -3,9 +3,13 @@
package="org.blender.app"
android:versionCode="1"
android:versionName="1.0">
- <application android:label="@string/app_name" android:icon="@drawable/icon">
+ <application android:label="@string/app_name" android:icon="@drawable/icon"
+ android:debuggable="true">
<activity android:name="SDLActivity"
- android:label="@string/app_name">
+ android:label="@string/app_name"
+ android:configChanges="orientation"
+ android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
+ >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
@@ -14,4 +18,7 @@
</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+ <supports-screens android:resizeable="true"
+ android:largeScreens="true" android:normalScreens="true"
+ android:anyDensity="true"></supports-screens>
</manifest>
Modified: trunk/lib/android/armv7-a_9/aghosty-sdl/createnb.txt
===================================================================
--- trunk/lib/android/armv7-a_9/aghosty-sdl/createnb.txt 2012-06-12 19:37:30 UTC (rev 47797)
+++ trunk/lib/android/armv7-a_9/aghosty-sdl/createnb.txt 2012-06-12 20:01:54 UTC (rev 47798)
@@ -3,5 +3,5 @@
cd nucleusbridge
mkdir dna
mkdir rna
-
+mkdir lib
exit
Modified: trunk/lib/android/armv7-a_9/aghosty-sdl/deploy.sh
===================================================================
--- trunk/lib/android/armv7-a_9/aghosty-sdl/deploy.sh 2012-06-12 19:37:30 UTC (rev 47797)
+++ trunk/lib/android/armv7-a_9/aghosty-sdl/deploy.sh 2012-06-12 20:01:54 UTC (rev 47798)
@@ -5,4 +5,4 @@
fi
ant clean
ant debug install
-adb shell am start -a android.intent.action.MAIN -n org.blender.app/android.app.NativeActivity
\ No newline at end of file
+adb shell am start -a android.intent.action.MAIN -n org.blender.app/.SDLActivity
\ No newline at end of file
Modified: trunk/lib/android/armv7-a_9/aghosty-sdl/jni/src/main.c
===================================================================
--- trunk/lib/android/armv7-a_9/aghosty-sdl/jni/src/main.c 2012-06-12 19:37:30 UTC (rev 47797)
+++ trunk/lib/android/armv7-a_9/aghosty-sdl/jni/src/main.c 2012-06-12 20:01:54 UTC (rev 47798)
@@ -44,6 +44,8 @@
#include <dlfcn.h>
+#include <dirent.h>
+
//#include <jconfig.h>
//#include <jpeglib.h>
@@ -85,10 +87,10 @@
}
fclose(fsrc);
- } else r=3;
+ } else r=0;
fclose(fsrc);
- } else r=4;
+ } else r=0;
printd("%s %s %i",src,dst,r);
@@ -99,6 +101,9 @@
const char * libstatic = "/data/data/org.blender.app/lib/lib";
const char * libsdcard = "/sdcard/nucleusbridge/lib";
+const char * libloadeddir = "/data/data/org.blender.app/";
+const char * libsdcarddir = "/sdcard/nucleusbridge/lib/";
+
static char * getpathlib(const char * base, const char * suffix, int version, int mustexist)
{
size_t basesize = strlen(base);
@@ -129,6 +134,57 @@
return path;
}
+static char * mergepath(const char * base, const char * suffix)
+{
+ size_t basesize = strlen(base);
+ size_t suffixsize = strlen(suffix);
+
+ char * path = malloc(basesize+suffixsize+2);
+
+ memcpy(path, base, basesize);
+ memcpy(path+basesize, suffix, suffixsize+1);
+ return path;
+}
+
+
+
+
+static void loadallfiles(const char * dirfrom, const char *dirto)
+{
+
+ DIR * dir;
+ struct dirent *fileobj;
+ if(!(dir = opendir(dirfrom)))
+ {
+ printf("No %s folder\n", dirfrom);
+ return;
+ }
+
+ while((fileobj=readdir(dir)))
+ {
+ char *filefrom, *fileto;
+ struct stat filestat;
+ if(fileobj->d_name[0] == '.')
+ continue;
+
+ filefrom = mergepath(dirfrom, fileobj->d_name);
+ fileto = mergepath(dirto, fileobj->d_name);
+ copyfile(filefrom, fileto);
+ printf("%s -> %s\n", filefrom, fileto);
+
+ remove(filefrom);
+
+ free(filefrom);
+ free(fileto);
+
+ }
+
+
+
+ closedir(dir);
+}
+
+
void * loadownlib(const char * libname, int version)
{
@@ -210,7 +266,7 @@
printf("%i\n", mainfunc(argc,argv));
return 1;
}
-
+ exit(0);
return 0;
}
@@ -253,14 +309,14 @@
LOGW("%p",boo);
boo();
LOGW("%p",boo());*/
-
+//sleep(10);
freopen("/sdcard/out.txt","w",stdout);
freopen("/sdcard/err.txt","w",stderr);
- SDL_SetVideoMode(640, 480, 16, SDL_DOUBLEBUF|SDL_FULLSCREEN);
- glClearColor(1.0f, 1.0f, 0.0f, 0.5f);
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+ //SDL_SetVideoMode(640, 480, 16, SDL_DOUBLEBUF|SDL_FULLSCREEN);
+ // glClearColor(1.0f, 1.0f, 0.0f, 0.5f);
+ //glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//SwapBuffers();
- SDL_GL_SwapBuffers();
+ // SDL_GL_SwapBuffers();
// loadownlib("jpen", 8);
if(taskfile = fopen("/sdcard/nucleusbridge/task.txt","r"))
{
@@ -332,6 +388,9 @@
fclose(taskfile);
} else LOGW("Couldn't open file");
+
+
+ loadallfiles(libsdcarddir, libloadeddir);
loadownlib("jpeg", 8);
loadownlib("freetype", 6);
@@ -354,9 +413,9 @@
int i;
void *blendlibh;
//char *cmd[] = {"blender","-h"};
- char *cmd[] = {"blender", "-b", "/sdcard/test.blend", "-o", "//render_", "-F" ,"JPEG", "-x" ,"1" ,"-f" ,"1"};
- blendlibh = loadownlib("blender",0);
- startlibmainfunc(blendlibh,11,cmd);
+ char *cmd[] = {"blenderplayer" , "/sdcard/test.blend"};//, "/sdcard/test.blend", "-o", "//render_", "-F" ,"JPEG", "-x" ,"1" ,"-f" ,"1"};//"-b",
+ blendlibh = loadownlib("blenderplayer",0);
+ startlibmainfunc(blendlibh,2,cmd);//11
@@ -364,7 +423,7 @@
}
- exit(34);
+ exit(0);
}
//END_INCLUDE(all)
Modified: trunk/lib/android/armv7-a_9/aghosty-sdl/pushlibs.sh
===================================================================
--- trunk/lib/android/armv7-a_9/aghosty-sdl/pushlibs.sh 2012-06-12 19:37:30 UTC (rev 47797)
+++ trunk/lib/android/armv7-a_9/aghosty-sdl/pushlibs.sh 2012-06-12 20:01:54 UTC (rev 47798)
@@ -1,8 +1,10 @@
-adb push ../jpeg/lib/libjpeg.so /data/data/org.blender.app/libjpeg.so.8
-adb push ../png/lib/libpng15.so.15.9.0 /data/data/org.blender.app/libpng15.so.15
-adb push ../freetype/lib/libfreetype.so.6 /data/data/org.blender.app/libfreetype.so.6
-adb push ../zlib/lib/libz.so.1 /data/data/org.blender.app/libz.so.1
-adb push ../python/lib/libpython3.2m.so.1.0 /data/data/org.blender.app/libpython3.2m.so.1.0
-#adb push /home/alex/android/lib/libGL.so /data/data/org.blender.app/libGL.so
-adb push ../fakeGL/libGLarm.so /data/data/org.blender.app/libGLarm.so
-adb push ../fakeGL/libGLUarm.so /data/data/org.blender.app/libGLUarm.so
+adb shell < createnb.txt
+adb push ../jpeg/lib/libjpeg.so /sdcard/nucleusbridge/lib/libjpeg.so.8
+adb push ../png/lib/libpng15.so.15.9.0 /sdcard/nucleusbridge/lib/libpng15.so.15
+adb push ../freetype/lib/libfreetype.so.6 /sdcard/nucleusbridge/lib/libfreetype.so.6
+adb push ../zlib/lib/libz.so.1 /sdcard/nucleusbridge/lib/libz.so.1
+adb push ../python/lib/libpython3.2m.so.1.0 /sdcard/nucleusbridge/lib/libpython3.2m.so.1.0
+#adb push /home/alex/android/lib/libGL.so /sdcard/nucleusbridge/lib/libGL.so
+adb push ../fakeGL/libGLarm.so /sdcard/nucleusbridge/lib/libGLarm.so
+adb push ../fakeGL/libGLUarm.so /sdcard/nucleusbridge/lib/libGLUarm.so
+adb shell am start -a android.intent.action.MAIN -n org.blender.app/.SDLActivity
\ No newline at end of file
Modified: trunk/lib/android/armv7-a_9/aghosty-sdl/updateblender.sh
===================================================================
--- trunk/lib/android/armv7-a_9/aghosty-sdl/updateblender.sh 2012-06-12 19:37:30 UTC (rev 47797)
+++ trunk/lib/android/armv7-a_9/aghosty-sdl/updateblender.sh 2012-06-12 20:01:54 UTC (rev 47798)
@@ -1 +1,3 @@
-adb push /home/alex/blender-small/build/android5/lib/libblender.so /data/data/org.libsdl.app/files/libblender.so
\ No newline at end of file
+adb shell < createnb.txt
+adb push lib/libblenderplayer.so /sdcard/nucleusbridge/lib/libblenderplayer.so
+adb shell am start -a android.intent.action.MAIN -n org.blender.app/.SDLActivity
\ No newline at end of file
More information about the Bf-blender-cvs
mailing list