Jenkis + Gradlew 打包Android出错解决

https://www.jianshu.com/p/7c2f34b5f133

按照网上教程配置Jenkins,还没有加复杂的参数设置,最基本的build都fail,本地Android studio编译通过。log 如下,

C:\Windows\System32\config\systemprofile.gradle\caches\transforms-1\files-1.1\appcompat-v7-26.1.0.aar\05c0b4777c5dc48a4a10adf8ff0bb34a\res\drawable-hdpi-v4\abc_ic_menu_share_mtrl_alpha.png: error: file not found.

C:\Windows\System32\config\systemprofile.gradle\caches\transforms-1\files-1.1\design-26.1.0.aar\8618dd80b49572c8bf351aec2a95032c\res\layout\design_navigation_item.xml: error: file not found.

C:\Windows\System32\config\systemprofile.gradle\caches\transforms-1\files-1.1\appcompat-v7-26.1.0.aar\05c0b4777c5dc48a4a10adf8ff0bb34a\res\layout\abc_action_bar_up_container.xml: error: file not found.

C:\Windows\System32\config\systemprofile.gradle\caches\transforms-1\files-1.1\play-services-base-9.0.2.aar\3bac6c3e2556d905514d01e21e6c6704\res\drawable\common_google_signin_btn_text_dark.xml: error: file not found.

网上很多答案都是,在gradle.properties中加入android.enableBuildCache=false和android.enableAapt2=true,但是并没有用。而且BuildCache去掉了还是会影响build的。https://stackoverflow.com/questions/43674890/jenkins-gradle-appmergedebugresources-unable-to-open-png-file/51320353#51320353

上面fail的原因应该是路径过长,Windows下Jenkins首先就去C:\Windows\System32\config里找,而我们知道.gradle本身是在C:\Users\someuser路径下的,所以只要在Jenkins --> Manage Jenkins --> Configurate System下,增加一个Environment Variable,健:GRADLE_USER_HOME,值:C:/Users/someuser,同时在Windows的环境变量里也添加一个同样的。就可以了。

最后这个bug在Windows10上有,Mac上没有。

后记,今天偶然发现的,不需要设置USER_HOME环境变量,只要在job config的build中,勾选 Force GRADLE_USER_HOME to use workspace即可。

你可能感兴趣的:(Jenkis + Gradlew 打包Android出错解决)