Android修改jar文件包名的方法分享
前言
jar 包我们会非常高频率的使用,尤其是用一些其他三方库的时候,往往把 java 代码打包成 jar 文件,方便项目依赖使用。
带来的问题是, 多个jar包容易出现包名冲突.
这时候我们修改 jar 文件的包名是一个比较快速有效的解决办法。
举两个例子,是笔者亲身经历的两个情况。
- Gson库:这个相信很多人都在使用,但是直接导入 gson 的 jar 包,在 HTC Desire HD 这款手机上会抛出异常(TypeNotFoundException)
- Jackson库:这也是个 json 解析的,我们在做苹果推送后台的时候,后台用 java 写的,使用 java-apns 库,依赖于 Jackson,然后运行就会抛出异常,具体原因没有查,初步怀疑包名冲突,修改之后就解决的。
下面介绍如何修改jar文件的包名,需要用到一个小工具,叫做 jarjar.jar
jarjar.jar下载
下载地址:http://code.google.com/p/jarjar/downloads/list
这里我们以 gson.jar 为例,在 gson.jar 包目录下新建一个文本文件,名字随意,例如 rule.txt,写入下面的内容。
rule com.google.gson.** com.google.mygson.@1
上面写的就是修改规则,我们将包名中的 gson 修改为 mygson。打开命令行,输入如下命令。
java -jar jarjar.jar process rule.txt gson.jar mygson.jar
命令执行完毕,同目录下会多出一下 mygson.jar,这个就是修改包名之后的 jar 文件,我们项目导入这个 jar 包使用即可。
总结
以上就是这篇文章的全部内容了,希望本文的内容对各位Android开发者们能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
相关文章
Android pdf viewer在android studio应用问题说明详解
这篇文章主要介绍了Android pdf viewer在android studio应用问题说明的相关资料,本文介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下2016-09-09android中图片的三级缓存cache策略(内存/文件/网络)
实现图片缓存也不难,需要有相应的cache策略。这里我采用 内存-文件-网络 三层cache机制,其中内存缓存包括强引用缓存和软引用缓存(SoftReference),其实网络不算cache,这里姑且也把它划到缓存的层次结构中2013-06-06解决android studio android monitor打不开的问题
下面小编就为大家分享一篇解决android studio android monitor打不开的问题,具有很的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-01-01Android程序开发之自定义设置TabHost,TabWidget样式
这篇文章主要介绍了Android程序开发之自定义设置TabHost,TabWidget样式的相关资料,需要的朋友可以参考下2016-03-03使用Android的OkHttp包实现基于HTTP协议的文件上传下载
OkHttp(GitHub主页https://github.com/square/okhttp)是近来人气攀升的一款安卓第三方HTTP包,这里我们来讲解一下如何使用Android的OkHttp包实现基于HTTP协议的文件上传下载:2016-07-07
最新评论