Android Studio 正在将 Android 库项目导出为 jar

Android Studio exporting Android library project as jar

我正在开发 Android 图书馆项目。在 Eclipse 中,当我想将其导出为 jar 文件时:

  1. 右键单击项目->导出->Java->Jar 文件
  2. 我 select 手动从 src 中获取一些包,仅此而已(没有 res 等!)- 这是我的图书馆的要求...
  3. 在我选中的复选框中:"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 不会有任何问题