您好,登錄后才能下訂單哦!
怎么在android.mk中引用第三方庫?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
一、集成第三方jar包:
1.在項目目錄下創建目錄libs(不創建也行,一會兒指向對應路徑就好),將第三方的jar包放進去。
2.在Android.mk文件中進行配置:
include $(CLEAR_VARS) LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := smartphotolib:../../libs/smartphotolib.jar #前面為自定義的名(umeng_message_push),起什么名都可以,“:”后面的為jar包在項目下對應的路徑。 include $(BUILD_MULTI_PREBUILT)
3.引用,在LOCAL_STATIC_JAVA_LIBRARIES中加入smartphotolib 即可
LOCAL_STATIC_JAVA_LIBRARIES := smartphotolib
或
LOCAL_STATIC_JAVA_LIBRARIES += smartphotolib
即可。
二、集成*.so文件:
1.將so文件復制到libs下面。
2.在Android.mk文件中配置:
include $(CLEAR_VARS) LOCAL_PREBUILT_LIBS := libsmartphotojni:../../libs/arm64-v8a/libsmartphotojni.so include $(BUILD_MULTI_PREBUILT)
3.引用,在Android.mk中添加
LOCAL_JNI_SHARED_LIBRARIES :=libsmartphotojni
即可。
編譯會自動將so文件拷貝到out/target/product/***/obj/lib目錄下,如果沒有拷貝,可以手動拷貝后再進行編譯或是寫腳本進行拷貝,如下所示:
#so library PRODUCT_COPY_FILES += \ ../../libs/arm64-v8a/libsmartphotojni.so:system/lib/libsmartphotojni.so \ ../../libs/arm64-v8a/libmxnet_predict.so:system/lib/libmxnet_predict.so
三、集成*.aar文件
在APK的Android.mk添加第三方AAR 創建libs/aaa.arr文件,修改Android.mk如下
... LOCAL_AAPT_FLAGS+= --auto-add-overlay \ --extra-packages aaa LOCAL_STATIC_JAVA_AAR_LIBRARIES:=aaa ... include $(CLEAR_VARS) LOCAL_MODULE_TAGS:=optional LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES:=aaa:libs/aaa.aar include $(BUILD_MULTI_PREBUILT)
四.動態拷貝so到libs下
1.在jni文件夾下面新建prebuilt文件夾,把需要拷貝的so放倒該文件夾下面。在Android.mk中加入以下代碼
#################################################################此處為App必需導入的玩外部so文件 include $(CLEAR_VARS) LOCAL_MODULE := BaiduMapSDK_base_v4_4_0 LOCAL_SRC_FILES := prebuilt/libBaiduMapSDK_base_v4_4_0.so include $(PREBUILT_SHARED_LIBRARY) #LOCAL_SHARED_LIBRARIES := BaiduMapSDK_base_v4_4_0 include $(CLEAR_VARS) LOCAL_MODULE := locSDK7a LOCAL_SRC_FILES := prebuilt/liblocSDK7a.so include $(PREBUILT_SHARED_LIBRARY) #LOCAL_SHARED_LIBRARIES := locSDK7a #################################################################
看完上述內容,你們掌握怎么在android.mk中引用第三方庫的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。