SDL: copy executable binaries to lib dir in apk, according to https://issuetracker.google.com/issues/128554619

This commit is contained in:
Sergii Pylypenko
2019-10-15 17:57:55 +03:00
parent 01dc04fe17
commit 7c88857742
6 changed files with 50 additions and 15 deletions

View File

@@ -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

View File

@@ -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));