繁体   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