Android Studio 正在将 Android 库项目导出为 jar
Android Studio exporting Android library project as jar
我正在开发 Android 图书馆项目。在 Eclipse 中,当我想将其导出为 jar
文件时:
- 右键单击项目->导出->Java->Jar 文件
- 我 select 手动从
src
中获取一些包,仅此而已(没有 res
等!)- 这是我的图书馆的要求...
- 在我选中的复选框中:"Export generated class files and resources"。就是这样。
现在我迁移到 Android Studio,所以在进行了一些 SO 讨论后,我在 gradle.build
:
下想到了这个
task clearJar(type: Delete) {
delete 'build/outputs/mysdk.jar'
}
task makeJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('build/outputs/')
include('classes.jar')
rename ('classes.jar', 'mysdk.jar')
}
makeJar.dependsOn(clearJar, build)
当我将 Jar 集成到某些 Android 应用程序时,事情无法正常工作,这表明导出 Jar 的过程出了问题(库项目没有 errors/warnings 等)。
如何在 Android Studio 中实现类似导出到 eclipse jar 的行为?
谢谢,
您不想生成 jar
文件,因为 res/
文件夹将丢失,并且代码中引用 R
文件的任何内容在执行时都会失败。这是因为 jar
格式不支持 android res
。您希望构建以 aar
格式为目标。使用 gradle 很简单。不要应用应用程序插件 (apply plugin: 'com.android.application'
),只需应用库插件 (apply plugin: 'com.android.library'
)。
然后 gradle build
将生成一个 aar
文件,其中将包含您的所有资源。
仍在使用 eclipse 的开发人员会熟悉如何导入 aar
文件,因为那是 android 标准。如果他们还没有学会,有很多 SO 帖子可以提供帮助。
正在使用 gradle 或 maven 的开发人员使用您的 sdk 不会有任何问题
我正在开发 Android 图书馆项目。在 Eclipse 中,当我想将其导出为 jar
文件时:
- 右键单击项目->导出->Java->Jar 文件
- 我 select 手动从
src
中获取一些包,仅此而已(没有res
等!)- 这是我的图书馆的要求... - 在我选中的复选框中:"Export generated class files and resources"。就是这样。
现在我迁移到 Android Studio,所以在进行了一些 SO 讨论后,我在 gradle.build
:
task clearJar(type: Delete) {
delete 'build/outputs/mysdk.jar'
}
task makeJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('build/outputs/')
include('classes.jar')
rename ('classes.jar', 'mysdk.jar')
}
makeJar.dependsOn(clearJar, build)
当我将 Jar 集成到某些 Android 应用程序时,事情无法正常工作,这表明导出 Jar 的过程出了问题(库项目没有 errors/warnings 等)。
如何在 Android Studio 中实现类似导出到 eclipse jar 的行为?
谢谢,
您不想生成 jar
文件,因为 res/
文件夹将丢失,并且代码中引用 R
文件的任何内容在执行时都会失败。这是因为 jar
格式不支持 android res
。您希望构建以 aar
格式为目标。使用 gradle 很简单。不要应用应用程序插件 (apply plugin: 'com.android.application'
),只需应用库插件 (apply plugin: 'com.android.library'
)。
然后 gradle build
将生成一个 aar
文件,其中将包含您的所有资源。
仍在使用 eclipse 的开发人员会熟悉如何导入 aar
文件,因为那是 android 标准。如果他们还没有学会,有很多 SO 帖子可以提供帮助。
正在使用 gradle 或 maven 的开发人员使用您的 sdk 不会有任何问题