当为版本> 5.0的设备构建时,Android Studio找不到资源
问题描述:
当我尝试使用Linux版本的Android版本> 5.0(棒棒糖)为Android设备构建它时,我发现了一个奇怪的行为。当为版本> 5.0的设备构建时,Android Studio找不到资源
的错误信息是:
<?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我的设备上的应用程序能够正常运行,而不:
Error:(5, 28) No resource found that matches the given name (at 'versionName' with value '@string/Application_Version').
消息指向我的AndroidManifest.xml文件,其中包含此任何警告/错误(因为字符串应用程序版本存在和完全可以找到),但是当我尝试使用5.1或更高版本的设备(真实或模拟)时,它会抛出我这条信息。
我最近更新了Android Studio到2.3,并且它产生了这个错误信息。随着AS 2.2我没有任何问题...
我已经尝试解决这个问题,我发现了类似的问题,如清理缓存和重启,手动删除构建文件,使用./清理我的项目。 gradlew干净和重新导入我的项目,但似乎没有工作,直到现在。
任何想法?
答
好一些testings后,它似乎是相关即时运行功能......只要我去激活它,一切都按预期。
答
根据这个问题: https://code.google.com/p/android/issues/detail?id=235893
你必须移动的versionName到应用程序/文件的build.gradle。如果你想根据这个StackOverflow的问题访问中的versionName一个xml布局文件: 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
}
...
}