我在这里被困了一个星期,试图将第 3 方 .so 库与我的应用程序一起构建到自定义 Android 系统中。我关注了http://www.maxters.net/2012/05/adding-prebuilt-shared-library-to-android-build-system/并成功地将 .so lib 作为预建共享库添加到 Android 构建系统。现在我可以在 ../out/target/product/crespo4g/obj/lib/ 看到 .so lib。
但是这个目录中的库在刷机时不会被迁移到设备上。我的 .so lib 也没有出现在 /data/data/my_app_name/lib 中。所以UnsatisfiedLinkError在执行System.loadLibrary()时发生。
我认为有三种方法可以解决这个问题,但就是不知道如何实现:
- 也许我的应用程序未能向编译器表明我的 .so 与我的应用程序一起作为一个整体,因此 .so 库没有与我的应用程序一起编译到系统映像中。但我确实通过“LOCAL_STATIC_LIBRARIES := libXX”声明,有什么问题吗?
- 有没有办法将我的 .so lib 构建到 /system/lib/ 中?/system/lib/下的so库是从哪里派生的?
我是Android构建的新手,请帮助..
谢谢!