jar 轉dex 報bad class file magic (cafebabe) or version錯誤

    在作動態加載時有一步是要將jar 轉化爲dex,用到了dx工具。以前項目在Eclipse上生成jar包轉化爲dx很正常,可是最近把項目遷移到Android Studio上生成的jar在轉化dx報了bad class file magic (cafebabe) or version (0033.0000)錯誤java

在網上搜了一圈,獲得的緣由是生成jar包的jdk和進行dx化的jdk版本不一樣,也給出瞭解決辦法,將java文件版本下降:工具

javac -source 1.6 -target 1.6  xx.Java測試

可是對我不適用,由於我這有上百個java文件須要下降版本,並且Android Studio上jdk版本是最新的1.8.所以推測從dx使用的jdk入手會有解決方法。個人dx工具是從網上下載的,之前只知道怎麼用,不知道里面都有哪些東西,zip包裏只包含了dx.bat,dex.jar。dx.bat中有一句:ui

set jarfile=dx.jar.net

並且後面的命令就是調用dx.jar,因爲電腦上只安裝了jdk1.8,經過環境變量獲取到java版本也必是這個,惟一的可能就是dx.jar太舊,在sdk目錄下的build-tools裏面找到最新版本的dx替換,測試一下,正常!ip

並且以後在Stack Overflow上也找到了一樣的解決辦法:get

相關文章
相關標籤/搜索