4 回答
TA贡献1804条经验 获得超2个赞
.aar是一个标准的zip存档,与.jar中使用的相同。只需更改扩展名,并假设它没有损坏或任何其他操作,就可以了。
如果需要,可以将其提取到文件系统中,然后将其重新打包为jar。
1) Rename it to .jar
2) Extract: jar xf filename.jar
3) Repackage: jar cf output.jar input-file(s)
TA贡献1998条经验 获得超6个赞
正如许多其他人指出的那样,仅从.aar文件中提取.jar并不能完全削减它,因为资源可能会丢失。
以下是对我有用的步骤(以Android为背景,如果您出于其他目的,则行驶里程可能会有所不同):
将.aar文件重命名为.zip并解压缩。
提取的文件夹是一个ADT项目,您可以对其进行一些小的修改即可将其导入Eclipse(请参见下文)!
在提取的文件夹中,将包含的文件classes.jar重命名为所需的名称(在本示例中为myProjectLib.jar),然后将其移动到提取的文件夹内的lib文件夹中。
现在,为了让Eclipse接受它,您需要将两个文件放入提取的文件夹根目录中:
。项目
.classpath
为此,请在Eclipse中创建一个新的Android虚拟项目并复制文件,或从现有的Android项目复制。
打开.project文件,查找XML名称标签,然后将其内容替换为myProjectLib(或上面您所说的jar文件),然后保存。
现在,在Eclipse中,您可以从现有源文件->新建->项目-> Android项目..并指向提取的文件夹内容。
导入后,右键单击新创建的项目,选择“ 属性”->“ Android”,然后选中“ 是库”。
在要使用该库的主项目中,也转到“ 属性”->“ Android”,然后将新添加的myProjectLib添加到依赖项列表中。
TA贡献1839条经验 获得超15个赞
对于那些想要自动执行此操作的人,我编写了一个两行的bash脚本,它执行以下两件事:
查找所有* .aar文件并从中提取classes.jar
重命名提取的classes.jar以使其像aar一样,但具有新的扩展名
find . -name '*.aar' -exec sh -c 'unzip -d `dirname {}` {} classes.jar' \;
find . -name '*.aar' -exec sh -c 'mv `dirname {}`/classes.jar `echo {} | sed s/aar/jar/g`' \;
而已!
TA贡献1816条经验 获得超6个赞
该AAR文件由的JAR文件和一些资源文件(它基本上是一个自定义文件扩展名的标准ZIP文件)。以下是转换步骤:
使用标准的zip提取程序提取AAR文件(将其重命名为* .zip使其更容易)
在解压缩的文件中找到classes.jar文件
根据需要将其重命名,然后在项目中使用该jar文件
添加回答
举报