web-dev-qa-db-ja.com

SDKのセットアップに失敗しました:エラー:モジュール 'app':プラットフォーム '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を最初から再インストールしましたが、引き続き同じ警告が表示され、アプリがまったくビルドされません。何が問題なのでしょうか?

これが私のビルドグラドルです:

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')
}
10
Martin Erlic

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'
        }
    }
}
10
IntelliJ Amiya

Google Inc.:Google APIs:2121に置き換えることを提案する(現在受け入れられている)回答は、(たとえば)まだGoogle Map v1を使用しているレガシーアプリがある場合には適していません。

この状況にある場合、Google Inc.:Google APIs:21または23などに対してコンパイルする必要があります...

ここでの解決策は

ステップ1

Android Studio SDK Managerの下にあるLaunch Standalone SDK Manager]リンクをクリックするか、コマンドから${Android_SDK_DIR}/tools/Android sdkを実行して、古いSDKマネージャーインターフェイスを開きます直接開くための行。

次に、必要なSDKバージョンのGoogle APIを見つけてインストールします。

screenshot of the SDK Manager

そのパッケージは、何らかの理由で、Android Studio内に隠されています。スタジオでGoogleが削除することを期待しています。現在、SDK 24の1つ(Marshmallow)が利用可能ですが、25(Nougat)は利用できません、彼らは将来的にそれを追加するかもしれませんし、しないかもしれません。

この状況にあり、Googleが提供を停止することにした場合、マップv2を使用して機能を書き直す必要があります。

ステップ2

これを実行してクリーン+ Gradleの再同期を行った後でも、このエラーが表示されます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 embedded Java JRE。それを内部でコンパイルさせるにはAndroid Studio open Android StudioからのProject Structureおよび[〜#〜] jdk [ 〜#〜]システムにインストールしました(コンピュータにOpenJDK/OracleJDKをインストールする必要があります)。

[〜#〜]注[〜#〜]:Android studioで変更を適用します。jreディレクトリを選択せず​​、JDK(jreを含むフォルダー)を選択してください。

[〜#〜]警告[〜#〜]:この変更はプロジェクトに固有のものではなく、Androidスタジオ自体で、他のプロジェクトで使用されます。

8
Daniele Segato

それが失敗したとき、@ Daniel Segatoが説明しているように、Google APIをダウンロードしました。これは正しいことですが、それでも何度も何度もメッセージが表示されました。

これをするまで。モジュールの設定(Ctrl + Alt + Shift + SまたはFile> Project Structure)そして、私のモジュールでは、リストから他の任意のCompile Sdk Versionオプションを変更しました。 Gradleを再同期し、オプションをGoogle API(API 23)に戻しました。そしてそれはうまくいった! Android Studioはダイアログボックスで変更するまでSDKを認識しません。しかし、これは私に一度だけ起こりました。それ以外の場合は、適切なGoogleをダウンロードするだけで十分でした。 APIがあれば完了です!しかし、これは厄介です。

私の問題は私のbuild.gradleにありました!開いた時はこんな感じでした:

Android {
    compileSdkVersion 'Google Inc.:Google APIs:21'
    buildToolsVersion "29.0.2"
    defaultConfig {
        applicationId "com.pixelnx.sam.allinone_room"
        minSdkVersion 21
        targetSdkVersion 21

どのように修正しましたか?

  1. 削除する 'Google Inc.:Google APIs:21'そして、代わりに29と書きます

2 .targetSdkVersionに29を設定

結果:

Android {
    compileSdkVersion 29
    buildToolsVersion "29.0.2"
    defaultConfig {
        applicationId "com.pixelnx.sam.allinone_room"
        minSdkVersion 21
        targetSdkVersion 29
0
sana ebadi