Android.bp文件中加入第三方JAR包或者so文件的方法

2,488 阅读1分钟

预制jar包

在项目的根目录新建 libs文件夹,放入要导入的jar包比如 testlib.jar

新增Android.bp文件

在新增的libs文件夹下加入Android.bp文件,新增如下内容

java_import {
    name: "testlib_jar",
    jars: ["libs/testlib.jar"],
}

修改模块中的Android.bp

需要在android_app的主模块中新增上面定义的name的值 android_app { name: "xxx", static_libs: [ "testlib_jar", ],

如果不想在libs文件夹新增Android.bp文件,可以把java_import放入到Android.bp中 修改diff文件如下:

@@ -23,6 +23,16 @@ java_library {
         type: "nano",
     },
 }
+//prebuilt testlib.jar
+java_import {
+    name: "testlib_jar",
+    jars: ["libs/testlib.jar"],
+}
 
 java_library {

@@ -63,7 +63,9 @@ android_library {
         "dagger2-2.19",
-        "jsr330"
+        "jsr330",
+        "testlib_jar",
     ],
     manifest: "AndroidManifest.xml",

如果是新增so方法,类似:

@@ -199,8 +199,11 @@ android_app {
+    jni_libs: [
+        "libjni_test_api"
     ],


+ //prebuilt libjni_test_api.so
+ cc_prebuilt_library_shared {
+     name: "libjni_test_api",
+        arch: {
+         arm: {
+             srcs: ["libs/armeabi-v7a/libjni_test_api.so"],
+         },
+         arm64: {
+             srcs: ["libs/arm64-v8a/libjni_test_api.so"],
+         }
+     },
+ }