Android Studio - 离线maven存储库中缺少Gradle插件

时间:2017-03-04 20:59:27

标签: android android-studio gradle

下载android studio 2.3后,我不断在事件日志中收到此错误,

      illegalStateException: Gradle plugin missing from offline maven repository

任何人都知道如何解决这个问题?

我有Gradle版本3.3,我也不确定这是否与上述错误相关但每次点击创建新项目都没有发生任何事情,但是当我点击创建新模块并选择手机模块我能够去通过选择活动名称,但它不会被创建!

3 个答案:

答案 0 :(得分:1)

我在更新studio插件后遇到了同样的问题,无法创建新项目。我只能重新安装解决方案,不知道问题出在哪里。 https://code.google.com/p/android/issues/detail?id=221536

答案 1 :(得分:1)

虽然我在过去的27年里一直专业编程,但我刚开始用业余爱好作为业余爱好的程序,所以我还没有很清楚A-Studio或Android的知识。此外,我不确定是否必须将其归类为项目的错误或错误配置。如果有更多知识的人对此进行验证,那就太棒了。

过去几天我在尝试构建一个简单的项目时遇到了这个错误。错误消息没有帮助,因为它会让您感觉您的存储库出现问题。为了找出实际情况,我尝试了不同的场景。我的测试计算机中没有Internet连接,因此Android Studio将无法下载或更新任何内容(JavaGradle)。

以下是测试:

我有一个非常简单的项目,配置为使用本地gradle对本地Maven存储库进行编译和构建。从命令行编译是成功的。

Gradle build commandline

接下来,我在Android-Studio中打开项目,该项目配置为使用相同的gradle分发。请注意,选择Use local gradle distributiondefault对此测试的结果没有任何影响。我正在使用 Android Studio version 2.3.3

Gradle settings in Android-Studio

接下来,我构建了成功编译,构建和打包的项目。

Build with untouched A-Studio

接下来,我关闭A-Studio,清理项目并将\AndroidStudio\gradle文件夹重命名为gradle1,使其无法访问A-Studio。 我打开A-Studio并打开项目,很快就收到错误:

Gradle plugin missing from offline maven repository

令我惊讶的是,项目仍然正确编译,构建和打包。

Android studio without its gradle

<强>结论

有一个版本的gradle与Android studio捆绑在一起,其中包含一个本地Maven存储库。即使您的项目不使用此捆绑的gradle或提到的存储库(\AndroidStudio\gradle1\m2repository),您仍然无法删除或重命名任何一个。

如何修复

如果您在线工作:

删除.gradle文件夹,默认情况下可以在$home%username%找到该文件夹​​。 重新安装Android Studio。

如果您正在脱机工作(无Internet连接):

如果您可以毫无问题地构建项目,只需忽略错误消息(或使用Help -> submit feedback中的Android Studio向Google报告错误

如果您的项目没有构建。您需要检查项目设置,并确保可以使用gradlewgradle从命令行进行编译,以确保项目配置正确。

答案 2 :(得分:1)

对于记录重新安装不是解决方案。

这个问题主要是那些选择安装没有安装Android工作室的游戏的人所遇到的。

实际上解决方案非常简单。

步骤1:找到你安装它的gradle并将所有组件移动到android studio中名为gradle的文件。

注意:如果你没有(gradle文件),那么创建一个。

步骤2:确保所需的所有文件都在该gradle文件下,包括包装器,守护程序,m2-repository,(gradle 3.2 / 3.3或两者)无关紧要,您可以手动拖动单个文件,无论您在何处找到它们并添加他们的。

很可能m2-repository不是导致问题的原因

转到gradle下的设置,并将gradle的路径更改为新的gradle位置。 在此重新启动后,gradle和gradle应该成功构建。

first image

second picture

third picture