android代码生成jar包

Posted 远航的孤帆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android代码生成jar包相关的知识,希望对你有一定的参考价值。

前沿:有时候我们的android项目会有核心算法或代码,一般这种情况会把算法(cpp文件等)打成so文件,把代码进行整理打成jar包或aar包;今天我们就来讨论怎样把算法打成so文件,怎样把关键代码打成jar包。

怎样把算法封装成so文件?首先我们知道算法是C语言写的,这里我们用jni来完成项目与算法的传值(后续补充jni用法),用cmake来编译成so文件(后续补充cmake用法),步骤如下:

1.若没有cpp文件夹,自己建一个,把算法文件放在cpp文件下,之后创建cpp文件,写用jni与算法通信的方法;

2.选择此项目,选择菜单栏中的Build——>RebuildProject;

3.查看项目的build——>intermediates——>cmake——>debug——>obj文件夹下的文件,这些便是生成的so库:

怎样把关键代码打成jar包? 首先要搞明白jar和aar的应用场景,这里不做解释,接下来我们讨论打成jar包的方法:

1.利用myeclipse开发软件,新创建java项目,把关键代码copy到src下,关键代码包括包和类;

2.打成jar:项目右键选择export——>JAR file——>Next——>

3.成功打成jar,有时需要混淆,接下来是最最最基础的混淆jar方式,首先下载proguard文件(我用的proguard5.1),双击projuardgui.bat;

双击后:

4.设置参数1:

5.保持哪些类不被混淆,一般不被混淆的类或接口都是要暴露给用户调用的:

如果有接口,再添加interface的配置

6.开始混淆:

混淆成功,去指定位置找jar就ok了

7.查看native方法,获取混淆后的包名和方法名称,在代码jni的cpp文件中修改,最后再重新打包so文件;

这样就算完成了,也许不太详细,但希望能给大家带来帮助,如有不正确的地方,还望不吝赐教,共同进步!

以上是关于android代码生成jar包的主要内容,如果未能解决你的问题,请参考以下文章

android 怎么实现只混淆自己的代码,而不混淆第3方jar包

Android-android 怎么实现只混淆自己的代码,而不混淆第3方jar包

android studio 代码混淆如何忽略第三方jar包

Android源码开发记录-自定义系统服务和jar包生成

Android Studio 生成混淆后的jar包

android studio怎么导出jar包