2016-05-31 4 views
3

у меня есть следующие строки в моем манифесте:Android: targetApi не признается в явном

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

но я получаю предупреждение ворса:

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

поэтому я изменил его выглядеть следующим образом (в соответствии с рекомендацией, что андроид студия дает мне):

<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 можно использовать (если его можно использовать)?

Смежные вопросы