工程加入混淆后,合并core.odex等文件会报错
1、准备工作
工具:baksmali.jar、smali.jar
JAVA环境已经确定装好
2、新建一个文件odex,并把system/framework整个文件夹copy到当前目录odex
3、 java -jar baksmali.jar -d ./system/framework -x core.odex
执行这个指令一般也会报错,但会生成out文件,里边有对应的smail文件
4、把out文件修改成core文件,并执行
java -jar smali.jar core/ -o core.dex
执行这个指令会出现如下错误
core\org\apache\harmony\dalvik\ddmc\DdmServer.smali[34,0] mismatched input '' expecting END_METHOD_DIRECTIVE
core\org\apache\harmony\security\utils\AlgNameMapper.smali[56,0] mismatched input '' expecting END_METHOD_DIRECTIVE
core\dalvik\system\CloseGuard.smali[32,0] mismatched input '' expecting END_METHOD_DIRECTIVE
core\java\lang\Daemons$FinalizerWatchdogDaemon.smali[214,0] no viable alternative at input ''
core\java\lang\RealToString.smali[33,0] mismatched input '' expecting END_METHOD_DIRECTIVE
core\java\math\Conversion.smali[395,0] no viable alternative at input ''
core\java\security\SecureRandom.smali[343,0] no viable alternative at input ''
core\java\util\concurrent\atomic\Fences.smali[31,0] mismatched input '' expecting END_METHOD_DIRECTIVE
core\libcore\io\DropBox.smali[24,0] mismatched input '' expecting END_METHOD_DIRECTIVE
core\libcore\io\EventLogger.smali[24,0] mismatched input '' expecting END_METHOD_DIRECTIVE
把出现错误的文件全部删掉,比如DdmServer.smali等等
然后再执行指令,最后会生成dex文件