Для чего нужны инструменты: targetApi = "m"? - PullRequest
2 голосов
/ 14 апреля 2019

У меня приложение использует clearText между Android-клиентом и сервером, используя Retrofit, а в Android 9+ не разрешено использовать clearText.

Чтобы игнорировать то, что я добавил android:usesCleartextTraffic="true" в Manifest, но он предупреждает: tools:ignore="GoogleAppIndexingWarning" и предлагает добавить tools:targetApi="m".

Это немного сбивает с толку:

  • Означает ли tools:targetApi="m", что любые атрибуты с tools: предназначены для Зефира и выше?

  • Это для использования этой версии манифеста или что-то еще? Является ли это ошибкой в ​​моем приложении?

Мой манифест:

...
<application
    android:name=".ApplicationClass"
    android:allowBackup="true"
    android:fullBackupContent="false"
    android:hardwareAccelerated="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="false"
    android:theme="@style/AppTheme.NoActionBar"
    android:usesCleartextTraffic="true"
    tools:ignore="GoogleAppIndexingWarning"
    tools:targetApi="m">
    ...

1 Ответ

2 голосов
/ 14 апреля 2019

Из документов вы можете прочитать:

Указывает, что Lint должен относиться к этому типу как к целевому определенному уровню API, независимо от цели проекта

Это означает, что это повлияет только на на аннотированный.

Другие атрибуты с tools не будут затронуты. tools - это пространство имен, из которого вы можете получить атрибуты, атрибут не повлияет на все пространство имен.

...