我正在使用Android ndk-r8e,我在构建项目时遇到了问题.我收到上述错误消息.我检查了我的AndroidManifest.xml并将minSdkVersion设置为15,这就是我想要的.根据错误信息,APP_PLATFORM设置为android-14,它更小,不大于minSdkVersion,为什么我得到错误?
谢谢.
我正在开发一个使用NDK功能的Android应用.我的应用程序定义android:minSdkVersion,并android:targetSdkVersion在AndroidManifest.xml和APP_PLATFORM在JNI/Application.mk.
我目前的理解是android:minSdkVersiondecalres支持的最小操作系统版本,android:targetSdkVersion声明要链接的Java库版本,并APP_PLATFORM声明要链接的C++库.
两个问题:
我的理解是否正确?
是否APP_PLATFORM更好android:minSdkVersion呢?或者他们必须彼此平等?
我的问题的原因:我希望我的应用程序可用于API> = 10的设备,但我需要使用在NDK AMotionEvent_getAxisValue中的platforms\android-13文件夹中定义的NDK函数(如).所以我用android:minSdkVersion=10和APP_PLATFORM=13.项目编译成功,但是它可以在API 10-12设备上运行吗?
所以,我有点困惑,我想我理解的意思android:minSdkVersion,android:targetSdkVersion并target在项目属性.
现在我把这些设置为:
    android:minSdkVersion="7" 
    android:targetSdkVersion="13"
和:
    target=android-15
在project->properties->Android->Project Build Target.
当我尝试在安装了Android 2.3.3的设备上运行此应用程序应用程序时,我看到设备名称的红叉,但应用程序运行正常.
 
 
我错过了什么?如果我正在建立反对15,它是如何在android-7上运行的?在我将AdMob集成到我的应用程序中之后,这种混淆表明它需要最低的SDK级别13.
我有以下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 Studio 1.5.1和Gradle实验插件0.4.0构建一个带有NDK库的应用程序.
即使Gradle配置设置为(with minSdkVersion.apiLevel = 18),似乎NDK库仍然编译为android-21:
compileOptions.with {
    sourceCompatibility=JavaVersion.VERSION_1_7
    targetCompatibility=JavaVersion.VERSION_1_7
}
android {
    compileSdkVersion = 23
    buildToolsVersion = "23.0.2"
    defaultConfig.with {
        applicationId = "net.pol_online.hyper"
        minSdkVersion.apiLevel = 18  // Android 4.3 Jelly Bean
        targetSdkVersion.apiLevel = 23  // Android 6.0 Marshmallow
    }
}
是不是因为APP_PLATFORM基于min SDK版本的Gradle NDK支持不会自动设置?如果是这样你怎么解决这个问题?