无法设置SDK:Error:Module'app':platform'Google Inc.:Google APIs:21'not found

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

完全丧失为什么这不起作用。 试图更新我的SDK到23,但意识到我没有准备处理所有新的弃用等,所以我恢复到旧版本的Mercurial。 我完全没有做别的事情,而逆转应该已经解决了一切。 不幸的是,我卡住无法连接我的应用程序,并构build它。 我甚至从头重新安装了Android Studio,但是我仍然收到相同的警告,我的应用程序根本无法生成。 什么可能会出错?

这是我的构buildgradle

 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') } 

Solutions Collecting From Web of "无法设置SDK:Error:Module'app':platform'Google Inc.:Google APIs:21'not found"

你可以使用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' } } } 

build议replaceGoogle Inc.:Google APIs:21的(当前接受的)答案Google Inc.:Google APIs:21如果您有一些仍在使用Google Map v1的旧版应用(例如),则使用21 Google Inc.:Google APIs:21不适用。

如果您处于这种情况,您真的需要针对Google Inc.:Google APIs:21进行编译Google Inc.:Google APIs:21或23等…

这里的解决scheme是

步骤1

打开旧的SDKpipe理界面,点击Android Studio SDK Manager下面的Launch Standalone SDK Manager链接,或者从命令行执行${ANDROID_SDK_DIR}/tools/android sdk直接打开它。

然后find您需要的SDK版本的Google API并安装它:

SDK管理器的屏幕截图

由于某种原因,该软件包隐藏在Android Studio中,我希望Google能够在某些时候删除它。 目前SDK 24 one(棉花糖)可用,但25(牛轧糖)不是,他们可能会添加它在未来,或不。 我们将不得不等着看。

如果您处于这种情况,Google决定停止提供它,您将不得不使用maps v2来重写function。

第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 Studioembedded式Java JRE有关。 要在Android Studio内进行编译,请从Android Studio打开项目结构 ,并为您安装在系统上的JDK (必须在计算机上安装OpenJDK / OracleJDK)提供自定义path。

注意 :可能需要导航到该位置,而不是复制Android Studio的path进行更改。 不要selectjre目录,selectJDK(包含jre文件夹)。

警告 :此更改不是特定于该项目,而是将应用于Android Studio本身,并用于任何其他项目。