簡體   English   中英

對將第 3 方 android aar 庫導入 Delphi 10.x 項目有疑問

[英]Have a question about importing 3rd party android aar library into Delphi 10.x project

我有第三方庫aar。 當我解壓縮 aar 文件時,我發現以下文件和目錄:

目錄/aidl:無

目錄/資產:沒有

目錄/jni/armeabi-v7a:有八個.so文件。

目錄/libs:有五個.jar個文件。

目錄/res: 無

目錄/:有AndroidManifest.xml文件和classes.jar

importing.jar 文件是否足夠,還是我還需要 import.so 文件?

看待。

蘭賈

Java 庫的 RAD Studio 要求

RAD Studio 僅支持 Android API 級別 10 (Android 2.3.3) 及更高版本。 If your Java libraries use the Android API, they must be compiled using a supported Android API.

If your Java library depends on other Java libraries, you must have the JAR files of both your Java library and the libraries that your library depends on. 您需要所有這些 Java 庫的 JAR 文件,以便稍后生成有效的 classes.dex文件。

請參閱生成 classes.dex 文件下的表格,其中 JAR 文件屬於每個庫。

資料來源: https://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_a_Custom_Set_of_Java_Libraries_In_Your_RAD_Studio_Android_Apps

我剛剛制作了 AndroidMerger 工具: Integrate AAR SDK in FMX Android app

Android 庫,也稱為 Android 存檔,包括構建應用程序所需的一切,如源文件、資源文件、清單等。這就是 AAR 不同於 JARs 的原因。AAR 可以包含資源文件以及編譯字節以外的資源文件代碼。

將此類庫添加到 Delphi 項目是一個漫長而復雜的過程,包括從庫中提取資源、手動將它們添加到 Delphi 部署文件、編譯 R.Java class、檢查依賴項等。

使用 AndroidMerger,以上所有內容現在都可以在單個命令行中自動完成。 簡而言之,AndroidMerger 將:

  • 使用 graddle 或內部實現來列出所有依賴項。
  • 從本地或中心下載庫和依賴項 maven
  • 存儲庫。 將所有 AAR 的資源合並到一個
  • 目錄。 合並里面所有AAR的AndroidManifest文件
  • AndroidManifest.template.xml。 合並 google-services.json 在
  • 項目的資源。 使用所有資源 ID 創建 R.jar
  • 使用 aapt 或 aapt2。 更新項目文件 (.dproj) 以包括所有
  • 資源。 從 Java 庫生成 Delphi 本機橋接文件。

一切都在這里(包括源代碼): https://github.com/MagicFoundation/Alcinoe/tree/master/Tools/AndroidMerger

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM