使用 Android Studio 定位 API 8 (Android 2.2) 导致合并失败错误

Targeting API 8 (Android 2.2) using Android Studio causes merger failed error

我正在尝试为一个非常古老的 phone 创建一个简单的应用程序:

HTC Aria, Android 2.2, API level 8

在 Android Studio 中,当我安装 SDK 版本 8 并在 build.gradle 中设置 minSdkVersion/targetSdkVersion 时,它拒绝构建。

在文件 > 项目结构中更改 API 级别也不起作用。错误如下:

Error:Execution failed for task ':app:processDebugManifest'. Manifest merger failed : uses-sdk:minSdkVersion 8 cannot be smaller than version 14 declared in library [com.android.support:appcompat-v7:26.1.0] /home/oliver/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.1.0.aar/ccbf7c84a168d3e32184f6d6f1423c07/AndroidManifest.xml as the library might be using APIs not available in 8
Suggestion: use a compatible library with a minSdk of at most 8,
    or increase this project's minSdk version to at least 14,
    or use tools:overrideLibrary="android.support.v7.appcompat" to force usage (may lead to runtime failures)

添加 overrideLibrary 没有帮助,错误只是切换到抱怨不同的库。是否仍然可以在 Android Studio 中创建 Android 2.2/API 8 个应用程序?如果可以,我该怎么做?

您不能使用最新的Android Support Library with an API lower than 14

Caution: Starting with Support Library release 26.0.0 (July 2017), the minimum supported API level across most support libraries has increased to Android 4.0 (API level 14) for most library packages. For more information, see Version Support and Package Names in this document.


Is it even still possible to create Android 2.2/API 8 apps in Android Studio?

If so, how can I do so?

使用较旧的支持库(低于 26.0.0 的任何版本)或根本不使用支持库。将自己限制在 类 和 API 8 及以下可用的方法。

在 2019 年创建 Froyo [SDK INT: 8] 应用程序有点困难...

长话短说,我必须这样做是为了克服 GooglePlay 控制台中阻止我更新我的应用程序的缺陷。 [与新短信权限政策相关]

在 Android Studio 3.2.1 中创建最小 SDK INT 为 8 的 Android 应用程序的过程:

  • 文件 -> 新建 -> 新建项目
  • 您现在必须 select 最低版本 15,因为它与当前的下拉菜单一样低[注意:安装 Froyo SDK 也无济于事]
  • Select "Add No Activity" 使项目简单。
  • 项目构建完成后,进入应用级 build.gradle 文件并将最小 SDK 更改为 8
  • 进入 AndroidManifest.xml 文件并删除所有与主题相关的代码
  • 进入 values/styles.xml 文件并删除所有与主题相关的代码
  • 手动创建你自己的 activity [警告:不要这样做 "File -> New -> Activity" 因为它会在整个项目的多个地方开始插入支持库代码]
    • 创建一个从 Activity
    • 派生的简单 class
    • 在 res/layout 目录中为其创建布局
    • 将 activity 标签添加到清单

就是这样。我能够在我的 Oreo 设备上安装一个 min Froyo [SDK INT: 8] 应用程序。