SDL: copy executable binaries to lib dir in apk, according to https://issuetracker.google.com/issues/128554619
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
android:allowBackup="true"
|
||||
android:banner="@drawable/banner"
|
||||
android:isGame="true"
|
||||
android:extractNativeLibs="true"
|
||||
>
|
||||
<activity android:name=".MainActivity"
|
||||
android:label="@string/app_name"
|
||||
|
||||
@@ -645,6 +645,7 @@ public class Settings
|
||||
// TODO: get current user name and set envvar USER, the API is not availalbe on Android 1.6 so I don't bother with this
|
||||
nativeSetEnv( "APPDIR", p.getFilesDir().getAbsolutePath() );
|
||||
nativeSetEnv( "SECURE_STORAGE_DIR", p.getFilesDir().getAbsolutePath() );
|
||||
nativeSetEnv( "LIBDIR", p.getApplicationInfo().nativeLibraryDir );
|
||||
nativeSetEnv( "DATADIR", Globals.DataDir );
|
||||
nativeSetEnv( "UNSECURE_STORAGE_DIR", Globals.DataDir );
|
||||
SdcardAppPath.get().setEnv(p);
|
||||
|
||||
@@ -78,8 +78,7 @@ rm -rf $CURDIR/tmp-$1
|
||||
mkdir -p $CURDIR/tmp-$1
|
||||
cd $CURDIR/tmp-$1
|
||||
cp -f $CURDIR/xserver/data/busybox-$1 ./busybox
|
||||
mkdir -p usr/bin
|
||||
for f in xhost xkbcomp xloadimage xsel; do cp -f $CURDIR/xserver/android/$1/$f ./usr/bin/$f ; done
|
||||
for f in xhost xkbcomp xloadimage xsel; do cp -f $CURDIR/xserver/android/$1/$f ./$f ; done
|
||||
# Statically-linked prebuilt executables, generated using Debian chroot.
|
||||
|
||||
if false; then # Disable PulseAudio for now
|
||||
@@ -97,6 +96,8 @@ cp -f $CURDIR/pulseaudio/android-pulseaudio.conf pulse/pulseaudio.conf
|
||||
fi # Disable PulseAudio for now
|
||||
|
||||
rm -f ../AndroidData/binaries-$1.zip
|
||||
zip -r ../AndroidData/binaries-$1.zip .
|
||||
rm -rf ../AndroidData/lib
|
||||
mkdir -p ../AndroidData/lib/$1
|
||||
cp -a . ../AndroidData/lib/$1
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -280,8 +280,36 @@ static void * unpackFilesThread(void * unused)
|
||||
return (void *)1;
|
||||
}
|
||||
|
||||
static void symlinkBusybox(void)
|
||||
{
|
||||
char fname[PATH_MAX*2];
|
||||
char fname2[PATH_MAX];
|
||||
|
||||
sprintf(fname, "%s/busybox", getenv("APPDIR"));
|
||||
sprintf(fname2, "%s/busybox", getenv("LIBDIR"));
|
||||
remove(fname);
|
||||
symlink(fname2, fname);
|
||||
__android_log_print(ANDROID_LOG_INFO, "XSDL", "ln -s %s %s", fname2, fname);
|
||||
|
||||
strcpy( fname, getenv("APPDIR") );
|
||||
strcat( fname, "/busybox" );
|
||||
strcat( fname, " rm -rf " );
|
||||
strcat( fname, getenv("APPDIR") );
|
||||
strcat( fname, "/usr/bin" );
|
||||
|
||||
__android_log_print(ANDROID_LOG_INFO, "XSDL", "%s", fname);
|
||||
|
||||
system( fname );
|
||||
|
||||
sprintf(fname, "%s/usr/bin", getenv("APPDIR"));
|
||||
symlink(getenv("LIBDIR"), fname);
|
||||
__android_log_print(ANDROID_LOG_INFO, "XSDL", "ln -s %s %s", getenv("LIBDIR"), fname);
|
||||
}
|
||||
|
||||
void XSDL_unpackFiles(int _freeSpaceRequiredMb)
|
||||
{
|
||||
symlinkBusybox();
|
||||
|
||||
pthread_t thread_id;
|
||||
void * status;
|
||||
memset(unpackLog, 0, sizeof(unpackLog));
|
||||
|
||||
Reference in New Issue
Block a user