2016-05-31 72 views
3

不承認我有我的清單如下一行:安卓:targetApi在清單

<intent-filter android:autoVerify="true"> 

但我得到一個皮棉警告:

Attribute autoVerify is only used in API 23 and higher (current min is 16) 

所以我改成了這個樣子(根據Android工作室給我的建議):

<intent-filter android:autoVerify="true" tools:targetApi="M"> 

然後我在構建apk時收到這個錯誤:

Error:java.lang.RuntimeException: [path_to_manifest]/AndroidManifest.xml:58:13-67:29: Error: Invalid instruction 'targetApi', valid instructions are : REMOVE,REPLACE,STRICT 

Caused by: java.lang.IllegalArgumentException: No enum constant com.android.manifmerger.AttributeOperationType.TARGETAPI 

如何擺脫這個錯誤,同時仍然擺脫了皮棉警告?

編輯: 我嘗試了「乾淨的項目」和「無效的緩存並重新啓動」 - 既無法解決錯誤。

問題上問題跟蹤打開:

https://code.google.com/p/android/issues/detail?id=211805

+1

這聽起來像一個錯誤,你應該在這裏報告:http://tools.android.com/filing-bugs –

+0

謝謝 - 我已經提出了一個問題。 – Jon

+0

https://code.google.com/p/android/issues/detail?id=211805 – QED

回答

-1

正確的語法是

<uses-sdk android:minSdkVersion="integer" 
     android:targetSdkVersion="integer" 
     android:maxSdkVersion="integer" /> 
+1

這不是問題所在。 'targetApi'與'* SdkVersion'完全不同。 – F43nd1r

+0

哦..我很抱歉。 – Anurag

0

我找到了答案here的給出了這個問題的解決方法。

通過使用行:

<intent-filter android:autoVerify="true" 
      tools:ignore="UnusedAttribute"> 

皮棉錯誤解決,APK可以建成。我不打算把這個標記爲公認的答案 - 但我更喜歡是否有人可以解釋targetApi如何使用(如果可以使用)?