From 7c21cda40c29f5aba8d804b9aed0330373d00121 Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Mon, 27 Nov 2023 16:54:49 -0500 Subject: [PATCH] Implement Android.bp building with AOSP for lpac_jni --- Android.bp | 14 ++++---- Android.mk | 0 app/src/main/AndroidManifest.xml | 5 +-- libs/lpac-jni/src/main/jni/Android.bp | 51 +++++++++++++++++++++++++++ 4 files changed, 61 insertions(+), 9 deletions(-) create mode 100644 Android.mk create mode 100644 libs/lpac-jni/src/main/jni/Android.bp diff --git a/Android.bp b/Android.bp index 59746d3..4c1e21d 100644 --- a/Android.bp +++ b/Android.bp @@ -1,8 +1,7 @@ android_app { name: "OpenEUICC", static_libs: [ - // Dependencies that must be pulled from maven - "asn1bean-prebuilt-jar", + // Dependencies that must be pulled from maven, "zxing-core-prebuilt-jar", "zxing-android-embedded-prebuilt-aar", @@ -14,17 +13,18 @@ android_app { "androidx.lifecycle_lifecycle-runtime-ktx", "androidx.swiperefreshlayout_swiperefreshlayout", "com.google.android.material_material", - "gson-prebuilt-jar", + "gson", "kotlinx_coroutines", ], + jni_libs: [ + "liblpac-jni", + ], srcs: [ // Main app "app/src/main/**/*.kt", - // TruPhone LPAd library - "libs/lpad-sm-dp-plus-connector/src/generated/**/*.java", - "libs/lpad-sm-dp-plus-connector/src/main/**/*.java", - "libs/lpad-sm-dp-plus-connector/src/main/**/*.kt", + // lpac-jni interface + "libs/lpac-jni/src/main/**/*.kt", ], resource_dirs: [ "app/src/main/res", diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..e69de29 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f2d8837..1956b26 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,8 @@ + tools:ignore="ProtectedPermissions" + package="im.angry.openeuicc"> @@ -54,4 +55,4 @@ tools:replace="screenOrientation" /> - \ No newline at end of file + diff --git a/libs/lpac-jni/src/main/jni/Android.bp b/libs/lpac-jni/src/main/jni/Android.bp new file mode 100644 index 0000000..66f5e85 --- /dev/null +++ b/libs/lpac-jni/src/main/jni/Android.bp @@ -0,0 +1,51 @@ +cc_defaults { + name: "lpac-jni-defaults", + local_include_dirs: ["lpac"], + sdk_version: "current", + cflags: ["-Wno-error"], +} + +cc_library_static { + name: "liblpac-cjson", + defaults: ["lpac-jni-defaults"], + srcs: [ + "lpac/cjson/*.c", + ], +} + +cc_library_static { + name: "liblpac-asn1c", + defaults: ["lpac-jni-defaults"], + local_include_dirs: ["lpac/euicc/asn1c"], + cflags: ["-DHAVE_CONFIG_H"], + srcs: [ + "lpac/euicc/asn1c/asn1/*.c", + ], +} + +cc_library_static { + name: "liblpac-euicc", + defaults: ["lpac-jni-defaults"], + srcs: [ + "lpac/euicc/*.c", + ], + static_libs: [ + "liblpac-asn1c", + "liblpac-cjson", + ], +} + +cc_library_shared { + name: "liblpac-jni", + defaults: ["lpac-jni-defaults"], + header_libs: ["jni_headers"], + srcs: [ + "lpac-jni/*.c", + ], + static_libs: [ + "liblpac-euicc", + "liblpac-asn1c", + "liblpac-cjson", + ], + shared_libs: ["liblog"], +}