android----R8混淆編譯

當gradle 版本在5.1.1及其以上(或許以下某個版本就支持了)使用了新的混淆、壓縮編譯方法——R8。

在本地操作的時候,這沒有任何問題,當使用自動化部署打包的時候——JENKINS。問題出來了,在R8編譯這一過程就報錯:

Expiring Daemon because JVM Tenured space is exhausted
Daemon will be stopped at the end of the build after running out of JVM memory

OK,暫且認爲是jvm空間不夠,好我給擴大點

org.gradle.jvmargs=-Xmx2048m

依然這個地方,依然一樣的錯誤信息。
不夠?我再來。4G夠不夠?不夠。10G夠不夠?不夠。坑爹呢?
在這裏插入圖片描述
然後我就按照build過程中給的提示:

R8 is the new Android code shrinker. If you experience any issues, please file a bug at
https://issuetracker.google.com, using ‘Shrinker (R8)’ as component name. You can
disable R8 by updating gradle.properties with ‘android.enableR8=false’.
Current version is: 1.4.77 (build b74371231cb896b02f83285efb055b7c00ff64d8 from go/r8bot (luci-r8-ci-archive-0-eqqf)).

android.enableR8=false
好了,現在能編譯通過了。但是未來呢?
還有另一個方法:
buildTypes裏的編譯環境全都不要混淆,like this:

minifyEnabled false
zipAlignEnabled false
shrinkResources false

好了,編譯也通過了,但是…坑爹呢?!!!

然後按照提示來到了官網提交問題(bug):issue地址
果不其然,我被偉大的牆卡住了。。。
先就這樣吧。
哈哈哈哈哈哈哈


後續地址戳這裏

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章