gpt4 book ai didi

为版本 > 5.0 的设备构建时,Android Studio 找不到资源

转载 作者:行者123 更新时间:2023-11-29 01:11:37 24 4
gpt4 key购买 nike

当我尝试在 Linux 下为 Android 版本 > 到 5.0 (lollipop) 的 android 设备构建项目时,我发现我的项目有一个奇怪的行为。

错误信息是:

Error:(5, 28) No resource found that matches the given name (at 'versionName' with value '@string/Application_Version').

消息指向我的 AndroidManifest.xml 文件,其中包含:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.testApplication"
android:versionCode="1"
android:versionName="@string/Application_Version"
split="lib_dependencies_apk">
</manifest>

当我在低于 5.1 的设备上测试我的应用程序时,它按预期工作,没有任何警告/错误(因为字符串 Application_Version 存在并且被完美找到)但是当我尝试5.1 或更高版本的设备(真实的或模拟的),它向我抛出此消息。

我最近将我的 Android Studio 更新到 2.3,因为它会产生此错误消息。使用 AS 2.2 我没有任何问题...

我已经尝试通过做一些我在 SO 上发现的类似问题来解决这个问题,比如清理缓存并重新启动,手动删除构建文件,使用 ./gradlew clean 清理我的项目并重新导入我的项目,但似乎没有任何效果直到现在。

最佳答案

根据这个问题: https://code.google.com/p/android/issues/detail?id=235893

您必须将 versionName 移动到 app/build.gradle 文件中。如果您想根据这个 StackOverflow 问题访问 xml 布局文件中的 versionName: Reference build.gradle versionName attribute in xml layout

你应该这样做:

    android {
...
defaultConfig {
applicationId "se.test.myapp"
minSdkVersion 14
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
...
applicationVariants.all { variant ->
variant.resValue "string", "versionName", variant.versionName
}
...
}

关于为版本 > 5.0 的设备构建时,Android Studio 找不到资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42604987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com