コンパイル/リンク段階で Android-NDK を使用してバイナリを (クロス) コンパイルしましたが、エラーは発生しませんでした。アプリケーションは静的にリンクされています。
Nesux7 エミュレーターを使用して実行します。
$ adb shell mount -o remount,rw /system
$ adb push myApp /system/bin
$ adb shell /system/bin/myApp
「OK」で動作し、正しい出力を出力します。
次に、最終的な apk を作成し、実際の電話にインストールします。実行に失敗します。アプリのデバッグ:
$ adb shell
$ run-as com.blablabla.myapp
$ cd /data/data/com.blablabla.myapp/files/bin
$ ./myApp
次のエラーが発生します:
reloc_library[1306]: 21538 cannot locate 'log2'...
CANNOT LINK EXECUTABLE
別の投稿 ( NDK: libm static linking ) で、誰かが libm.a と libm.so の違いについて不平を言っていますが、とにかく、私のエミュレーターで動作するので、コンパイルは「まあまあ」だと思います。
私はこの時点で完全に立ち往生しています。何か案が?