android 原生工程中集成第三方so动态库和.a静态库和apk
2017-09-09 16:20
561 查看
在android实际的开发过程中,经过需要使用到第三方的资源,第三方提供的资源包括apk文件,so动态库文件,.a的静态库文件。
而第三方提供的这些资源,经常需要集成到Android的原生工程中。
集成so动态库,Android.mk文件书写如下:
上面集成so动态库有个弊端,就是最终生成的so为:libexample.so.so,更好的方式是下面的,编译生成的就是libexample.so:
集成.a静态库,Android.mk文件书写如下:
动态库默认编译输出/system/lib目录下。
动态库链接时,在Android.mk中添加:
LOCAL_SHARED_LIBRARIES := libexample.so
静态库调用,在Android.mk中添加:
LOCAL_STATIC_LIBRARIES := libexample.a
集成第三方apk,且apk中有jni的so,Android.mk书写如下:
上面Android.mk的例子在实际Android的项目中,可以正常使用。
而第三方提供的这些资源,经常需要集成到Android的原生工程中。
集成so动态库,Android.mk文件书写如下:
#build lib so LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES := libexample.so LOCAL_MODULE := libexample.so LOCAL_MODULE_CLASS := SHARED_LIBRARIES include $(BUILD_PREBUILT)
上面集成so动态库有个弊端,就是最终生成的so为:libexample.so.so,更好的方式是下面的,编译生成的就是libexample.so:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_PREBUILT_LIBS := libexample.so include $(BUILD_MULTI_PREBUILT)
集成.a静态库,Android.mk文件书写如下:
#build static lib LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES := libexample.a LOCAL_BUILT_MODULE_STEM := libexample.a LOCAL_MODULE_SUFFIX := lib LOCAL_MODULE := libexample LOCAL_MODULE_CLASS := STATIC_LIBRARIES include $(BUILD_PREBUILT)
动态库默认编译输出/system/lib目录下。
动态库链接时,在Android.mk中添加:
LOCAL_SHARED_LIBRARIES := libexample.so
静态库调用,在Android.mk中添加:
LOCAL_STATIC_LIBRARIES := libexample.a
集成第三方apk,且apk中有jni的so,Android.mk书写如下:
LOCAL_PATH := $(call my-dir) MY_ABI := armeabi include $(CLEAR_VARS) LOCAL_MODULE := example LOCAL_SRC_FILES := example.apk LOCAL_PREBUILT_JNI_LIBS := \ @lib/$(MY_ABI)/libBaiduMap.so \ @lib/$(MY_ABI)/libWeixin.so LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) LOCAL_CERTIFICATE := PRESIGNED include $(BUILD_PREBUILT)
上面Android.mk的例子在实际Android的项目中,可以正常使用。
相关文章推荐
- 关于Android原生集成5+webview,监听webview返回时,执行两次onkey方法问题的解决
- Android APK 静态分析与动态分析
- Android逆向工程之反编译注入代码(修改APK中的代码)
- android预置apk,覆盖原生apk
- Android——APK 在32bit/64bit平台 动态库问题
- Android工程导入外部jar包时遇到的问题自动生成APK文件
- os x下 apk逆向工程利器 AndroidCrackTool for Mac 最新版
- Android 源码编译将不同平台的静态so打包到apk。
- weex sdk集成到Android工程
- Unity与原生Android融合——两个apk之间跳转
- 破解行Android apk 逆向工程研究﹣破解 MyTV HD 機種限制手記
- Android---apk打包libs自动删除第三方so问题解决(armeabi/armeabi-v7a等多平台so)
- Android之原生项目集成React Native
- [安卓]Android导入第三方静态库.a编译成动态库.so
- Android添加第三方so到APK中
- android源码编译apk集成第三方so库
- Jenkins持续集成Android工程
- Android之Windows下生成动态库so并打包到APK中
- 在eclipse中将android工程打包成apk
- Android导入第三方静态库.a编译成动态库.so