步骤
- 使用jd-gui查看jar文件或者把jar文件放到AndroidStudio中查看需要修改的X.class文件代码,复制出代码,在AndroidStudio中新建同名的X.java文件(新建javaLibModule),复制X.class文件中代码。
- 同步AndroidStudio工程,确保工程正确运行,并且X.java文件中没有引入新的包。
- 解压jar包
先进入X.jar所在目录
jar -xvf X.jar
- 从AndoridStudio的build文件夹中找出来X.class文件,拷贝到解压后的jar包中
- 重新打jar包
jar -cvf X.jar ./
- 替换META-INF/MANIFEST.MF文件,到打包后的X.jar包中。用上一个命令打出的包,MANIFEST.MF文件中是没有入口类的信息的,需要更新正确的清单文件
jar umf META-INF/MANIFEST.MF X.jar
- 测试看是否能正常运行
补充
jar 命令的一些操作
- 把A和Bclass文件加入到class.jar包中
jar cvf classes.jar A.class B.class
- 使用META-INF/MANIFEST.MF清单文件,将bytime目录内的所有文件打包成class.jar
jar cvfm classes.jar META-INF/MANIFEST.MF -C bytime/ .
- 更新META-INF/MANIFEST.MF清单文件
jar umf META-INF/MANIFEST.MF X.jar
ByTime修改记录
- 工程:ByTimeProject
- Pictrue修改了文字大小
修改Picture时,需要把Bean中class全部拷贝出来,还要一个Base64.class文件。 - service/OrderProByTime修改了地址可添加
- 修改了service/OrderProByTime,ftlNum数量为imgNum
- 修改service/OrderProByTime,orderProPicuture.getImg(personD, lineTimes.get_times(orderDataSource[0], imgNum, 1)改成时间不改变,直接输入显示
- Picture中getImg删除了手机号,修改了生成图片的目录为C。
- Times中get_times,增加了timeRand
- OrderProByTime中getImg增加了filePath参数
- ByTime10电话号码去掉了;一张照片一个时钟点数。
- ByTime9,手机序列号IMEM和电话去掉 时间放在地址的下面。