Подтвердить что ты не робот

Как избавиться от предупреждения компилятора NDK: "APP_PLATFORM больше.." и "Invalid package"

У меня есть следующий Application.mk

APP_PLATFORM := android-9
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions -O2 -mfpu=neon -mfloat-abi=softfp
APP_ABI := armeabi-v7a
LOCAL_ARM_NEON := true

и при запуске ndk-build я всегда получаю предупреждения:

Invalid attribute name: 
    package
/Users/tmanthey/Documents/android/android-ndk-r8d/build/core/add-application.mk:128: Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion  in ./AndroidManifest.xml    
Invalid attribute name: 
    package

Это мой AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.evotegra.aCoDriver"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="17" />

    <uses-permission android:name="android.permission.CAMERA" />

    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.VIBRATE"/>

    <application
        android:name=".ACoDriverApp"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" android:allowBackup="true">
        <activity
            android:name=".ACoDriverActivity"
            android:label="@string/app_name" android:launchMode="singleTask">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="PreferencesActivity" />
        <activity android:name="GaugeSelectActivity" />
    </application>

</manifest>

Как я могу избавиться от этих предупреждений?

4b9b3361

Ответ 1

Что касается "пакета", это скорее всего проблема с crlf с вашим XML файлом. Проверьте там символы конца строки. Или, возможно, что-то не так в вашем файле project.properties.

Предупреждение APP_PLATFORM действительно правильно: ваша APP_PLATFORM (android-14) больше, чем андроид: minSdkVersion, установленный в AndroidManifest.xml. Это только предупреждение, напоминающее вам об этой (законной) ситуации, так что на определенном этапе вы решите отказаться от поддержки очень устаревших устройств.

Ответ 2

Для NDK rev r9 (работает и в других, но строка # может отличаться)

${NDK}/build/core/add-application.mk строка 138

добавить "#" в начале строки.

# $(вызов __ndk_info, ПРЕДУПРЕЖДЕНИЕ: APP_PLATFORM $(APP_PLATFORM) больше, чем андроид: minSdkVersion $(APP_MIN_PLATFORM_LEVEL) в $(APP_MANIFEST))

Один символ, 30 секунд исправить... пойти отладить собственный код.

Ответ 3

Вы можете исправить это, выполнив следующие шаги в Eclipse:

  • Окно → Настройки → C/С++ → Сборка → Настройки
  • Выберите CDT GNU C/С++ Error Parser
  • В параметрах параметров ошибки в нижней части добавить новую запись со следующим содержимым:

Уровень важности: предупреждение

Образец: (.?): (\ d +): Android NDK: ПРЕДУПРЕЖДЕНИЕ: (.) ​​

Файл: $1

Линия: $2

Описание: $3

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