Package Android Apk With Additional Executables
Solution 1:
There is an easy way to package an executable into an APK, and let the system installer take care of unpacking this executable, see How to package native commandline application in apk?.
The trick (tested up to Jelly Bean 4.3) is to name the file "libmyexecutable.so" and put it into libs/armeabi
of your Android project (I assume an ADT or ant build). The Package Manager will unpack the file to /data/data/your.package.full.name/lib
(it's a symbolic link, for backwards compatibility reasons, so maybe in some future version of Android this will not work anymore) on the device, with executable permissions.
Note that the file has all
read-and-execute permissions, so you can use Runtime.getRuntime().exec() or system() from other apps, too.
Update:
These days, you should use libs/armeabi-v7a
for 32 -bit ARM executables, and you probably need to prepare 64-bit ARM version of the same executables, too.
Solution 2:
You can put it into assets and copy it to the app's private directory on first run. After you set the executable bit, you should be able to run it.
Post a Comment for "Package Android Apk With Additional Executables"