有没有办法在 eclipse ant 项目中使用 .aar 库(带有资源)?我知道没有像 gradle 那样使用 .aar 格式的简单方法,但也许有一些解决方法可以解压缩并手动导入它?
4 回答
这个解决方案对我很有帮助
编辑: .aar 文件只是一个包含以下内容的 zip 文件:
- AndroidManifest.xml(必需文件)
- classes.jar(必需文件)
- Res /(必填文件夹)
- R.txt(必需文件)
- 资产/(可选文件夹)
- libs/*.jar(文件夹选项)
- jni//*.so(可选文件夹)
- proguard.txt(可选文件)
- lint.jar(可选文件)
您会看到,在 .aar 文件中,您拥有在 eclipse 中操作库所需的一切。
创建库:
- 为您的工作区创建一个新项目(以下称为库项目)。不要忘记将其标记为库。
- 保留空的 src 文件夹库项目。
- .aar 解压缩文件。您可以将其重命名为 .zip 并解压缩或使用任何工具。
- 将文件 classes.jar 复制到 libs 文件夹 library project 中。
- Res 文件夹将库项目替换为 .aar res 文件夹。
- 您已经创建了包含您需要的几乎所有内容的项目。
现在让我们看看如何配置您的项目以引用库项目。
- 在您要使用的项目中添加作为依赖库项目的库(以下简称项目目标)。
- 在文件中打开 AndroidManifest.xml .aar 并确保在 AndroidManifest.xml 项目目标文件中复制所需的所有内容(许可、活动、服务、接收者...)。
- 如果有,复制 assets 文件夹 target project 文件夹 assets .aar 文件的全部内容。
如果有,请将文件 .aar libs 文件夹的全部内容复制到文件夹 libs target project 中。
清理工作区并重新编译。
http://www.iphonedroid.com/blog/utilizar-ficheros-aar-en-eclipse/#.Vh3krye1Gko
实际上,aar 文件只是存档文件。因此,您可以解压缩它并找到 jar 文件以及 ressources 文件。这里已经部分回答了这个问题:
https://stackoverflow.com/a/21485222/1836870
如果你想在你的 jar 中获取资源,你可以尝试像这个答案中建议的那样重新打包:
首当其冲的工作可以由一个名为deaar的精彩脚本来完成。要点解释了事情,但基本上你运行:
ruby deaar.rb [path/to/aar] [output_directory]
它输出一个几乎可以使用的库。接下来,您需要运行:
cd [output_directory]
android update lib-project -p . -t android-xx
将 xx 替换为您要定位的 Android 版本。现在将该目录放在 build.xml 和 project.properties 所在的位置。最后,在你的 project.properties 中添加这样的一行:
android.library.reference.1=./output_directory
将目录名称替换为您创建的目录名称。您可以将“.2”等用于其他库。就是这样!
Twitter Fabric(Crashlytics) 有一个用于依赖管理http://docs.fabric.io/android/fabric/eclipse.html的 kits-libs 插件。
还有另一个 gradle 插件项目https://github.com/ksoichiro/gradle-eclipse-aar-plugin。