Framework載入現有第三方JAR包或SO庫
開發板為RK3399
1、現有libdatabase_sqlcipher.so,放置在jniLibs/armeabi下面
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := libdatabase_sqlcipher.so
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/../lib //指定生成路徑,預設到/system/lib64,由於是32位庫,所以需重新指定
LOCAL_SRC_FILES := jniLibs/armeabi/$(LOCAL_MODULE)
#OVERRIDE_BUILD_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)
include $(BUILD_PREBUILT)
另一種方式:但預設生成在lib64下面
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_PREBUILT_LIBS :=libdatabase_sqlcipher:jniLibs/armeabi/libdatabase_sqlcipher.so
LOCAL_PREBUILT_LIBS +=libsqlcipher_android:jniLibs/armeabi/libsqlcipher_android.so
LOCAL_PREBUILT_LIBS +=libstlport_shared:jniLibs/armeabi/libstlport_shared.so
#LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/../lib
include $(BUILD_MULTI_PREBUILT)
2、現有sqlcipher.jar,放置在lib下面
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := sqlcipher.jar
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
LOCAL_MODULE_PATH := $(TARGET_OUT_JAVA_LIBRARIES)//最終生成在/system/framework下面
LOCAL_SRC_FILES := libs/sqlcipher.jar
include $(BUILD_PREBUILT)
另一種寫法:
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := sqlcipher:libs/sqlcipher.jar
include $(BUILD_MULTI_PREBUILT)
該方法生成在 一個臨時目錄,不能自動到/system/framework下面
3、APK編譯,預設為64位,由於SO為32位,需指定,方式為:
#LOCAL_JAVA_LIBRARIES += org.apache.http.legacy
LOCAL_MULTILIB := 32
LOCAL_JNI_SHARED_LIBRARIES := libdatabase_sqlcipher libsqlcipher_android libstlport_shared
LOCAL_PRIVILEGED_MODULE := true
include $(BUILD_PACKAGE)
# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))
4、mm編譯時,需要刪除原有生成的arm64檔案,如果以前存在arm64庫,則APK執行時預設呼叫64的庫。
相關文章
- [轉]androidstudio更改優先載入系統包framework.jar的順序AndroidFrameworkJAR
- 《《《maven倉庫下載jar包MavenJAR
- Android native層動態載入so庫Android
- maven私服nexus上傳第三方jar包以及下載MavenJAR
- IDEA 匯入 ***.jar包IdeaJAR
- IDEA匯入jar包IdeaJAR
- java URLClassLoader 載入外部jar包中的指定的類JavaJAR
- maven 工程匯入jar包MavenJAR
- so包
- 用命令將本地jar包匯入到本地maven倉庫JARMaven
- 匯入jar包,main函式JARAI函式
- 建立HDFS,匯入HADOOP jar包HadoopJAR
- vue載入第三方圖示庫(轉載)Vue
- tomcat7 與 tomcat8 載入 jar包的順序TomcatJAR
- Flutter外掛引入第三方jar包之armeabiFlutterJAR
- 新增jar包到本地Maven倉庫JARMaven
- jar包JAR
- idea maven update下載未下載好的jar包IdeaMavenJAR
- java 啟動檢視jar包載入順序並設定classpathJavaJAR
- Laravel 5.6 console 使用 載入第三方類或檔案Laravel
- 下載mysql的JDBC的jar包流程MySqlJDBCJAR
- 教你如何下載Jdbc開發包 jarJDBCJAR
- eclipse 手動新增jar包到maven庫EclipseJARMaven
- maven安裝jar包到本地倉庫MavenJAR
- 釋出jar包到maven中央倉庫JARMaven
- Spring Boot 如何熱載入jar實現動態外掛?Spring BootJAR
- Spring Boot 如何熱載入 jar 實現動態外掛?Spring BootJAR
- Android 的 so 檔案載入機制Android
- SpringBoot打jar包或war包獲取不到資原始檔解決辦法Spring BootJAR
- 如何將JAR包釋出到Maven中央倉庫?JARMaven
- java-jar啟動jar包JavaJAR
- Spring在不同的使用中需要匯入的jar包(轉載未完待續)SpringJAR
- IDEA如何匯入外部依賴的jar包IdeaJAR
- Maven 教程之釋出 jar 到私服或中央倉庫MavenJAR
- 搜尋下載jar包非常方便的網站JAR網站
- JDBC中連線資料庫的常用jar包JDBC資料庫JAR
- java修改jar包JavaJAR
- idea打包jar包IdeaJAR
- centos 部署jar包CentOSJAR