NDK app을 system/app or system/priv-app 에 추가하여 system app으로 구동시킬 때
예상과 달리 LoadLibrary에 실패하였다.
테스트 해보진 않았으나, so file을 따로 미리정해진 path인 nativeLibraryDirectories 경로에 위치시켜야 하는 것으로 보인다.
/system/priv-app/NDKSample/lib/arm
/system/lib
/vendor/lib
/system/lib
/vendor/lib
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/system/priv-app/NDKSample/NDKSample.apk"],nativeLibraryDirectories=[/system/priv-app/NDKSample/lib/arm, /system/lib, /vendor/lib, /system/lib, /vendor/lib]]] couldn't find "libnative-lib.so"
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: at java.lang.Runtime.loadLibrary0(Runtime.java:1011)
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: at java.lang.System.loadLibrary(System.java:1657)
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: at simplendk.android.com.ndksample.MainActivity.<clinit>(MainActivity.java:17)
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: at java.lang.Class.newInstance(Native Method)
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: at android.app.Instrumentation.newActivity(Instrumentation.java:1173)
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2708)
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: at android.app.ActivityThread.-wrap11(Unknown Source:0)
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: at android.os.Handler.dispatchMessage(Handler.java:105)
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: at android.os.Looper.loop(Looper.java:164)
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: at android.app.ActivityThread.main(ActivityThread.java:6541)
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: at java.lang.reflect.Method.invoke(Native Method)
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
06-18 18:16:48.708 6826 7451 D TchAnalyticsSvc: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
06-18 18:16:48.783 3778 5349 I ActivityManager: Process simplendk.android.com.ndksample (pid 7427) has died: vis +99TOP
해당 topic으로 구글링해보니 유사한 언급을 하는 것으로 보인다.
https://groups.google.com/forum/#!topic/android-ndk/X1mRZwBxZLc
The .so's for apps placed in /system/app by the rom author or
update.zip should be included in /system/lib by the rom author or
update.zip
'android' 카테고리의 다른 글
[NDK] so 포함한 apk가 so loading 실패 (3) (0) | 2018.06.19 |
---|---|
[NDK] so 포함한 apk가 so loading 실패 (2) (0) | 2018.06.19 |
android sdk build tool update 방법 (0) | 2018.06.18 |
platform build with app including gradle. (0) | 2018.06.18 |
apk name 변경하기 (0) | 2018.06.18 |