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

当为版本> 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 
    } 
    ... 
}