2017-03-05 61 views
2

當我嘗試使用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乾淨和重新導入我的項目,但似乎沒有工作,直到現在。

任何想法?

回答

0

好一些testings後,它似乎是相關即時運行功能......只要我去激活它,一切都按預期。

1

根據這個問題: 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 
    } 
    ... 
}