本文主要是介绍内置带so的APK为系统APK方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
(1)若内置为可卸载的APK,可以无需解压出lib直接编译就可以
具体参考http://blog.csdn.net/a462533587/article/details/46380795
(2)若内置为system APP,上述blog也有两种方式:
方法一:
如下例,在Android.mk中添加并配置变量(注意路径对应):
LOCAL_PREBUILT_JNI_LIBS = \
@lib/armeabi-v7a/libcryptox.so \
@lib/armeabi-v7a/libfb.so
- 1
- 2
- 3
- 1
- 2
- 3
注意前面的 @
符号,@标识符会将apk中的so抽离出来,拷贝到对应编译后的apk目录;
/build/core/install_jni_libs_internal.mk
78ifdef my_prebuilt_jni_libs
79# Files like @lib/<abi>/libfoo.so (path inside the apk) are JNI libs embedded prebuilt apk;
80# Files like path/to/libfoo.so (path relative to LOCAL_PATH) are prebuilts in the source tree.
81my_embedded_prebuilt_jni_libs := $(patsubst @%,%, \
82 $(filter @%, $(my_prebuilt_jni_libs)))
此处有对@lib的使用说明
方法二:解压出so
LOCAL_PREBUILT_JNI_LIBS = \
lib/armeabi-v7a/lib
这篇关于内置带so的APK为系统APK方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!