有的时候,可能需要直接修改java class文件,反编译得到源码后,可能会遇到很多类报错,若是只修改要改的class文件,不失为一个好的方式。
1. 使用JD-GUI查看jar,并保存源码
得到了Test.java源码文件
2. 修改Test.java源码文件
比如,加了日志输出啥的
3. 重新编译Test.java源码文件,得到Test.class
javac -cp 源码.jar Test.java
3.1 若是,遇到错误:Test.java:20: 错误: 编码GBK的不可映射字符
,则需要指定java文件的编码方式,使用以下命令:
javac -cp 源码.jar -encoding UTF-8 Test.java
3.2 若是,遇到错误:Test.java:3: 错误: 程序包android.content不存在
,这是缺少android.jar导致(缺少其它jar类似,使用;
符引入即可)
javac -cp 源码.jar;android.jar -encoding UTF-8 Test.java