gradle,无法展开ZIP appcompat-v7:19.0.1

时间:2014-02-01 10:58:49

标签: android gradle android-studio android-appcompat

我在Android studio adn gradle导入appcompat-v7时出现问题。

所以这是我在src目录中的build.gradle

apply plugin: 'android'
apply plugin: 'android-apt'
def AAVersion = '3.0.1'

    android {
        compileSdkVersion 19
        buildToolsVersion "19.0.1"

        defaultConfig {
            minSdkVersion 10
            targetSdkVersion 19
            versionCode 1
            versionName "1.0"
            packageName "com.test"
        }
        buildTypes {
            release {
                runProguard false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            }
        }
    }

    apt {
        arguments {
            resourcePackageName android.defaultConfig.packageName
            androidManifestFile variant.processResources.manifestFile
        }
    }

    dependencies {

        // You must install or update the Support Repository through the SDK manager to use this dependency.
        // The Support Repository (separate from the corresponding library) can be found in the Extras category.
        compile 'com.android.support:support-v4:19.0.1'

        // You must install or update the Support Repository through the SDK manager to use this dependency.
        // The Support Repository (separate from the corresponding library) can be found in the Extras category.
        compile 'com.android.support:appcompat-v7:19.0.1'

        // android annotations
        compile "org.androidannotations:androidannotations-api:$AAVersion"
        apt "org.androidannotations:androidannotations:$AAVersion"
    }

但是我收到以下错误

Execution failed for task ':app:prepareComAndroidSupportAppcompatV71901Library'.
> Could not expand ZIP '/opt/android-sdk/extras/android/m2repository/com/android/support/appcompat-v7/19.0.1/appcompat-v7-19.0.1.aar'.

如何解决我的问题? Thx提前

16 个答案:

答案 0 :(得分:22)

似乎问题在于目录权限。

检查并尝试以下事项:

  • 检查您是否对 android sdk Android Studio 目录。
  • 如果您使用的是Windows操作系统,请尝试通过右键单击Studio的图标以管理员身份运行Android Studio。

答案 1 :(得分:5)

如果您使用的是* UNIX,则可以从Android Studio命令行运行此命令

sudo chmod -R 777 /your/project/path

答案 2 :(得分:4)

只想添加我的经验。我收到了一个kafka jar的错误

FAILURE: Build failed with an exception.

* What went wrong:
Could not expand ZIP '/home/srangwal/.gradle/caches/modules-2/files-2.1/org.apache.kafka/kafka_2.9.2/0.8.2.0/f9e44ac2d80afee7d5696f11814e6a65af5a380a/kafka_2.9.2-0.8.2.0.jar'.
> Could not copy zip entry /home/srangwal/.gradle/caches/modules-2/files-2.1/org.apache.kafka/kafka_2.9.2/0.8.2.0/f9e44ac2d80afee7d5696f11814e6a65af5a380a/kafka_2.9.2-0.8.2.0.jar!kafka/consumer/ZookeeperConsumerConnector$ZKRebalancerListener$$anonfun$kafka$consumer$ZookeeperConsumerConnector$ZKRebalancerListener$$addPartitionTopicInfo$1.class to '/home/srangwal/work-projects/griffin/build/tmp/expandedArchives/kafka_2.9.2-0.8.2.0.jar_7e6mtfrbv2j9f9v18u5gsfe9q/kafka/consumer/ZookeeperConsumerConnector$ZKRebalancerListener$$anonfun$kafka$consumer$ZookeeperConsumerConnector$ZKRebalancerListener$$addPartitionTopicInfo$1.class'.

要调试,我试图触摸gradle尝试创建的文件,因为我所有目录的权限都很好

touch '/home/srangwal/work-projects/griffin/build/tmp/expandedArchives/kafka_2.9.2-0.8.2.0.jar_7e6mtfrbv2j9f9v18u5gsfe9q/kafka/consumer/ZookeeperConsumerConnector$ZKRebalancerListener$$anonfun$kafka$consumer$ZookeeperConsumerConnector$ZKRebalancerListener$$addPartitionTopicInfo$1.class'
touch: cannot touch ‘/home/srangwal/work-projects/griffin/build/tmp/expandedArchives/kafka_2.9.2-0.8.2.0.jar_7e6mtfrbv2j9f9v18u5gsfe9q/kafka/consumer/ZookeeperConsumerConnector$ZKRebalancerListener$$anonfun$kafka$consumer$ZookeeperConsumerConnector$ZKRebalancerListener$$addPartitionTopicInfo$1.class’: File name too long

我收到此错误是因为我正在使用ubuntu中的加密文件系统而加密文件系统不允许使用非常长的文件名

答案 3 :(得分:4)

按照以下步骤进行构建成功

  1. cd android cd android/
  2. gradlew clean ./gradlew clean
  3. cd ..
  4. react-native run-android

答案 4 :(得分:2)

当我尝试在IntelliJ IDEA 13.1.4和我的多模块项目中构建项目时,我遇到了同样的问题。 不是很好的解决方案,但我已经取消选中“并行编译独立模块(可能需要更大的堆空间)”并且问题消失了。 此外,我的项目的Gradle配置可能并不理想(但我仍然可以通过命令行成功构建项目)并且我正在检查弱点。

答案 5 :(得分:2)

我找到了someone with the same problem here

解决方案 - 尽管是一个临时 - 解决方案是在我的项目的build.gradle文件中从Gradle 2.1.0降级到2.0.0。

答案 6 :(得分:2)

伙计这个“可能”是你的图书馆与gradle版本不兼容的问题。所以我减少了gradle版本并且它有效。我建议您尝试更改您的gradle版本,然后再次构建。 希望它可以帮到某人。

答案 7 :(得分:0)

在我的情况下,这是一个Windows权限问题。 该项目是从Cygwin创建的,所有文件夹都有奇怪的权限

答案 8 :(得分:0)

我是Ubuntu用户,我遇到了同样的问题。我按照pyus13的回答,我给了项目文件夹的写权限,而不是给 android-studio android-sdk-linux < / strong>即可。另外,命令
sudo chmod 7777 /your/project/path
没有工作。但是,
sudo chmod 757 -R /your/project/path
工作得很好。

答案 9 :(得分:0)

Ubuntu用户在这里;我在安装的USB上备份我的库之后偶然发现了这个问题,然后在从备份恢复后发现项目文件夹上的权限已被更改。

要恢复访问权限,我执行了以下步骤:

  1. 允许R / W访问Android项目文件夹。 sudo chmod -R 777 ./MyProjectDir

  2. 在Android Studio中打开项目。 gradle完成索引后,clean构建。

答案 10 :(得分:0)

我对自己的库有同样的问题。最终的.aar里面包含一个无效的.so文件名。

清理所有依赖项并重建修复了问题。

我通过使用Gradle启用--stacktrace来找到问题。

答案 11 :(得分:0)

For me the issue was with the folder that the file was being unzipped to. Deleting that and running the build again sorted it out

答案 12 :(得分:0)

运行cd android && gradlew clean && cd.. && react-native run-android

答案 13 :(得分:0)

在我的情况下,它的AAR太大,我不使用git lfs

答案 14 :(得分:-1)

  • 如果您使用的是jdk1.8。,请将其删除。
  • 安装jdk1.7。

答案 15 :(得分:-2)

我想我可以帮助你,你应该尝试将你的项目删除到你的Ubuntu用户目录,比如/ home / username /,然后重新加载你的项目并运行它。