Не удалось настроить SDK: ошибка: модуль "приложение": платформа " Google Inc.: Google APIs: 21' не найден

Failed to set up SDK: Error:Module 'app': platform 'Google Inc.:Google APIs:21' not found.

в полной растерянности, почему это не работает. Попытался обновить SDK до 23, но понял, что я не готов иметь дело с все новые исключения и т. д. поэтому я вернулся к старой версии на Mercurial. Я не сделал буквально ничего другого, и реверсия должна была решить все. К сожалению, я не могу подключить свое приложение и построить его. Я даже переустановил Android Studio с нуля, но я продолжаю получать то же самое предупреждение, и мое приложение не будет все. Что может быть не так?

вот моя сборка gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 'Google Inc.:Google APIs:21'
    buildToolsVersion '21.1.2'

    defaultConfig {
        applicationId "com.elgami.customizer"
        minSdkVersion 14
        targetSdkVersion 21
    }

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

repositories {
    mavenCentral()
    maven { url "https://jitpack.io" }
}

dependencies {
    compile 'com.ogaclejapan.smarttablayout:library:1.5.0@aar'
    compile 'com.github.antonyt:InfiniteViewPager:v1.0.0'
    compile 'com.android.support:appcompat-v7:22.2.0'
    // recyclerview
    compile 'com.android.support:recyclerview-v7:23.1.1'
    // google analytics
    compile 'com.google.android.gms:play-services-analytics:8.3.0'
    // pager sliding strip
    compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
    // http library (for using beanstream REST)
    compile 'org.apache.httpcomponents:httpclient-android:4.3.5.1'
    // amaazon S3 uploads
    compile 'com.amazonaws:aws-android-sdk-s3:2.1.+'
    // paypal purchasing
    compile files('libs/PayPalAndroidSDK-2.7.1.jar')
    // Module dependency on ParseLoginUI library sources
    compile project(':ParseLoginUI')
    // Parse libs
    compile files('libs/ParseCrashReporting-1.9.2.jar')
    compile files('libs/Parse-1.9.1.jar')
    compile files('libs/ParseFacebookUtilsV4-1.9.1.jar')
    // android support v4
    compile files('libs/android-support-v4.jar')
    // facebook SDK
    compile 'com.facebook.android:facebook-android-sdk:4.1.0'
    //butterknife
    compile 'com.jakewharton:butterknife:6.1.0'
    // Subsampling-scale-image-view (for templating)
    //compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.1.4'
    compile files('libs/AppRater.jar')
}

3 ответов


можно использовать compileSdkVersion 21 вместо твоей .

    android {
    compileSdkVersion 21
    buildToolsVersion '21.1.2'

    defaultConfig {
        applicationId "com.elgami.customizer"
        minSdkVersion 14
        targetSdkVersion 21
    }

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

(в настоящее время принят) ответ, который предлагает заменить Google Inc.:Google APIs:21 С 21 не подходит, если у вас есть какое-то устаревшее приложение, все еще использующее Google Map v1 (например).

если вы находитесь в этой ситуации вам действительно нужно скомпилировать в отношении Google Inc.:Google APIs:21 или 23 etc...

решение здесь -

Шаг 1

откройте старый интерфейс SDK manager, нажав кнопку запустить автономный SDK Manager ссылка ниже Android Studio SDK Manager или путем выполнения ${ANDROID_SDK_DIR}/tools/android sdk из командной строки, чтобы открыть его напрямую.

найдите Google APIs для версии SDK вам нужно и установить его:

screenshot of the SDK Manager

этот пакет по какой-то причине скрыт внутри Android Studio, и я ожидаю, что Google удалит его в какой-то момент. В настоящее время SDK 24 one (Marshmallow) доступен, но 25 (Nougat) нет, они могут добавить его в будущем или нет. Нам придется подожди и увидишь.

если вы находитесь в этой ситуации, и Google решил прекратить его предоставление, вам придется переписать функциональность с помощью maps v2.

Шаг 2

даже после этого и очистки + Gradle resync вы получите эту ошибку от Android Studio:

Cannot find System Java Compiler. Ensure that you have installed a JDK (not just a JRE) and configured your JAVA_HOME system variable to point to the according directory.

но он будет компилироваться, если вы пытаетесь сделать это из командной строки (./gradlew assembleDebug).

причина, по-видимому, что-то делать с Android Studio встроенный Java JRE. Чтобы скомпилировать его внутри Android Studio, откройте Структура Проекта из Android Studio и предоставить пользовательский путь для JDK вы установили в своей системе (вы должны установить OpenJDK / OracleJDK на свой компьютер).

Примечание: может потребоваться перейти к местоположению вместо копирования пути для Android studio, чтобы принять изменения. Не выбирайте jre каталог, выберите JDK (папка, содержащая jre).

предупреждение: это изменение не относится к проекту, но будет применяться к самой Android Studio и использоваться в любом другом проекте.


когда это не удалось для меня, я загрузил Google API, как объясняет @Daniel Segato, что правильно, и все же я получил сообщение снова и снова.

пока я не сделал это. Я открыл настройки модуля (Ctrl + Alt + Shift + S или >Структура Проекта) и для моего модуля я изменил Скомпилировать Версию Sdk опция для любого другого из списка. Я resynchornized Gradle и затем изменил настройки в Google API-интерфейсы (API-интерфейс 23). И тогда это сработало! Это действительно очень неприятно Android Studio не распознавать SDK, пока вы не измените его в этом диалоговом окне. Но это случилось со мной только однажды. В других случаях было достаточно просто загрузить правильный Google API, и там вы идете! Но это отвратительно.