Приложение не определяет уровень API - PullRequest
12 голосов
/ 25 июля 2010

Я только начинаю использовать Eclipse для приложений Android.Я установил Eclipse 3.5.2, и Java 5 AVD - это Android 2.1 API 7

Моя первоначальная программа Hello Android работала нормально, но больше не запускается.

, появляется следующая ошибка:

[2010-07-25 09:47:31 - HelloAndroid] ВНИМАНИЕ: Приложение не определяет требования к уровню API!
[2010-07-25 09:47:31 - HelloAndroid] Версия API устройства7 (Android 2.1-update1)

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

<uses-sdk android:minSdkVersion="3" />

мой файл манифеста несодержат эту строку:

 <?xml version="1.0" encoding="utf-8" ?> 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.helloandriod" android:versionCode="1" android:versionName="1.0">
     <application android:icon="@drawable/icon" android:label="@string/app_name">
         <activity android:name=".HelloAndroid" android:label="@string/app_name">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" /> 
                 <category android:name="android.intent.category.LAUNCHER" /> 
             </intent-filter>
         </activity>
     </application>
  </manifest>

Я проверил adv mgr, и он установлен на 7 В Eclipse я пошел в свойствах -> Android и установить его на 7

получить те же предупреждения

Ответы [ 5 ]

35 голосов
/ 25 июля 2010

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

Добавить строку:
<uses-sdk android:minSdkVersion="3" />

к вашему манифесту, прямо перед конечным тегом манифеста.

10 голосов
/ 25 июля 2010

Вы также должны включить

<uses-sdk android:minSdkVersion="7" />

в файл манифеста, если его там еще нет.Это не ясно из вашего вопроса, но кажется, что это не так.

Чтобы узнать об уровнях API в будущем, см. эту страницу

7 голосов
/ 28 февраля 2012

Похоже, что в Android SDK Tools revision 16 есть ошибка, которая требует правильного упорядочивания тегов uses-sdk.Если вы используете как targetSdkVersion, так и minSdkVersion, закажите их следующим образом:

<uses-sdk android:targetSdkVersion="10" /> <!-- before minSdkVersion -->
<uses-sdk android:minSdkVersion="7" />     <!-- after targetSdkVersion -->

. При обратном порядке появится предупреждающее сообщение и появится окно выбора устройства.Поэтому я рекомендую написать это в одной строке:

<uses-sdk android:targetSdkVersion="10" android:minSdkVersion="7" />
2 голосов
/ 20 марта 2012

Манифест должен содержать только один элемент, это ошибка для использования более одного раза.

В ADT 17 у нас есть новое предупреждение lint, которое обнаруживает и сообщает об этой проблеме:

$ lint --version
lint: version 17
$ lint --show MultipleUsesSdk
MultipleUsesSdk
---------------
Summary: Checks that the <uses-sdk> element appears at most once

Priority: 6 / 10
Severity: Error
Category: Correctness

The <uses-sdk> element should appear just once; the tools will *not* merge the
contents of all the elements so if you split up the atttributes across
multiple elements, only one of them will take effect. To fix this, just merge
all the attributes from the various elements into a single <uses-sdk>
element.

Дополнительная информация: http://developer.android.com/guide/topics/manifest/uses-sdk-element.html

0 голосов
/ 27 февраля 2014

Вы должны указать уровень API в своем коде, и он должен быть в одной строке.

использовании-sdk android: targetSdkVersion = "19" android: minSdkVersion = "4".

Цель должна быть последней.Это может помочь вам, как это работает для меня.Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...