如何从Android Studio项目中创build.jar
我正在使用AndroidStudio,我有这个项目,如图所示:
蓝色圆圈内的是myLib。 myLib也需要使用红圈内的外部库,以及apache包(绿色圆圈)。
所以我想把这个东西变成一个单一的.jar,所以我可以在另一个项目中使用它。
一步一步的指导将非常感激,我是开发者世界的初学者。
谢谢!
-
打开库项目的build.gradle
-
在build.gradle中写两个任务 – deleteJar和createJar并添加规则createJar.dependsOn(deleteJar,build)
上面的代码:
task deleteJar(type: Delete) { delete 'libs/logmanagementlib.jar' } task createJar(type: Copy) { from('build/intermediates/bundles/release/') into('libs/jars/') include('classes.jar') rename('classes.jar', 'logmanagementlib.jar') } createJar.dependsOn(deleteJar, build)
-
从右侧展开gradle面板并打开您的图库 – >其他任务。 你会看到两个新的任务 – createJar和deleteJar
-
双击createJar
-
任务成功运行后,从createJar任务中提到的path(比如libs / xxxx.jar)获取生成的jar文件
-
复制过去的jar到你需要的项目的lib文件夹 – >右键单击 – >select“添加为库”
如果您在Gradle中将代码设置为纯Java模块,那么让Gradle为您提供包含内容的jar文件非常简单。 该jar文件将只有你的代码,而不是其他依赖的Apache库。 我build议这样分发 把你的库中的依赖捆绑起来有点奇怪,这些库的用户必须自己去包含这些依赖,这是比较正常的(因为否则这些项目的冲突已经连接了库的副本,可能是不同的版本)。 更重要的是,如果您要发布您的图书馆,则可以避免在重新分发其他人的代码时出现潜在的许可问题。
将需要编译的代码拿到jar中,然后将其移到Android Studio中的一个单独的Java模块中:
- 文件菜单> 新build模块… > Java库
- 在向导中设置库,Java包名称和类名称。 (如果你不想为它创build一个类,那么一旦创build模块就可以删除它)
- 在您的Android代码中,设置新模块的依赖关系,以便可以使用新库中的代码:
- 文件 > 项目结构 > 模块 > (您的Android模块) > 依赖 > + > 模块依赖 。 看下面的截图:
- 从出现的对话框的列表中select您的模块:
希望你的项目现在应该正常build设。 构build完成后,Java库的jar文件将被放置在模块目录的build / libs目录中。 如果你想手动构buildjar文件,你可以从Gradle窗口运行它的jar构build文件任务:
只需将其添加到您的Java模块的build.gradle。 它将在归档中包含依赖库。
mainClassName = "com.company.application.Main" jar { manifest { attributes "Main-Class": "$mainClassName" } from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } }
这将导致[module_name] / build / libs / [module_name] .jar文件。
我发现的方式是find项目编译器输出(项目结构>项目)。 然后find你想要变成jar的模块的编译文件夹,用zip压缩它,并将输出的扩展名从zip改为jar。