【问题标题】:Android build targetAndroid 构建目标
【发布时间】:2012-09-05 18:48:01
【问题描述】:

我一直在编写我的第一个 android 应用程序,到目前为止,我只是针对可用的最高 android SDK - 4.1 进行构建。到目前为止,我只在运行 4.03 的物理设备上进行了测试,一切似乎都运行良好。

我希望我的最低 SDK 级别为 8 级 (2.2),据我所知,我没有使用过高于此级别的 API。

但是,如果我针对 4.1 构建并在 2.2 模拟器上运行,它只会显示白屏并且没有崩溃(基于 OpenGL,因此出现问题)。相同的构建在 4.1 emu 和我的 4.03 设备上运行良好。

如果我使用与 2.2 完全相同的代码构建,它可以在 2.2 emu 上运行。

我真的不知道是什么原因造成的,所以任何提示都会很棒。某些类是否会在较新的 API 中被替换?如果它们被完全删除,我会假设它根本不会针对新版本构建。

我应该将我的构建目标设置为等于我的最小值吗?我目前没有使用高于 2.2 的 API 中的任何内容,但我的印象是我应该针对可用的最新 SDK 进行构建。为最低版本构建是否有任何负面影响,例如它会影响菜单/对话框的外观吗?

感谢您的帮助。

【问题讨论】:

    标签: android android-emulator android-build


    【解决方案1】:

    您应该针对您打算让您的应用支持的最低 SDK 版本进行构建(例如,如果您想支持没有最新智能手机或平板电脑的用户,那么针对最新 SDK 版本构建不会是好主意)。

    一般来说,较新的 SDK 版本只包含额外的类和函数,但我不能 100% 确定是否有任何已删除的类。

    【讨论】:

    • 好的,非常感谢,我将只针对 2.2 构建,因为它似乎工作正常。
    • 对于其他人来说,我发现了为什么在更高版本上构建无法在更低版本的模拟器上运行 - 我使用的是一种贬值的方法 (SufaceHolder.setType())。不过,我可能仍会针对最低版本进行构建,因为我没有使用任何较新的功能。
    【解决方案2】:

    将此添加到您的AndroidManifest.xml

    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="15" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 2021-01-22
      • 2016-09-10
      • 1970-01-01
      • 2012-07-29
      相关资源
      最近更新 更多