[英]Hitting 65k Dex method limit but dex-method-count tools says there is much fewer
[英]Hitting 65k method dex limit for test builds
我的應用程序低於常規構建的 dex 限制,但為測試構建提供 dex 限制構建錯誤:
Conversion to Dalvik format failed:
Unable to execute dex: method ID not in [0, 0xffff]: 65536
似乎是因為添加了這些用於測試的庫:
androidTestCompile 'org.mockito:mockito-core:1.10.19'
androidTestCompile 'org.powermock:powermock-api-mockito:1.6.5'
androidTestCompile 'org.powermock:powermock-module-junit4:1.6.5'
我知道我可以進行 multidex 構建,但我想盡可能避免它,這樣我的構建時間就不會增加 - 這將是最后的手段。 由於我的目標是 API 19 設備,因此我也無法將 minSdkVersion 設置為 21 以進行調試版本。 我真的很想繼續使用上述庫 - 這些沒有好的替代品。
在我的 gradle 配置下,我可以做些什么來將 multidex 限制為僅用於測試版本? 或者任何其他可能的解決方案?
在你的構建腳本中試試這個,讓 proguard 縮小你的代碼:
android {
buildTypes {
debugTest.initWith(debug)
debugTest {
minifyEnabled true
}
}
}
...
android {
testBuildType 'debugTest'
}
從stackoverflow.com/questions/21463089/proguard-gradle-debug-build-but-not-the-tests采用
您可以創建一個新的構建風格,僅用於在高 api 級別上進行測試/開發。 它看起來像這樣:
android {
productFlavors {
testing {
minSdkVersion 21
}
}
}
您可以將您也將放入 defaultConfig 的任何配置放入您的自定義“測試”風格中。
定義后,您可以使用左下角的 Build Variants 工具窗口在 Android Studio 中切換到這種風格。 您可以使用assembleTestingDebug
使用 gradle 構建它。 您可以根據自己需要的不同配置定義盡可能多的風格。
http://tools.android.com/tech-docs/new-build-system/user-guide
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.