Android(安卓)Studio打包jar教程
16lz
2021-01-26
1、新建一个Module:mylibrary
File——》New——》New Module——》Android Library
2、在app模块下添加引用mylibrary模块
3、在mylibrary模块下的build.gradle中添加如下设置:(添加完同步一下即可)
这种方法只打包class文件:
task makeJar(type: Copy) { //删除存在的jar包,这里打包jar包名字是MyUtils.jar delete 'build/libs/MyUtils.jar' //设置拷贝的文件 from路径下的文件into到build/libs/路径下,方便找到 from('build/intermediates/packaged-classes/debug/') //打进jar包后的文件目录 into('build/libs/') //将classes.jar放入build/libs/目录下 //include ,exclude参数来设置过滤 //(我们只关心classes.jar这个文件) include('classes.jar') //重命名 rename('classes.jar', 'MyUtils.jar')}makeJar.dependsOn(build)
注意:以上配置信息要与 android {…….} 配置的脚本成平级关系。
注意:有些版本生成jar包的路径不是build/intermediates/packaged-classes/debug/,要根据实际情况而定
4、在mylibrary模块中创建一个Java类用于测试
public class TestUtils { public static int Addition(int var0, int var1) { return var0 + var1; }}
5、在Terminal中输入gradlew makeJar来打包jar(推荐)
第一次打包会比较慢,之后就很快了,打包成功之后可以看到
在build/libs下看到,打包成功
5、调用jar包,看能否正确使用
int i = TestUtils.Addition(1,2); Log.i("yyy", "i-----------: " + i);
可以正常使用,以下可以忽略,因为作者还未验证是否可用。
这里添加一种可以打包所有工程(包括res等等)的打包方式:
在mylibrary模块下的build.gradle中添加如下设置:(添加完同步一下即可)
以下这段是笔记代码,可以忽略
//生成jar包的名字def SDK_BASENAME = "MyUtils";//jar的路径def sdkDestinationPath = "build/libs/";//jar之前存放的位置def zipFile = file('build/intermediates/packaged-classes/debug/classes.jar')//删除已经存在的jar包task deleteBuild(type: Delete) { delete sdkDestinationPath + SDK_BASENAME + ".jar"}task makeJar(type: Jar) { from zipTree(zipFile) //main下除java的其他工程 from fileTree(dir: 'src/main',includes: ['res/**','jniLibs/**','AndroidManifest.xml','proguard-project.txt','project.properties','.classpath','.project']) //将java文件夹下 from fileTree(dir: 'src/main/java',includes: ['bin/**','doc/**']) baseName = SDK_BASENAME destinationDir = file(sdkDestinationPath)}makeJar.dependsOn(deleteBuild, build)
更多相关文章
- Cocos2d-x 导入到Eclipse后出现The import org.cocos2dx.lib can
- Android(安卓)TextView 添加下划线的简单方法
- ionic android打包
- 解决unity 打包在Android(安卓)8.0上启动出现黑屏问题(Android权
- Android下拉状态栏快捷开关的添加
- Android——添加屏幕待机选项
- Android4.4 窗口添加过程
- Android可定制 圆形/圆角 Imageview(RoundedImageView)
- Android(安卓)ImageButton Example 图片按钮