如何从 android studio 创建 jar 文件
how to create a jar file from android studio
我有一个相当最新版本的 android studio,我在一个基本上应该是库的项目下创建了一个模块,当我构建它时,它会创建一个“.aar”文件,我想要的是 .jar 文件,因为这个库也应该与 eclipse 一起使用。
该库也包含 activity,有没有什么方法可以创建我也可以在 Eclipse 上使用的 .jar 文件 Android Studio?
我已经创建了这个模块并尝试构建,结果它生成了 .aar 文件而不是 .jar 文件。
目前基于 gradle 的构建似乎不允许使用 android studio 创建 jar,我决定使用 Intelij,它有必要的选项并且可以做我想做的,我可以使用社区版.
***更新****
即使由 Intelij 生成的带有资源的 jar 也不起作用,显然拥有带有资源的 jar 并不容易,因此决定选择 .aar 并希望 Eclipse 在 gradle 支持时也获得对 .aar 的支持。 ,因为这是我最关心的问题。
aar
与 AS 或 eclipse 无关,而是 AandroidARchive for Android JavaARchives 等应用程序适用于 java 应用程序。
因为Android是基于java的,所以可以使用jar。但是考虑到 android 特性,比如资源包,aar 是正确的选择。
我找到了一种实现此目的的方法,简单明了,使用 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 任务。
将此添加到您图书馆的 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 文件夹,请创建该文件夹
转到 gradle 构建:Android Studio --> 查看 --> Toll Windows --> Gradle
Select 你的模块(:library) --> 任务 --> 其他 --> 双击 createJar 任务
您只需简单地解压缩 aar
文件即可获得分离的文件片段。
我有一个相当最新版本的 android studio,我在一个基本上应该是库的项目下创建了一个模块,当我构建它时,它会创建一个“.aar”文件,我想要的是 .jar 文件,因为这个库也应该与 eclipse 一起使用。
该库也包含 activity,有没有什么方法可以创建我也可以在 Eclipse 上使用的 .jar 文件 Android Studio?
我已经创建了这个模块并尝试构建,结果它生成了 .aar 文件而不是 .jar 文件。
目前基于 gradle 的构建似乎不允许使用 android studio 创建 jar,我决定使用 Intelij,它有必要的选项并且可以做我想做的,我可以使用社区版.
***更新**** 即使由 Intelij 生成的带有资源的 jar 也不起作用,显然拥有带有资源的 jar 并不容易,因此决定选择 .aar 并希望 Eclipse 在 gradle 支持时也获得对 .aar 的支持。 ,因为这是我最关心的问题。
aar
与 AS 或 eclipse 无关,而是 AandroidARchive for Android JavaARchives 等应用程序适用于 java 应用程序。
因为Android是基于java的,所以可以使用jar。但是考虑到 android 特性,比如资源包,aar 是正确的选择。
我找到了一种实现此目的的方法,简单明了,使用 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 任务。
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 文件夹,请创建该文件夹
转到 gradle 构建:Android Studio --> 查看 --> Toll Windows --> Gradle
Select 你的模块(:library) --> 任务 --> 其他 --> 双击 createJar 任务
您只需简单地解压缩 aar
文件即可获得分离的文件片段。