安卓学习笔记---将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)

时间:2022-02-20 09:09:39

最近老板叫我将自己写的代码打成一个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改成我标注的代码

安卓学习笔记---将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)

  第一个被注掉的是运行程序要用的,打包的时候先注掉,打完包之后可以再改回来.

2.第二步是将一下提示的注释掉,在打包的时候可能会报错

安卓学习笔记---将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)


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)
安卓学习笔记---将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)

4.第四步在Android Studio 中打开Terminal,在你的项目根目录下输入如下命令:gradlew makeJar,点击回车会给你一个成功的提示即可成功生成.,如果失败了再根据失败的内容进行解决

安卓学习笔记---将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)

安卓学习笔记---将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)

提示成功之后,然后你就可以在outputs文件夹下可以看到生成成功的你命名的jar文件

安卓学习笔记---将Activity打成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引用了,其他的地方也引用了资源文件,但是我却没有使用这样的引用,导致程序一直崩溃,千万要记住,不然真的会不知道怎么会无缘无故就不成功了安卓学习笔记---将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)安卓学习笔记---将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)安卓学习笔记---将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)