使用更高级别的SDK构建/编译

时间:2011-10-07 10:49:55

标签: android android-manifest

我对一件事感到困惑,看:

  1. 假设我们在清单
  2. 中声明了<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="10"/>的源代码树
  3. 我正在使用SDK级别3(SDK3.apk)
  4. 编译这些来源
  5. 然后我正在使用SDK级别10(SDK10.apk)
  6. 构建源代码

    这两款APK有什么区别? (SDK3.apk和SDK10.apk)我的意思是我不会询问哪些库将使用这些APK的技术细节,我问的是APK在不同操作系统的不同设备上的行为'。哪一个更好用?

    更新我的项目没有什么特别之处:利用SQLite,屏幕关闭和SD下载广播拦截,使用一些电话功能。一切都在SDK级别3的功能/方法中。我已经在不同设备(旧版和全新版)上使用SDK3.APK和SDK10.APK进行了测试 - 看起来很可行,但仍有疑问。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

不同之处在于android.jar在生成apk文件时会被删除。 当您使用sdk级别4构建源代码时,使用android.jar for sdk level 4来构建您的apk文件,与sdk级别10相同。

答案 2 :(得分:-1)

无法在api级别低于10的设备上安装Sdk级别10。 api级别低于4的设备上无法安装sdk级别4。 apk将在具有不同api级别的不同设备上以相同的方式运行,除非直到您没有使用任何已弃用的东西。 例如,如果方法m1在sdk级别5之后被弃用,并且您仍然在sdk级别10中使用它,则当执行调用方法m1时,应用程序的行为将是未定义的。