25

I have a problem with Android Studio and Gradle to import appcompat-v7.

So here is my 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"
    }

But I get the following error:

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'.
Jan Schultke
  • 17,446
  • 6
  • 47
  • 96
mrroboaat
  • 5,602
  • 7
  • 37
  • 65

16 Answers16

24

It seems the issue is with directories permissions .

Check and try following things :

  • Check whether you have write access on both the android sdk and Android Studio directories.
  • if you are on Windows OS, also try to run Android Studio as Administrator by right clicking on the Studio's icon, .
Piyush Agarwal
  • 25,608
  • 8
  • 98
  • 111
  • Exactly. It was a permission problem on my ubuntu OS. In fact, my projects are stored on other partition and this project was created by root. I have modified my /etc/fstab to add the right uid and now everything is ok. – mrroboaat Feb 01 '14 at 20:47
  • 2
    great @Youngjae , it makes me feel good when my contribution help somebody. – Piyush Agarwal Jul 24 '14 at 10:47
  • 4
    @aat can you please more widely explain what you did? I have same issue. I checked partition permissions and they seems to be ok. Usually I'm setting write permission to full project-dir but it help only temporary and then after some time repeating again. – ar-g Aug 20 '14 at 12:58
  • @grub- Honnestly, I don't really remember what I did. Since the last time, I've installed a new OS and I have not the problem anymore ... – mrroboaat Aug 24 '14 at 07:49
  • In my case (working on a Mac), I did have the wrong permissions on /Applications/Android (it was owned by root instead of my user), but also the build directory on my project was owned by root (I built on the command line using sudo probably, and then was getting this error when building on Android Studio) which was causing this error. – André Morujão Jan 07 '16 at 19:24
  • Any suggestions which file permissions will fail? On my Ubuntu I have 777 on the project and reading from /opt/android-studio/ and writing to ./grade/ also is possible... But my only solution to solve the issue so far, was `sudo ./studio.sh`. – BurninLeo Feb 27 '16 at 16:27
  • After running the Android Studio as administrator, once, building as non-root user works. As long, as I won't click "Clean Projekt"... – BurninLeo Apr 30 '16 at 21:40
4

Just wanted to add my experience. I was getting this error for a 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'.

To debug, I tried to touch the file that gradle was trying to create, since permissions of all my directories were fine

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

I was getting this error because I was working on an encrypted filesystem in ubuntu and the encrypted filesystem did not allow very long filenames.

Sumit
  • 1,934
  • 4
  • 17
  • 23
4

If you're on *UNIX, you can run this command from the Android Studio command line

sudo chmod -R 777 /your/project/path
Zoe
  • 27,060
  • 21
  • 118
  • 148
Oded Breiner
  • 28,523
  • 10
  • 105
  • 71
4

Follow these Steps and make Build Successful

  1. cd android cd android/
  2. gradlew clean ./gradlew clean
  3. cd ..
  4. react-native run-android
Syed Zain Ali
  • 1,206
  • 1
  • 14
  • 20
2

I had the same problem when I've tried to build project in IntelliJ IDEA 13.1.4 and my multi-module project today. Not very good solution, but I've unchecked "Compile independent modules in parallel (may require larger heap space)" and problem disappeared. Moreover, Gradle configuration for my project probably isn't ideal (but i can still successfully build project via command line) and i'm checking weak places.

Igor K
  • 470
  • 6
  • 10
2

I found someone with the same problem here.

The solution - albeit a temporary one - is to downgrade from Gradle 2.1.0 to 2.0.0 in my project's build.gradle file.

ban-geoengineering
  • 18,324
  • 27
  • 171
  • 253
2

Guys this "COULD" be the problem that your Library is not compatible with the gradle version as it was with me. So I reduced the gradle version and it worked. I suggest that you try changing your gradle version and then build again. Hope it helps someone.

Lazycoder-007
  • 1,055
  • 9
  • 19
1

In my case it was a windows permission problem. The project was created from Cygwin, and all folders had strange permissions

gervais.b
  • 2,294
  • 2
  • 22
  • 46
0

I'm an Ubuntu user and I had the same problem. I followed pyus13's answer and I gave the write permissions to the project folder instead of giving it to android-studio and android-sdk-linux. Also, the command
sudo chmod 7777 /your/project/path
didn't work. But,
sudo chmod 757 -R /your/project/path
worked perfectly.

CLOUGH
  • 691
  • 11
  • 16
0

Ubuntu user here; I stumbled across this problem after backing up my library on a mounted USB, then finding that the permissions had been changed on the project folder after reverting from a backup.

To restore access, I peformed the following steps:

  1. Allow R/W access to the Android project folder. sudo chmod -R 777 ./MyProjectDir

  2. Open the project in Android Studio. After gradle has finished indexing, clean the build.

Mapsy
  • 4,192
  • 1
  • 37
  • 43
0

I had the same issue with our own library. The final .aar contained a non valid .so filename inside.

Cleanup all the dependencies and rebuilt fixed the issue.

I found the issue by enabling --stacktrace with Gradle.

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

CMash
  • 1,987
  • 22
  • 35
0

Run cd android && gradlew clean && cd.. && react-native run-android

General Omosco
  • 606
  • 1
  • 10
  • 20
0

in my case it was the AAR too large,and i don't use the git lfs

tanrk
  • 1
-2
  • If you are using jdk1.8., Remove it.
  • Installing jdk1.7.
number27th
  • 15
  • 1
  • Worked for me, I had the same error, the project I was working on was meant to run on jdk 1.7 and my environment had jdk 1.8. – A21z Nov 13 '14 at 01:37
  • Worked perfectly for me. Downgrading was the last thing I did, but turned out it was what was required. Thank you. – dev8080 Jul 05 '17 at 10:34
-2

i think i can help you,you should try to remove your project to your Ubuntu user directory,like /home/username/, then, reload your project and work it.