最近老板叫我将自己写的代码打成一个jar包供别人使用,说实话还真是第一次弄,有什么问题不会直接问度娘,这是简单粗暴的方法,我百度了一下说可以打包,只是打包的都只有src这个文件里面的java文件,但是比如说引用了一些资源文件什么的,没法一起打包,就算打包了,也不能使用,于是我就头疼了,这怎么办呢?我有使用到自己的资源文件啊,需要引用的,又不能将项目变成一个Library,那样又可以修改源码了,老板不同意,好吧,我又得另想办法了。
折腾了两天终于有点眉目了,我找到了一个使用Eclipse将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
以下是资源网址:
使用Eclipse将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
http://www.360doc.com/content/14/1114/12/9200790_425037686.shtml
看到这里我觉得很有道理,而且还有demo地址:
http://download.csdn.net/detail/xiaanming/5711951 可以按照这个思路进行做了
如果是还在使用Eclipse的人可以使用以上的方法尝试以下,我测试了果真有效啊。
但是我现在使用的的Studio,所以就想使用Studio打成jar包试一下,也遇到了不少的坑,一直不成功,头疼的要命,一遍看别人说的一遍尝试,后来终于可以了,记录一下这个过程,以后少走冤枉路啊
1.第一步是将你要在打包项目的app下面的build.gradle改成我标注的代码
第一个被注掉的是运行程序要用的,打包的时候先注掉,打完包之后可以再改回来.
2.第二步是将一下提示的注释掉,在打包的时候可能会报错
3.第三步就是在该文件的最后下面加上下面的代码
task makeJar(type: Copy) {
delete 'build/outputs/flowbank_sdk.jar'
from('build/intermediates/bundles/release/')
into('build/outputs/')
include('classes.jar')
rename ('classes.jar', 'flowbank_sdk.jar')
}
makeJar.dependsOn(build)
4.第四步在Android Studio 中打开Terminal,在你的项目根目录下输入如下命令:gradlew makeJar,点击回车会给你一个成功的提示即可成功生成.,如果失败了再根据失败的内容进行解决
提示成功之后,然后你就可以在outputs文件夹下可以看到生成成功的你命名的jar文件
同时你可以看到在app\build\outputs\下面有一个arr文件,将app-release.arr文件改成zip文件解压后就可以看到Jar包和资源文件了
当然这个打出的jar也是src文件里面的java文件,如果里面需要涉及Activity引用资源的话,就可以借鉴
使用Eclipse将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
http://www.360doc.com/content/14/1114/12/9200790_425037686.shtml
这个里面有详细的介绍,我就是根据他说的那样借鉴的,记住是所有的在打成jar的Activity中如果有引用到资源的地方,MResource.getIdByName(getApplication(), "layout", "activity_main")使用类似于这样的方式,记住是所有的地方,我在做的时候就是因为只在Activity引用了,其他的地方也引用了资源文件,但是我却没有使用这样的引用,导致程序一直崩溃,千万要记住,不然真的会不知道怎么会无缘无故就不成功了