当前位置:  开发笔记 > 编程语言 > 正文

无法设置SDK:错误:模块'app':平台'Google Inc.:Google API:21'未找到

如何解决《无法设置SDK:错误:模块'app':平台'GoogleInc.:GoogleAPI:21'未找到》经验,为你挑选了2个好方法。

你可以用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版本的API进行编译,但是您需要从旧的SDK Manager安装这些版本(请参阅我对这篇文章的回答)---如果您仍然需要这些功能,这是唯一真正的解决方案版本(例如旧地图v1) (2认同)


Daniele Sega.. 8

该建议更换(目前公认的)的答案Google Inc.:Google APIs:2121,如果你有一些遗留的应用程序仍然使用谷歌地图V1(例如)是不适合的.

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

这里的解决方案是

步骤1

打开旧的SDK管理器界面,单击Android Studio SDK Manager下方的Launch Standalone SDK Manager链接,或者${ANDROID_SDK_DIR}/tools/android sdk从命令行执行以直接打开它.

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

SDK Manager的屏幕截图

由于某种原因,该软件包在Android Studio中被隐藏,我希望Google会在某些时候将其删除.目前SDK 24 one(Marshmallow)可用但25(Nougat)不可用,他们可能会在将来添加它.我们将不得不拭目以待.

如果你处于这种情况并且谷歌决定停止提供它,你将不得不使用地图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本身并用于任何其他项目.



1> IntelliJ Ami..:

你可以用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版本的API进行编译,但是您需要从旧的SDK Manager安装这些版本(请参阅我对这篇文章的回答)---如果您仍然需要这些功能,这是唯一真正的解决方案版本(例如旧地图v1)

2> Daniele Sega..:

该建议更换(目前公认的)的答案Google Inc.:Google APIs:2121,如果你有一些遗留的应用程序仍然使用谷歌地图V1(例如)是不适合的.

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

这里的解决方案是

步骤1

打开旧的SDK管理器界面,单击Android Studio SDK Manager下方的Launch Standalone SDK Manager链接,或者${ANDROID_SDK_DIR}/tools/android sdk从命令行执行以直接打开它.

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

SDK Manager的屏幕截图

由于某种原因,该软件包在Android Studio中被隐藏,我希望Google会在某些时候将其删除.目前SDK 24 one(Marshmallow)可用但25(Nougat)不可用,他们可能会在将来添加它.我们将不得不拭目以待.

如果你处于这种情况并且谷歌决定停止提供它,你将不得不使用地图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本身并用于任何其他项目.

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有