扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本篇内容主要讲解“Android Studio怎么将代码打包成jar包”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android Studio怎么将代码打包成jar包”吧!
创新互联建站2013年至今,是专业互联网技术服务公司,拥有项目做网站、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元鄂城做网站,已为上家服务,为鄂城各地企业和个人服务,联系电话:18980820575一、新建一个as项目,再新建一个model模块
然后再app中的build.gradle中添加model的依赖。然后编译项目。
二、编译完成后,打开model下的build——intermediates——bundles目录,目录下有两个文件夹,debug,default,在default文件夹下有一个classess.jar,就是编译完成的jar包,
这里需要主要的是:因为我们使用的 as 版本不一致,所以会导致classess.jar包的目录页会不一样,不过最终的目录还是在build——intermediates——bundles目录下,小伙伴们可以在这个目录下寻找classess.jar文件,确保可以找到这个文件之后,再进行第三步的操作。
三、在确保classess.jar文件存在的情况下,打开model模块的build.gradle文件,在文件中与android模块中添加如下代码,并编译:
//Copy类型 task makeJar(type: Copy) { //删除存在的 delete 'build/libs/mysdk.jar' //设置拷贝的文件 from('build/intermediates/bundles/default/') //打进jar包后的文件目录 into('build/libs/') //将classes.jar放入build/libs/目录下 //include ,exclude参数来设置过滤 //(我们只关心classes.jar这个文件) include('classes.jar') //重命名 rename ('classes.jar', 'mysdk.jar') } makeJar.dependsOn(build)
这里需要注意:上述代码中from括号中的是你的classess.jar的文件目录,这里贴的是我自己的目录,不同的as版本可能导致目录不同,所以小伙伴们在用的时候直接换成你们自己的classess.jar路径即可。
四、编译完成以后,找到as的Terminal命令行,输入以下命令并回车:
gradlew makeJar
出现如下文字后,代表编译成功。
BUILD SUCCESSFUL
导出的jar包在model模块下的build——libs文件夹里面,复制出来方便我们以后使用。
这样我们就将我们自己的代码模块打成jar包了,用的时候直接导入jar包就可以了。
补充知识:Android.mk编译出jar
Android.mk编译出jar
Android.mk文件配置
LOCAL_PATH:= $(call my-dir) #make jar include $(CLEAR_VARS) LOCAL_SRC_FILES := $(call all-subdir-java-files) LOCAL_MODULE := mytestjar include $(BUILD_JAVA_LIBRARY) #include $(BUILD_STATIC_JAVA_LIBRARY)
在当前项目中执行mm命令(在此之前要执行sourse build/envsetup.sh)
BUILD_JAVA_LIBRARY和BUILD_STATIC_JAVA_LIBRARY区别
BUILD_JAVA_LIBRARY编译出来的jar包,里面是DEX格式的文件,如果用户想用这个jar包放到Eclipse来做Android APP的开发,Eclipse是不认识这种格式的文件的,通常会报错:Conversion to Dalvik format failed with error 1
BUILD_STATIC_JAVA_LIBRARY编译出来的jar包,里面每个java文件对应的class文件都单独存在,顾名思义,每个java文件里面用到的变量都被静态编译到了class内部,这种格式的jar包可以在Eclipse里面导入并正常使用,但是可能存在一定的兼容性隐患
到此,相信大家对“Android Studio怎么将代码打包成jar包”有了更深的了解,不妨来实际操作一番吧!这里是创新互联建站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流