【问题标题】:Android Compatibility Build ProblemsAndroid 兼容性构​​建问题
【发布时间】:2012-08-20 11:56:09
【问题描述】:

背景

我正在开发一个需要在 API 级别从 7 到 16 工作的 Android 应用程序。

问题

每当我去构建我的项目时,这就是我必须经历的过程。

  1. 清理项目
  2. 运行项目
  3. “项目中的错误” > 单击确定 > 再次运行项目
  4. 在任何 API 上都能正常运行

我认为问题是由于我包含了 API

问题

有没有人知道解决这个问题的方法,因为考虑到每次我想运行它时都必须这样做,这非常耗时。

【问题讨论】:

    标签: android android-compatibility


    【解决方案1】:

    我想您正在使用 Eclipse 进行开发。您可以将有问题的方法注释如下:

    private final int VERSION = android.os.Build.VERSION.SDK_INT;
    private File myDir;
    // some stuff here
    @SuppressLint("NewApi")
    private void doSomething() {
        if (VERSION < 8) {
            // Uses a method available since API 1
            myDir = Environment.getExternalStorageDirectory();
         else {
            // Uses a method available since API 8
            myDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
        }
        // Do more stuff
    }
    

    【讨论】:

    • 你刚刚为我节省了300小时的累积时间:)
    【解决方案2】:

    您可以在清单中添加:

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

    那么任何介于 7 和 16 版本之间的 API 都将编译,因为您的目标是 16。

    如果您的设备为 7,则任何 API > 7 都将在您的设备上失败,但您已表示您正在代码中对此采取措施。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-12
      • 2012-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多