有一个关于导入第三方安卓aar库到 Delphi 10.x项目的问题

a2mppw5e  于 2023-01-17  发布在  其他
关注(0)|答案(2)|浏览(530)

我有第三方库aar。当我解压缩aar文件时,我发现以下文件和目录:
目录/助手:什么都没有
目录/资产:什么都没有
目录/jni/armeabi-v7 a:有八个文件。
目录/库:有五个.jar文件。
目录/资源:什么都没有
目录/:有AndroidManifest.xml文件和类. jar
导入.jar文件就足够了吗?还是我还需要导入.so文件?
问候。
兰贾

w6lpcovy

w6lpcovy1#

    • RAD Studio对Java库的要求**

RAD Studio仅支持Android API级别10(Android 2.3.3)及更高版本。如果您的Java库使用Android API,则必须使用受支持的Android API进行编译。
如果您的Java库依赖于其他Java库,则必须同时具有Java库和库所依赖的库的JAR文件。以后生成有效的classes. dex文件时,需要所有这些Java库的JAR文件。
请参见生成classes. dex文件下的表中哪个JAR文件属于每个库。
来源:https://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_a_Custom_Set_of_Java_Libraries_In_Your_RAD_Studio_Android_Apps

9udxz4iz

9udxz4iz2#

我刚刚做了AndroidMerger工具:在FMX Android应用程序中集成AAR SDK
Android库(也称为Android Archive)包含构建应用所需的一切,如源文件、资源文件、清单等。这就是阿尔斯与JAR不同的原因。AAR还可以包含资源文件,而不是编译的字节码。
将这样的库添加到 Delphi 项目中是一个漫长而复杂的过程,包括从库中提取资源,手动将它们添加到Delphi部署文件中,编译R.Java类,检查依赖关系等。
有了AndroidMerger,以上所有操作现在都可以在一个命令行中自动完成。简而言之,AndroidMerger将:

  • 使用graddle或内部实现列出所有依赖项。
  • 从本地或中央Maven下载库和依赖项
  • 资源库。将所有阿尔斯的资源合并到一个
  • 目录中。合并所有阿尔斯的AndroidManifest文件
  • 将google-services.json合并到
  • 资源。使用所有资源ID创建R.jar
  • 使用aapt或aapt 2。更新项目文件(.dproj)以包括所有
  • 从Java库生成 Delphi 本地桥文件。

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

相关问题