更新到 Android 3.0 和 SDK 27 后出现错误
Errors after updating to Android 3.0 and SDK 27
在 Android Studio 发布到 3.0 后,我被迫将我的 SDK 从 25 更新到 27(库问题)。
但现在当尝试构建我的应用程序时,我收到下一条错误消息:
>Information:Gradle tasks [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar]
C:\Users\Alice\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.0.0.aarec32742d97434c1d2e0dbe96345ab9\res\values\values.xml
Error:(252, 5) error: resource android:attr/foregroundInsidePadding is private.
C:\Users\Alice\AndroidStudioProjects\Ghiduldrumetului cu Loco\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml
Error:(941) resource android:attr/foregroundInsidePadding is private.
Error:failed linking references.
Error:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt
Information:BUILD FAILED in 16s
Information:7 errors
Information:0 warnings
Information:See complete output in console
有什么解决方法的建议吗?
我修复了将 android.enableAapt2=false 添加到 gradle.properties 文件。
尝试通过将 android.enableAapt2=false 添加到您的 gradle.properties 文件来禁用 AAPT2。
启用 AAPT2 时构建可能会失败。此外,AAPT2 目前与 Robelectric 不兼容。如果您的构建由于 AAPT2 资源处理问题而失败,或者您想使用 Roboelectric,您可以通过在 gradle.properties 文件中设置 android.enableAapt2=false 并重新启动 Gradle 守护程序来禁用 AAPT2通过 运行 ./gradlew -- 从命令行停止。
参考:
https://developer.android.com/studio/build/gradle-plugin-3-0-0.html
检查您是否在资源中的任何地方使用 "android:attr/foregroundInsidePadding"。它应该是 "attr/foregroundInsidePadding" 而不是。
更多信息:https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#aapt2
在 Android Studio 发布到 3.0 后,我被迫将我的 SDK 从 25 更新到 27(库问题)。
但现在当尝试构建我的应用程序时,我收到下一条错误消息:
>Information:Gradle tasks [:app:generateDebugSources, :app:generateDebugAndroidTestSources, :app:mockableAndroidJar]
C:\Users\Alice\.gradle\caches\transforms-1\files-1.1\appcompat-v7-27.0.0.aarec32742d97434c1d2e0dbe96345ab9\res\values\values.xml
Error:(252, 5) error: resource android:attr/foregroundInsidePadding is private.
C:\Users\Alice\AndroidStudioProjects\Ghiduldrumetului cu Loco\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml
Error:(941) resource android:attr/foregroundInsidePadding is private.
Error:failed linking references.
Error:java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:processDebugResources'.
> Failed to execute aapt
Information:BUILD FAILED in 16s
Information:7 errors
Information:0 warnings
Information:See complete output in console
有什么解决方法的建议吗?
我修复了将 android.enableAapt2=false 添加到 gradle.properties 文件。
尝试通过将 android.enableAapt2=false 添加到您的 gradle.properties 文件来禁用 AAPT2。
启用 AAPT2 时构建可能会失败。此外,AAPT2 目前与 Robelectric 不兼容。如果您的构建由于 AAPT2 资源处理问题而失败,或者您想使用 Roboelectric,您可以通过在 gradle.properties 文件中设置 android.enableAapt2=false 并重新启动 Gradle 守护程序来禁用 AAPT2通过 运行 ./gradlew -- 从命令行停止。
参考: https://developer.android.com/studio/build/gradle-plugin-3-0-0.html
检查您是否在资源中的任何地方使用 "android:attr/foregroundInsidePadding"。它应该是 "attr/foregroundInsidePadding" 而不是。
更多信息:https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#aapt2