From 608c89d6921451c75730e557bae752bf64c8b47f Mon Sep 17 00:00:00 2001 From: Sergii Pylypenko Date: Mon, 6 Jun 2016 16:26:09 +0300 Subject: [PATCH] SDL: copy assets from AndroidData recursively, this allows app to put it's data dir into .apk file and use libzzip or libphysfs to read it from getenv("ANDROID_MY_OWN_APP_FILE") --- copyAssets.sh | 6 +++--- project/java/Settings.java | 6 ++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/copyAssets.sh b/copyAssets.sh index 9419c67e7..80412243d 100755 --- a/copyAssets.sh +++ b/copyAssets.sh @@ -2,10 +2,10 @@ echo "Copying app data files from project/jni/application/src/AndroidData to project/assets" mkdir -p project/assets -rm -f project/assets/* +rm -f -r project/assets/* if [ -d "project/jni/application/src/AndroidData" ] ; then - cp -L project/jni/application/src/AndroidData/* project/assets/ - exit 0 + cp -L -r project/jni/application/src/AndroidData/* project/assets/ + exit 0 # Do not split assets, this was needed only for Andorid 2.3 with it's stupid limitations for F in project/assets/*; do if [ `cat $F | wc -c` -gt 1000000 ] ; then echo "The file $F is bigger than 1 megabyte - splitting it into smaller chunks" diff --git a/project/java/Settings.java b/project/java/Settings.java index 5a9d2c1a4..99ae3a77d 100644 --- a/project/java/Settings.java +++ b/project/java/Settings.java @@ -634,15 +634,13 @@ class Settings nativeSetEnv( "SDCARD_MOVIES", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES).getAbsolutePath() ); nativeSetEnv( "SDCARD_DCIM", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM).getAbsolutePath() ); nativeSetEnv( "SDCARD_MUSIC", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).getAbsolutePath() ); - nativeSetEnv( "SDCARD_MUSIC", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC).getAbsolutePath() ); nativeSetEnv( "ANDROID_VERSION", String.valueOf(android.os.Build.VERSION.SDK_INT) ); nativeSetEnv( "ANDROID_PACKAGE_NAME", p.getPackageName() ); - nativeSetEnv( "ANDROID_MY_OWN_APP_FILE", p.getPackageResourcePath() ); + nativeSetEnv( "ANDROID_PACKAGE_PATH", p.getPackageCodePath() ); + nativeSetEnv( "ANDROID_MY_OWN_APP_FILE", p.getPackageResourcePath() ); // This may be different from p.getPackageCodePath() on multi-user systems, but should still be the same .apk file try { nativeSetEnv( "ANDROID_APP_NAME", p.getString(p.getApplicationInfo().labelRes) ); } catch (Exception eeeeee) {} - if( Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO ) - nativeSetEnv( "ANDROID_PACKAGE_PATH", p.getPackageCodePath() ); Log.d("SDL", "libSDL: Is running on OUYA: " + p.isRunningOnOUYA()); if( p.isRunningOnOUYA() ) {