Android 编程下如何修改 jar 文件的包名

Android 编程下如何修改 jar 文件的包名

首先咱们要说说为何要修改 jar 文件的包名,jar 包咱们会很是高频率的使用,尤为是用一些其余三方库的时候,每每把 java 代码打包成 jar 文件,方便项目依赖使用。笔者在开发过程当中遇到过一些问题,是因为 jar 文件里面的包名和项目或者运行时环境的引用文件包名上存在冲突致使的,这时候咱们修改 jar 文件的包名是一个比较快速有效的解决办法。举两个例子,是笔者亲身经历的两个状况。html

  • Gson库:这个相信不少人都在使用,可是直接导入 gson 的 jar 包,在 HTC Desire HD 这款手机上会抛出异常(TypeNotFoundException)java

  • Jackson库:这也是个 json 解析的,咱们在作苹果推送后台的时候,后台用 java 写的,使用 java-apns 库,依赖于 Jackson,而后运行就会抛出异常,具体缘由没有查,初步怀疑包名冲突,修改以后就解决的。编程

下面介绍如何修改jar文件的包名,须要用到一个小工具,叫作 jarjar.jarjson

这里咱们以 gson.jar 为例,在 gson.jar 包目录下新建一个文本文件,名字随意,例如 rule.txt,写入下面的内容。google

rule com.google.gson.** com.google.mygson.@1

上面写的就是修改规则,咱们将包名中的 gson 修改成 mygson。打开命令行,输入以下命令。spa

java -jar jarjar.jar process rule.txt gson.jar mygson.jar

命令执行完毕,同目录下会多出一下 mygson.jar,这个就是修改包名以后的 jar 文件,咱们项目导入这个 jar 包使用便可。命令行

相关文章
相关标签/搜索