10

将项目导入为 gradle 时出现错误Cause: unexpected end of block data。项目有几个模块。我正在使用 Idea 132.719 和 1.8 gradle。

4

9 回答 9

25

我有同样的问题。原来 build.gradle 指定了一个未安装的buildToolsVersion :

android {
    buildToolsVersion "18.1"
    ...
}

而我只安装了 18.1.1。更改build.gradle中的 buildToolsVersion 为我解决了这个问题。如果这不能为您解决问题,仔细检查 Intellij 日志可能会发现问题。

您可以使用Android SDK Manager查看安装了哪个版本的构建工具。

于 2013-10-30T18:18:28.543 回答
7

只需打开app/src/main/build.gradle,Android Studio 可能会在文本版本上突出显示黄色buildToolsVersion

apply plugin: 'android'

android {
    compileSdkVersion 19
    buildToolsVersion "19.1.0"  //<--- THIS PART WILL BE HIGHLIGHTED

    defaultConfig {
    ...

这意味着 Gradle 尝试使用安装了错误版本的 Gradle 构建工具进行编译。通常版本会更低

然后打开Tools->Android->SDK Manager并找到最高版本Android SDK Build-Tools并编写该版本。就我而言,它是 19.1。

在此处输入图像描述

重新编译,它会工作。

于 2014-06-13T17:14:53.673 回答
3

安装 Android Studio 版本0.6.1后我遇到了同样的问题。\app\build.gradle的buildToolsVersion指向正确的版本(19.0.3),但是通过将其更改为版本 19.1解决了问题

android {
compileSdkVersion 19
buildToolsVersion "19.1" // <- This was changed from 19.0.3
...
于 2014-06-25T08:45:44.877 回答
2

如果使用 gradlew 的命令行版本,对于此类问题的一个很好的提示,它可以为您提供更多有用的信息,对于上述问题,它可能如下所示:

Android工作室的错误代码

Gradle 'bluetooth-new-circle' 项目刷新失败

错误:原因:块数据意外结束

来自同一项目的命令行 gradlew 的错误代码:

~/source_code/bluetooth$ ./gradlew clean assembleDebug :AccessoryController:clean UP-TO-DATE :BluetoothAudioProxy:clean UP-TO-DATE :BluetoothGatt:clean UP-TO-DATE :ScaleMonitor:clean UP-TO-DATE :UsbMonitor:清理 UP-TO-DATE :AccessoryController:preBuild FAILED

FAILURE:构建失败并出现异常。

  • 出了什么问题:任务“:AccessoryController:preBuild”执行失败。

    SDK 构建工具修订版 (19.0.2) 对于项目“:AccessoryController”来说太低了。最低要求是 19.1.0

  • 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。

构建失败

总时间:10.078 秒 ~/source_code/bluetooth$

于 2014-07-09T09:44:37.290 回答
2

我在你的评论中看到,@SergeyB,在你的用户目录中删除 .gradle 没有帮助,但这些步骤解决了我的问题(有类似的症状):

  • 从用户目录 (\Users\Mark.gradle) 中删除 .gradle 目录
  • 删除 GRADLE_HOME 环境变量(如果已设置)
  • 删除 Gradle 的“手动”安装(不需要,因为当您运行 gradlew 包装器时,Gradle 会自动下载必要的文件)
  • 从命令行运行“gradlew”,并确认新文件已下载
  • 从命令行运行 gradle build(例如,“gradlew clean assemble”)
  • 如果遇到 SDK 版本不匹配错误,例如“failed to find target android-18”,请务必下载对应的 Android SDK(可以通过 Android Studio 中的 SDK Manager 完成)
  • 一旦您可以从命令行构建,请在 IDE 中重试
于 2014-02-05T04:54:46.187 回答
1

很晚的答案,我相信你不再关心了,但其他人可能会。

  1. 文件 -> 使缓存无效/重新启动
  2. 关闭 Android Studio
  3. 重命名/删除用户主目录中的 .gradle 文件夹
  4. 重启 Android Studio 让它下载它需要的所有 Gradle 东西
  5. Gradle 构建成功!
  6. 重建项目....成功!

希望这可以帮助 。

于 2014-06-07T07:25:51.147 回答
1

我也有同样的问题。我通过设置 ANDROID_HOME 环境变量解决了这个问题。export ANDROID_HOME=/android_sdk_root_dir

希望这可以帮助。

于 2013-11-11T03:02:46.623 回答
0

尝试在 Gradle 中应用idea插件并运行它。.ipr然后使用生成的文件在 IntellijIDEA 中打开项目。

于 2013-10-24T19:46:23.340 回答
-1

是的,

STEP 1:打开模块 build.gradle 并找到 buildToolsVersion。

STEP 2:将数值修改为警告值。

于 2014-12-06T08:16:26.700 回答