titanium module: java 调试时注意的问题: ti clean不彻底. 需要手动删除module
访问量: 2628
如题。
昨天遇到的问题很奇怪, 明明在module中可以通过编译, 但是在ti project中却无法通过编译, 错误是:
Failed to run dexer. 然后抛出好长一串错误。 其中提到一句: already import xx class
参考了个别人的意见 ( https://developer.appcelerator.com/question/177319/random-error-failed-to-run-dexer) 却还是不行。
运行了 $ ti clean 也不起作用。
更新了module中的lib, 删掉了其中的一个无用的jar 包, (SMS.xx.jar) 再次编译ti project, 结果还报错,说SMS already xxx ,
于是才知道问题所在,肯定是有多余的文件残留。 下面是完整的dex命令, 可以看到,其中有多个版本的ShareSDK-QQ, Core, 还有没删干净的SMS。。。
/workspace/coding_tools/jdk1.7.0_75/bin/java "-Xmx1024M" "-XX:-UseGCOverheadLimit" "-Djava.ext.dirs=/workspace/coding_tools/android-sdk-linux/platform-tools" "-jar" "/workspace/coding_tools/android-sdk-linux/build-tools/20.0.0/lib/dx.jar" "--dex" "--output=/workspace/test_ti_login/build/appify/build/android/bin/classes.dex" "/workspace/test_ti_login/build/appify/build/android/bin/classes" "/home/sg552/.titanium/mobilesdk/linux/3.5.1.GA/android/lib/titanium-verify.jar" "/workspace/test_ti_login/build/appify/modules/android/com.happysoft.login/1.0.0/test_ti_module_qq_login.jar" "/workspace/test_ti_login/build/appify/modules/android/com.happysoft.login/1.0.0/lib/SMSSDK-1.1.0.jar" "/workspace/test_ti_login/build/appify/modules/android/com.happysoft.login/1.0.0/lib/ShareSDK-Core-2.5.8.jar" "/workspace/test_ti_login/build/appify/modules/android/com.happysoft.login/1.0.0/lib/ShareSDK-Core-2.5.9.jar" "/workspace/test_ti_login/build/appify/modules/android/com.happysoft.login/1.0.0/lib/ShareSDK-Email-2.5.8.jar" "/workspace/test_ti_login/build/appify/modules/android/com.happysoft.login/1.0.0/lib/ShareSDK-Facebook-2.5.8.jar" "/workspace/test_ti_login/build/appify/modules/android/com.happysoft.login/1.0.0/lib/ShareSDK-Facebook-2.5.9.jar"
通过 $ ti clean 后,发现modules 这个目录没有被删掉。 所以结论:
$ ti clean 是不彻底的,需要 手动 $ rm modules -rf