我過去兩天一直卡在現在。我想在我的一個示例應用程序中導入我自己的aar,然後使用它。我無法訪問aar內的類並獲得java.lang.NoClassDefFoundError
錯誤。無法從aar訪問課程
現在,因爲這是一個共同的問題,我已經試過以下至今,閱讀每一個相關的問題後:
1)要導入AAR:File -> New-> New Module -> Import .JAR/.AAR
,然後加入compile project(':Name-Of-Your-Project')
到gradle這個。
2)使用Maven插件和推動AAR通過使用gradle這個安裝,然後reffering在我gradle這個地方回購AAR本地Maven回購。
compile ('com.rsa.mobile.sdk.android:authsdk:3.6.0-SNAPSHOT:[email protected]'){
// transitive=true
}
注意:如果我取消了傳遞=真,我得到下面的異常,同時安裝該應用程序:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
3)改造和清潔工程作爲很多答案的建議。
4)唯一一件事情是沒有工作了是通過將一個目錄中的AAR然後reffering它像compile(name:'Name-Of-Your-Project', ext:'aar')
,加入
flatDir {
dirs 'libs'
}
在回購後。 我不認爲第四點應該重要,因爲現在正確的方式正如上面第1點所提到的那樣,但是隻是想把它表達出來。
有人可以請幫忙。它看起來像一個微不足道的問題,但我已經浪費了大約2天。
是您的類會被混淆? –
不,他們不是,我之前用不同的示例應用程序使用過相同的aar。這是我第一次面對這個問題。 – Sid
根據您的例外情況,您的方法數量超過64K;所以你應該使用'multidex'。 [這裏](https://developer.android.com/studio/build/multidex.html)就是細節。 –