java - Android 应用程序支持主要的 android 版本

标签 java android android-version

我已经有一个支持 pre-lollipop 设备的 android 应用程序,但我想移植 android 应用程序以支持最新版本到 Marshmallow 和早期版本到 Jellybean,是否有任何具体指南可用于支持上述标准?

最佳答案

在您的 manifest/build.gradle 中:(取决于您使用的是什么)

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="23" />

Gradle :

defaultConfig {
    ........
    minSdkVersion 14
    targetSdkVersion 23


}

将 minSDK 设置得尽可能低。如果它太低,它会显示错误。请记住,如果您使用任何需要更高 API 级别的代码(例如,当编写 xml 时只编写需要 API 17 的 android:layout_marginStart),您会收到一条错误消息,告诉您提高最低 API 级别。现在,有一些方法可以避免增加;

  • 如果可能,添加也支持较低 API 级别的代码(例如 android:layout_marginRight
  • 如果没有可用于支持两者的替代方案,请将您的代码瞄准较低的 API 级别。
  • 记住操作系统分布并定位百分比最高的平台。无需针对实际上已失效的平台。
  • 您可以在新设备上运行旧代码,但是旧设备上的新代码要么不可能,要么需要 AppCompat(例如 Material 设计)
  • 即使我说运行旧代码以针对新旧平台,也要避免弃用代码!如果可能,使用 AppCompat 在旧设备上使用新代码。

总结:

编写 XML 代码时,使用支持新旧(如果可用)的代码。在进行正常编码时,尝试使用支持旧版本和未弃用的新版本的代码。如果可能,请使用 AppCompat 在旧设备上获取新代码和新事物。

关于java - Android 应用程序支持主要的 android 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39178811/

相关文章:

java - 如何将 JAR 文件添加到 IBM WebSphere 服务器中的项目类路径?

java - 在关闭执行器之前等待所有线程完成

android - 想要通过使用gradle作为构建工具在Windows slave中为Android项目计划作业

android - AsyncTask.doInBackground 在 2.3 上没有被调用,在 4.0+ 上工作

android - 修复关于 `layout_marginHorizontal` 的 android studio 警告

java else 没有 if 错误

java - Java 中的量词 {n} 接受 n+1 个输入

android - 下载 PDF 文件

android - 什么是已弃用的 StaticLayout 的替代品

android - 选择哪一个作为项目构建目标? Google API 或 SDK 平台