本人的运行环境:
Ubuntu16.04LTS
Windows10
Android Studio3.1.2
问题阐述:
当我们从Windows上传Android项目到GitHub,在Ubuntu下克隆项目;或从Ubuntu上传Android项目到GitHub,在Windows克隆项目时:
可能会遇到如下编译不通过的其中3种问题(在build窗口和Event Log窗口显示):
Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: AAPT2 error: check logs for details
AAPT2 error: check logs for details
Caused by: java.util.NoSuchElementException
我们可能会采取以下几种办法:
1.在gradle.properties加上:
android.enableAapt2=false
在app的build.gradle加上
android{
aaptOptions {
cruncherEnabled=false
useNewCruncher=false
}
}
2.在gradle.properties加上:
android.enableAapt2=true
3.在gradle.properties去掉Aapt配置:
# android.enableAapt2=true
但是都没用。还是会产生以上2种Exception或Aapt2 error。
解决步骤:
我们克隆了GitHub的项目,到打开Android Studio界面时,选择"Close Project":
弹出欢迎界面后,选择"Import project (Gradle, Eclipse ADT, etc.)"
完成上面2步后,无论在Ubuntu系统还是Windows系统下操作,都是能正常运行项目。
相同解决方法的其它问题:
1.原本都能在Ubuntu和Windows运行的Android项目,突然在某一系统不能运行,也是出现上述2种Exception或Aapt2 error。这时也是按照上述2个步骤,关闭项目再导入项目来完成。没有必要删除项目下的.gradle文件夹和.idea文件夹。
2.我们一般都在Windows开发Android,较少在Ubuntu下开发。在Ubuntu下导入某些第三方库的demo,会无法编译运行。这时也是上述的2个步骤解决该问题。