ciz*_*zon 118 android gradle flutter
我开发的一个Flutter Android应用今天突然编译错误。
错误:
任务“:app:processDebugResources”执行失败。
Android资源链接失败/Users/xxx/.gradle/caches/transforms-2/files-2.1/5d04bb4852dc27334fe36f129faf6500/res/values/values.xml:115:5-162:25: AAPT:错误:资源android:attr/lStar未找到。
错误:链接引用失败。
使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。
构建在 16 秒内失败。
Sau*_*mar 56
使用此处的答案 将compileSdkVersion和targetSdkVersion更新为31
并在 android/build.gradle 文件的最后添加此代码片段。
configurations.all {
resolutionStrategy {
force 'androidx.core:core-ktx:1.6.0'
}
}
Run Code Online (Sandbox Code Playgroud)
最近,audioplayers 包的原作者在他最近的 PR 中修复了这个问题。它已在音频播放器版本中修复0.20.1,因此如果您的问题与音频播放器有关,请升级。
Nit*_*rix 41
对于那些像我一样在应用程序上下文中遇到此问题并使用早于(在我的情况下)Cordova之前的 Android API 版本的人,我找到了一种绕过它的干净方法。3129
如果您正在使用该插件cordova.plugins.diagnostic,请先将其卸载,然后使用以下参数重新安装:
cordova plugin add cordova.plugins.diagnostic --variable ANDROIDX_VERSION=1.0.0
Run Code Online (Sandbox Code Playgroud)
刷新整个android平台,你的项目不应该androidx.core:core:1.7.0-beta02再使用了。
线程中已经提到的解决方案(强制某个版本的包的 gradle 规则)将无法使用,Cordova因为它自己处理整个 gradle 过程(收集插件依赖项、config.xml 设置并处理所有内容),并且确实很难覆盖特定的事物。我没有设法使用resolutionStrategy例如来解决我们的问题。
迁移到Android API 31并不总是一个简单的解决方案(插件和依赖项需要特别支持它)
相反,我尝试查找我安装的哪些插件具有链接到该androidx.core:core包的依赖项,这会破坏其1.7.0-beta02版本中的所有内容。
我的列表中没有人直接使用它,但我发现(在built的帮助下build.gradle)使用了以下包androidx.appcompat:appcompat,并且由于它也与之相关AndroidX,所以我挖掘了一下,很快发现该版本用于这是1.+(最新的 1.xx)。
检查 mavenrepo,androidx.appcompat:appcompat是否有我们的 bug 包androidx.core:core作为依赖项(1.7.0-beta02最新的)。
使用 IDE 快速搜索后,我找到了依赖项的定义:
<framework src="androidx.appcompat:appcompat:$ANDROIDX_VERSION" />
Run Code Online (Sandbox Code Playgroud)
它被一个名为 的插件使用cordova-diagnostic-plugin。(在项目中很常见Cordova,它基本上处理 Android 设置、权限和硬件内容)
我注意到环境变量用于定义包版本(默认设置为1.+)。继续查看该插件的 GitHub 文档:https://github.com/dpa99c/cordova-diagnostic-plugin#androidx-library会告诉您,在使用 Cordova 命令安装插件时,您确实可以设置自定义版本。
我做了什么(我首先删除了插件):
cordova plugin add cordova.plugins.diagnostic --variable ANDROIDX_VERSION=1.0.0
Run Code Online (Sandbox Code Playgroud)
重建android平台后,我开始了新的构建,终于成功了!
androidx.appcompat:appcompat:1.0.0以及androidx.core:core其1.0.0版本中的包都被使用。没有更多error: resource android attr/lStar not found问题了!
总结一下:检查您的插件依赖项,如果可能,设置静态版本而不是“最新”。这样,您可以(在大多数情况下)避免使用alpha/beta 版本,这可能不稳定或不支持您当前的环境。
小智 34
我这样做是为了在我的 Flutter 应用程序中解决这个问题。
android/app项目androidx.core:core-ktx:+。在大多数情况下,这可以在 build.gradle 文件中找到。androidx.core:core-ktx:+为androidx.core:core-ktx:1.6.0就我而言,我遇到了依赖问题audioplayers: ^0.17.3。该+标志导致了错误。
iOS*_*use 25
当我创建新的 Android 应用程序时,我在 Android Studio 中收到此错误。依赖项中的 appcompat 和 core-ktx 的最新版本似乎是问题所在。
打开build.gradle,查看依赖项
将 appcompat 回滚到 1.3.0
将 core-ktx 回滚到 1.6.0
点击“立即同步”(应该位于右上角)
dependencies {
...
//implementation 'androidx.appcompat:appcompat:1.4.0'
//implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'androidx.core:core-ktx:1.6.0'
...
}
Run Code Online (Sandbox Code Playgroud)
重新运行你的程序并祈祷吧。
Bha*_*and 24
我遇到了同样的错误
C:\Users\pc.gradle\caches\transforms-2\files-2.1\7a25962662620ee4f1493c07e779c7ef\core-1.7.0\res\values\values.xml:105:5-114:25: AAPT: 错误:
资源 android:attr/lStar 未找到。
通过 = 解决此问题
在build.gradle中替换compileSdkVersion 30
to
Run Code Online (Sandbox Code Playgroud)
编译SdkVersion 31
Cod*_*ker 10
此错误的解决方案可能会根据我们用于构建应用程序的平台而变化。
对于科尔多瓦来说,
重新安装cordova.plugins.diagnostic插件
cordova plugin add cordova.plugins.diagnostic --variable ANDROIDX_VERSION=1.0.0
Run Code Online (Sandbox Code Playgroud)
对于反应本机,
重新安装@react-native-community/netinfo库
对于 Android Studio,
在 build.gradle(app) 文件中指定 Android 核心依赖项的特定或稳定版本。
dependencies {
...
implementation "androidx.core:core-ktx:1.6.0"
}
Run Code Online (Sandbox Code Playgroud)
小智 9
这个问题的主要根源是appcompat库。作为运行项目的快速修复,您可以使用低于 1.4.0 的 appcompat 版本,即您可以切换到 appcompat 版本
实现 'androidx.appcompat:appcompat:1.3.0'
或以下。
删除所有 build.gradle 文件中项目依赖项中的动态版本
例子:
"androidx.core:core-ktx:+"
Run Code Online (Sandbox Code Playgroud)
删除依赖项 { }中的 + 或 ^ 运算符并提及特定版本或稳定版本
"androidx.core:core-ktx:1.6.0"
Run Code Online (Sandbox Code Playgroud)
来源:https ://flutter.dev/docs/development/packages-and-plugins/using-packages
我通过更改这些解决了这个问题compileSdkVersion 31, targetSdkVersion 31并且classpath 'com.android.tools.build:gradle:4.0.2'
如果您使用 React Native 并在 2022 年 11 月 4 日之后开始遇到此问题,则它可能与下一个已知问题有关:https://github.com/facebook/react-native/issues/35210
为了尝试这是否是导致您出现问题的原因,您可以升级react-native到该链接中指定的相应补丁版本。
这样做解决了“错误:资源 android:attr/lStar 未找到”问题以及其他两个突然发生的问题,因此可能值得一试!
| 归档时间: |
|
| 查看次数: |
160639 次 |
| 最近记录: |