【问题标题】:Targeting API 8 (Android 2.2) using Android Studio causes merger failed error使用 Android Studio 定位 API 8 (Android 2.2) 导致合并失败错误
【发布时间】:2018-01-28 22:35:43
【问题描述】:

我正在尝试为一部非常旧的手机创建一个简单的应用程序:

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 android-studio android-2.2-froyo


    【解决方案1】:

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

    警告:从支持库版本 26.0.0(2017 年 7 月)开始,大多数支持库中支持的最低 API 级别已提高到大多数库包的 Android 4.0(API 级别 14)。有关详细信息,请参阅本文档中的版本支持和包名称。


    是否仍然可以在 Android Studio 中创建 Android 2.2/API 8 应用程序?

    是的

    如果是这样,我该怎么做?

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

    【讨论】:

    • 技术上他可以尝试使用旧的支持库 25.4.0
    • 如何移除对支持库的依赖?
    • @Pawel 是的,我终于到了那里。 :)
    • @Pawel 那么如何更改支持库版本?
    • @FeatherFeet 创建一个新的空项目。切换到您的build.gradle 文件,然后将compileSdkVersionminSdkVersionmaxSdkVersion 设置为适当的级别,然后调整或删除较低的支持库依赖项。 (您需要对其进行更多调整,但这是一个很好的起点。)
    【解决方案2】:

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

    长话短说,我必须这样做以克服 GooglePlay 控制台中阻止我更新应用的缺陷。 【与新短信权限政策相关】

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

    • 文件 -> 新建 -> 新建项目
    • 您现在必须选择 15 的最低版本,因为它与当前下拉菜单一样低 [注意:安装 Froyo SDK 也无济于事]
    • 选择“不添加活动”以保持项目简单。
    • 构建项目后,进入应用级 build.gradle 文件并将 min SDK 更改为 8
    • 进入 AndroidManifest.xml 文件并删除所有主题相关代码
    • 进入 values/styles.xml 文件并删除所有与主题相关的代码
    • 手动创建自己的活动 [警告:不要执行“文件 -> 新建 -> 活动”,因为它会开始在整个项目的多个位置插入支持库代码]
      • 创建一个从 Activity 派生的简单类
      • 在 res/layout 目录中为其创建布局
      • 将活动标签添加到清单中

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-27
      • 2020-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-13
      • 2014-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多