1. 程式人生 > >用dx生成dex時遇到class name does not match path

用dx生成dex時遇到class name does not match path

out blog body .bat dex class ima 遇到 問題

前言


用dx生成dex時遇到class name (Hello) does not match path這個問題還弄了挺久,這裏就簡單的記錄一下。

步驟


  • 首先是dx工具是在Android的SDK裏面的,在SDK\build-tools下可以找到dx.bat

技術分享圖片

  • 然後為了避免版本的問題,我們把java文件放到dx.dat的目錄下,在當前目錄打開dos然後輸入命令生成class文件,這裏會生成警告但是可以不管。

    javac -source 1.6 -target 1.6 D:\Android\sdkme\build-tools\25.0.1\Hello.java

  • 生成了class後就可以用dx.bat生成dex文件,這裏可以看到當我的class文件是絕對路徑的時候就會出錯,但是很多人用的都是絕對路徑才可以,然後我們回看到生成class時的警告:未設置引導類路徑,所以我們生成dex時不能使用絕對路徑

   .\dx.bat --dex --output=Hello.dex .\Hello.class

技術分享圖片

技術分享圖片

技術分享圖片

總結


如果我們使用javac -source 1.6 -target 1.6 D:\Android\sdkme\build-tools\25.0.1\Hello.java生成class文件並且有警告未設置引導類路徑時,生成dex時使用class的相對路徑

如果我們是用Javac Hello.java生成的class文件,用dx.dat時就要用絕對路徑來生成dex文件

用dx生成dex時遇到class name does not match path