繁体   English   中英

如何从android studio创建一个jar文件

[英]how to create a jar file from android studio

我有一个相当最新版本的android studio,我在一个基本上应该是一个库的项目下创建了一个模块,当我构建它时,它会创建一个“.aar”文件,我想要的是.jar文件库也应该与 eclipse 一起使用。

该库也包含活动,有什么方法可以创建一个可以在 Eclipse 和 Android Studio 上使用的 .jar 文件?

我已经创建了这个模块并尝试构建,结果它生成了 .aar 文件而不是 .jar 文件。

我找到了一种方法来实现这一点,很简单,使用 Gradle 2.2.1:

task jar(type: Jar, dependsOn: 'assembleRelease') {
    from fileTree(dir: 'build/intermediates/classes/release')
}

把它放在你的库模块中。 它会将其编译为发行版并在以下位置生成 JAR 文件: build/libs

bash gradlew jar或使用您的 IDE 来定位该jar Gradle 任务。

aar是不相关的AS或食,但是Android应用程序等的J ava AR韭菜一个被A ndroid AR韭菜是为Java应用程序。 因为 Android 是基于 Java 的,所以可以使用 jars。 但是考虑到 android 的特性,比如资源包,aar 是正确的使用方法。

目前基于 gradle 的构建似乎不允许使用 android studio 创建 jar,我决定使用 Intelij,它有必要的选项并做我想做的,我可以使用社区版。

***更新**** 即使是Intelij制作的带资源的jar也不行,显然有资源的jar不容易,所以决定选择.aar,希望Eclipse也能支持.aar的时候gradle 支持土地,因为这是我的主要关注点。

在此处输入图片说明 将此添加到您库的 gradle 文件中:

task deleteJar(type: Delete) {
    delete 'libs/traylib.jar'
}

task createJar(type: Copy) {
    from('build/intermediates/packaged-classes/release/')
    into('libs/')
    include('classes.jar')
    rename('classes.jar', 'traylib.jar')
}

createJar.dependsOn(deleteJar, build)

您需要检查生成的 classes.jar 的路径: build/intermediates/ packaged-classes /release/

如果 lib 文件夹不存在,请在 lib 的根文件夹中创建 lib 文件夹

转到 gradle 构建:Android Studio --> 查看 --> Toll Windows --> Gradle

选择你的模块(:library) --> 任务 --> 其他 --> 双击 createJar 任务

您只需解压缩aar文件即可获得分离的文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM