这篇文章的解释还算靠谱:http://blog.ready4go.com/blog/2013/05/18/resolve-android-ndk-warning-app-platform-android-14-is-larger-than-android-minsdkversion-8/


使用ndk-build编译项目的时候会看到一个警告“Android NDK: WARNING: APP_PLATFORM android-14 is larger than android:minSdkVersion 8”,虽然”不怎么”影响结果,看着碍眼

解决方法

在项目里的jni/Application.mk文件里加入一行

APP_PLATFORM := android-8

即可.

为什么会有这个警告?

在android上项目里,可以在AndroidManifest.xml中写入

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

来表示程序可以运行的最低android设备是android 2.2(API Version 8), 经过详细测试的目标android版本是android 4.2.2(API Version 17).这里定义的是Java API Version

再来看一下ndk(版本r8e)目录下的platforms文件夹,可以看到

android-3android-4android-5android-8android-9android-14

一共有6个文件夹,分别表示相应的Native API Version

看到这里就明白了,那个警告的意思就是说,使用的Native API Version比最低版本Java API要高,可能导致的问题就是:
在Native Code里使用了一个platforms/android-14下的API函数,然后程序在android-8的设备上运行,当然这个函数在android-8设备上是不存在的,就会崩溃了

为什么Native API的版本数量会少于Java API?

因为android在版本升级的时候,有时候只升级了Java层的API,而Native层的却没有变化


更多相关文章

  1. Android(安卓)将Uri转换成File
  2. Android(安卓)Gradle库项目和主项目同时多渠道处理
  3. android 获取应用的当前版本号&获取当前android系统的版本号
  4. android 应用升级模块解析
  5. Android(安卓)判断当前设备是手机还是平板
  6. React Native 集成Android友盟推送过程
  7. Android(安卓)编译 ijkplayer
  8. 获取android配置文件的版本信息
  9. 使用Jenkins做Java、Android项目开发持续集成

随机推荐

  1. 传智播客Android视频教程——第一天
  2. android eclipse 真机调试
  3. Study on Android【三】--Intent消息传递
  4. android recovery模式及ROM制作
  5. Android应用程序与SurfaceFlinger服务之
  6. Android(安卓)tools -----Lint
  7. 调试 Android* x86 应用程序的方法以及要
  8. android 面试总结十条
  9. Android高手进阶教程(三)之----Android(
  10. 在Android中调用颜色的方法