前面说过集成第三方APK的办法,如果在第三方APK里用到了第三方的库文件,需要复制到system/lib目录下才行的,但是如果是集成到Android源码树里了,编译系统是不会默认把库文件复制到system/lib目录下的。安装的方式是会的。因此需要做些处理,Android源码树本身有这些功能,下面简单说一下。
PS:本来不想写,最近记忆力超强,过目不忘,而且想忘都忘不了。
1:集成so库文件的办法。
在 apk源码根目录(是你应用的根目录)新建libs/armeabi目录,然后把so文件复制到libs/armeabi目录,然后在Android.mk的后面增加如下代码:
##################################################
include $(CLEAR_VARS)
LOCAL_PREBUILT_LIBS :=libserialportnblock:libs/armeabi/lib*.so
LOCAL_MODULE_TAGS := optional
include $(BUILD_MULTI_PREBUILT)
这样就为默认把lib*.so复制到system/lib目录下了.
2:集成jar文件
把需要集成的jar文件复制到应用的libs目录下,假设我们的jar文件名为test.jar,然后在Android.mk里增加如下语句:
#################################################
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libtest:libs/test.jar
include $(BUILD_MULTI_PREBUILT)
3:如果同时有集成jar,so文件,那么我们增加的Android.mk文件内容如下:
##################################################
include $(CLEAR_VARS)
LOCAL_PREBUILT_LIBS :=libserialportnblock:libs/armeabi/lib*.so
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libtest:libs/test.jar
LOCAL_MODULE_TAGS := optional
include $(BUILD_MULTI_PREBUILT)