重新编译apktool生成的代码时出现以下错误:
d2j-dex2jar b base
错误:
java.nio.file.NoSuchFileException:b at sun.nio.fs.WindowsException.translateToIOException(Unknown Source) at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(Unknown Source) at java.nio.file.Files.newByteChannel(Unknown Source) at java.nio.file.Files.newByteChannel(Unknown Source) at java.nio.file.Files.readAllBytes(Unknown Source) 在com.googlecode.d2j.reader.zip.ZipUtil.readDex(ZipUtil.java:57) 在com.googlecode.d2j.reader.zip.ZipUtil.readDex(ZipUtil.java:53) 在com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java) :104) 在com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288) 在com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)
答案 0 :(得分:0)
您使用的标志不正确。因此错误说:我不明白你:'b'文件不存在。更仔细地阅读帮助。
修改强>
d2j-dex2jar --help
d2j-dex2jar - 将dex转换为jar
用法:d2j-dex2jar [options] [file1 ... fileN]
选项:
-d, - debug-info翻译调试信息
-e, - 异常文件详细信息异常文件,默认为 $ current_dir / [文件名] -error.zip
-f, - 强制重写
-h, - help打印此帮助信息
-n, - not-handle-exception不处理任何抛出的异常 dex2jar
-o, - 输出输出.jar文件,默认为 $ current_dir / [文件娜 我] -dex2jar.jar
-os, - optmize-synchronized optmize-synchronized
-p, - print-ir print ir to Syste.out
-r, - 在生成java .class时,reuse-reg重用regiter 文件
-s与--topological-sort / -ts
相同-ts, - topological-sort排序块按拓扑,即将 产生更多 可读代码
-v, - 详细显示进度
版本:reader-1.15,translator-0.0.9.15,ir-1.12
请汇编和解散,请阅读手册:
https://sourceforge.net/p/dex2jar/wiki/ModifyApkWithDexTool/
# build jar
d2j-jasmin2jar.sh -f -o test_apk_jasmin.jar test_apk_jasmin/
# verify jar
d2j-asm-verify.sh test_apk_jasmin.jar
# convert to dex
d2j-jar2dex.sh -f -o classes.dex test_apk_jasmin.jar
# make a copy
cp test_apk-debug.apk test_apk-debug-toast.apk
# replace classes.dex in test_apk-debug-toast.apk
zip -r test_apk-debug-toast.apk classes.dex
# sign the apk
d2j-apk-sign.sh -f -o test_apk-debug-toast-signed.apk test_apk-debug-toast.apk