当我将 minSdkVersion 8 更改为 minSdkVersion 9

Posted

技术标签:

【中文标题】当我将 minSdkVersion 8 更改为 minSdkVersion 9【英文标题】:When I change minSdkVersion 8 to minSdkVersion 9 【发布时间】:2017-04-19 01:42:20 【问题描述】:

我遇到了这个问题:

错误:任务 ':app:processDebugManifest' 执行失败。

清单合并失败:uses-sdk:minSdkVersion 8 不能小于库 [com.google.android.gms:play-services:9.4.0] C:\Users\Esprit\Desktop\Alphabet AdMob 中声明的版本 9 \app\build\intermediates\exploded-aar\com.google.android.gms\play-services\9.4.0\AndroidManifest.xml 建议:使用 tools:overrideLibrary="com.google.android.gms.play_services" 强制使用

但是当我将“minSdkVersion 8”更改为“minSdkVersion 9”时,我得到 255 个错误

清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.viavilab.alphabet"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/app_icon"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.viavilab.alphabet.Splash_Activity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.viavilab.alphabet.CapitalAlphabet_Activity"
            android:configChanges="orientation|keyboardHidden" >
        </activity>
        <activity
            android:name="com.viavilab.alphabet.MainActivity"
            android:configChanges="orientation|keyboardHidden" >
        </activity>
        <activity
            android:name="com.viavilab.alphabet.SmallAlphabet_Activity"
            android:configChanges="orientation|keyboardHidden" >
        </activity>
        <activity
            android:name="com.viavilab.alphabet.AboutActivity"
            android:configChanges="orientation|keyboardHidden" >
        </activity>

        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />

        <!-- Activity required to show ad overlays. -->
        <activity
            android:name="com.google.android.gms.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
    </application>

</manifest>

build.gradle:

apply plugin: 'com.android.application'

android 
    compileSdkVersion 'Google Inc.:Google APIs:15'
    buildToolsVersion "24.0.3"

    defaultConfig 
        applicationId "com.viavilab.alphabet"
        minSdkVersion 8
        targetSdkVersion 18
    

    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        
    


dependencies 
    compile 'com.android.support:support-v4:18.0.0'
    compile 'com.google.android.gms:play-services:+'

【问题讨论】:

尝试更改 gms 播放服务版本 但是怎么做呢?你能帮我吗? 按照错误提示将 tools:overrideLibrary 添加到 android manifest 我删除了: 并添加了: 但我遇到了同样的问题 您不应该删除标准 uses-sdk!只需使用 overrideLibrary 添加第二个。 【参考方案1】:

正如您在官方文档中看到的关于Setting up Google Play Services 的内容,minSdkVersion 必须为 9。即使他们在 release notes 中告知,Google Play 服务 10.0.x 也是最终版本,包括对 Android 版本 2.3 的完全支持.x(姜饼)。

顺便说一句,在您的 build.gradle 文件中,将您的 compileSdkVersion 替换为 18。正如您在依赖项中看到的那样,您已经将 google play 服务添加到您的应用程序中。

compileSdkVersion 18

提示:我认为强烈建议为您正在使用的库设置一个版本。依赖项中的加号表示您使用的是最新版本的库。每次构建应用程序时,您都将使用最新版本,并且您的应用程序可能与它不兼容,或者库中存在一些您不想包含在应用程序中的错误。因此,设置您要使用的版本。例如,

compile 'com.google.android.gms:play-services:10.0.1'

【讨论】:

你的 targetSdkVersion 是什么?在你的 gradle 文件中,我看到是 18。你能升级它吗? 你能告诉我怎么做吗?

以上是关于当我将 minSdkVersion 8 更改为 minSdkVersion 9的主要内容,如果未能解决你的问题,请参考以下文章

Cordova 构建 minSdkVersion 将 16 更改为 19

当我将惩罚更改为 L1 时,为啥我的 linearSVC 会失败?

当我将滚动方向从垂直更改为水平时,为啥集合视图会崩溃?

为啥当我将帖子发送到我的服务器时字符串更改为 %

当我将 viewpager 与 Indicator Android 一起使用时,将背景状态栏更改为背景 viewpager?

在我的Spring Boot项目中,当我将文件目录更改为src / main / resources时发生了FileNotFoundException