Related
I've installed Android Studio 1.2, and created a new project. When I attempt to build, it hangs. This is in the Gradle Console, along with about 20 other copies, with different numbers after png-cruncher_:
Exception in thread "png-cruncher_2" java.lang.RuntimeException: Timed out while waiting for slave aapt process, try setting environment variable SLAVE_AAPT_TIMEOUT to a value bigger than 5 seconds
at com.android.builder.png.AaptProcess.waitForReady(AaptProcess.java:104)
at com.android.builder.png.QueuedCruncher$1.creation(QueuedCruncher.java:107)
at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:204)
at java.lang.Thread.run(Thread.java:745)
I had the same problem with Debian Jessie for AMD64. I did this, and it works:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386
I had the same issue whilst running Android Studio 1.5.1 for Windows 8.1 (64 bit), and what I did to solve the problem was by adding the following two system environment variables:
SLAVE_AAPT_TIMEOUT = 30
JAVA_HOME = C:\Program Files\Java\jdk1.8.0_65
(Please note: The path for the JAVA_HOME system environment variable is dependant on where your JDK is located and that the version of your JDK may differ from the example above).
I had this problem on Windows 8.1 64 bits and what ended up solving everything was running gradle in the command line in debug mode, on the project folder:
gradlew -d assembleDebug
Running without the -d flag had the same problem.
After running the first time, everything was ok, I could even clean and rebuild my project.
I had this problem and what was missing were a library to be installed on the SDK.
Just installing the correct library immediately solved the problem.
In my case was the Android Support Library, as I was creating a navigation drawer.
The errors shown in the gradle console didn't give me a clue for the solution, and didn't helped me at all.
Click on SDK manager, and click on the tab SDK Tools, check "Android Support Library" and click apply.
This is a known bug reported here --> https://code.google.com/p/android/issues/detail?id=188627
The workaround on Mac is to reboot your computer.
If you are running on a Linux x64 machine you probably miss some required libraries. The offical sdk guide states:
Required libraries for 64-bit machines:
If you are running a 64-bit version of Ubuntu, you need to install some 32-bit libraries with the following command:
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 lib32bz2-1.0
If you are running 64-bit Fedora, the command is:
sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686
of course don't forget to
sudo apt-get update
first.
By pausing the antivirus I don't have anymore that problem, or better by making a rule at the antivirus in order to accept a given '.class' filename recognized as trojan, then banned at compile-time.
Check your firewall if it is coming in your way. Disabling my firewall works for me but i don't know if it's the right fix.
I had the same problem with CentOS 6.5. Before this error, I found the cause of the error, as follows.
AAPT err(Facade for 1129807373): xxx/aapt: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by xxx/lib64/libc++.so)
“libc.so.6: version `GLIBC_2.14' not found” . The highest version of CentOS 6.5 is 2.12, and we need to upgrade to 2.14.
Display the installed glibc version:
# rpm -qa | grep glibc
To download the corresponding RPM package. -> ftp.redsleeve.org/pub/steam/
Install the RPM package as follows:
# rpm -Uvh glibc-2.15-60.el6.x86_64.rpm glibc-common-2.15-60.el6.x86_64.rpm glibc-devel-2.15-60.el6.x86_64.rpm glibc-headers-2.15-60.el6.x86_64.rpm --nodeps --force
I uninstalled 1.2 and installed 1.1, but it did't work.
Because I used local SDK installed previously, I uninstalled and reinstalled 1.1 and installed SDK to new path.
After I used SDK in new path, I don't have those errors any more.
And I upgraded Android Studio to 1.2, and also I don't have errors.
Downgrading Build Tools rescued me.
I've installed Android Studio 1.2, and created a new project. When I attempt to build, it hangs. This is in the Gradle Console, along with about 20 other copies, with different numbers after png-cruncher_:
Exception in thread "png-cruncher_2" java.lang.RuntimeException: Timed out while waiting for slave aapt process, try setting environment variable SLAVE_AAPT_TIMEOUT to a value bigger than 5 seconds
at com.android.builder.png.AaptProcess.waitForReady(AaptProcess.java:104)
at com.android.builder.png.QueuedCruncher$1.creation(QueuedCruncher.java:107)
at com.android.builder.tasks.WorkQueue.run(WorkQueue.java:204)
at java.lang.Thread.run(Thread.java:745)
I had the same problem with Debian Jessie for AMD64. I did this, and it works:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386
I had the same issue whilst running Android Studio 1.5.1 for Windows 8.1 (64 bit), and what I did to solve the problem was by adding the following two system environment variables:
SLAVE_AAPT_TIMEOUT = 30
JAVA_HOME = C:\Program Files\Java\jdk1.8.0_65
(Please note: The path for the JAVA_HOME system environment variable is dependant on where your JDK is located and that the version of your JDK may differ from the example above).
I had this problem on Windows 8.1 64 bits and what ended up solving everything was running gradle in the command line in debug mode, on the project folder:
gradlew -d assembleDebug
Running without the -d flag had the same problem.
After running the first time, everything was ok, I could even clean and rebuild my project.
I had this problem and what was missing were a library to be installed on the SDK.
Just installing the correct library immediately solved the problem.
In my case was the Android Support Library, as I was creating a navigation drawer.
The errors shown in the gradle console didn't give me a clue for the solution, and didn't helped me at all.
Click on SDK manager, and click on the tab SDK Tools, check "Android Support Library" and click apply.
This is a known bug reported here --> https://code.google.com/p/android/issues/detail?id=188627
The workaround on Mac is to reboot your computer.
If you are running on a Linux x64 machine you probably miss some required libraries. The offical sdk guide states:
Required libraries for 64-bit machines:
If you are running a 64-bit version of Ubuntu, you need to install some 32-bit libraries with the following command:
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 lib32bz2-1.0
If you are running 64-bit Fedora, the command is:
sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686
of course don't forget to
sudo apt-get update
first.
By pausing the antivirus I don't have anymore that problem, or better by making a rule at the antivirus in order to accept a given '.class' filename recognized as trojan, then banned at compile-time.
Check your firewall if it is coming in your way. Disabling my firewall works for me but i don't know if it's the right fix.
I had the same problem with CentOS 6.5. Before this error, I found the cause of the error, as follows.
AAPT err(Facade for 1129807373): xxx/aapt: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by xxx/lib64/libc++.so)
“libc.so.6: version `GLIBC_2.14' not found” . The highest version of CentOS 6.5 is 2.12, and we need to upgrade to 2.14.
Display the installed glibc version:
# rpm -qa | grep glibc
To download the corresponding RPM package. -> ftp.redsleeve.org/pub/steam/
Install the RPM package as follows:
# rpm -Uvh glibc-2.15-60.el6.x86_64.rpm glibc-common-2.15-60.el6.x86_64.rpm glibc-devel-2.15-60.el6.x86_64.rpm glibc-headers-2.15-60.el6.x86_64.rpm --nodeps --force
I uninstalled 1.2 and installed 1.1, but it did't work.
Because I used local SDK installed previously, I uninstalled and reinstalled 1.1 and installed SDK to new path.
After I used SDK in new path, I don't have those errors any more.
And I upgraded Android Studio to 1.2, and also I don't have errors.
Downgrading Build Tools rescued me.
I'm trying to get set up with an Android development environment using IntelliJ in Ubuntu 12.04. I create an Android Application Module, but when I try to build, I get the following error:
android-apt-compiler: Cannot run program "/home/jon/Programs/android-sdk-linux/platform-tools/aapt": java.io.IOException: error=2, No such file or directory
Several hours of scouring the internet hasn't helped.
By the way, I ran locate aapt in the terminal and found that aapt is located at /home/jon/Programs/android-sdk-linux/build-tools/17.0.0/aapt
It appears that the latest update to the r22 SDK release moved aapt and the lib jar from the platform-tools to the build-tools directory. While we wait for JetBrains to release an update, here's a quick fix using a couple of symbolic links:
From your AndroidSDK/platform-tools directory, run the following:
ln -s ../build-tools/17.0.0/aapt aapt
ln -s ../build-tools/17.0.0/lib lib
...and IntelliJ should be able to compile as normal.
update your IntelliJ to 12.1.4 by using beta releases as the update channel
In Windows it is enough to copy only aapt.exe, lib\dx.jar and dx.bat
from build-tools\android-4.2.2
to
platform-tools
The same problem occurred for me with android-studio. But, this probably applies to the IntelliJ IDE as well.
When checking the file location I saw, however, that aapt was in the expected location.
In my case the issue was that I was running a 64-bit Ubuntu linux system which cannot execute the 32-bit aapt executable.
Installing 32-bit compatibility libraries solved this issue in my case: sudo apt-get install ia32-libs
i solve it with this to line commands
ln -s ~/Programs/android-sdk-linux/build-tools/17.0.0/aapt ~/Programs/android-sdk-linux/platform-tools/aapt
ln -s ~/Programs/android-sdk-linux/build-tools/17.0.0/lib ~/Programs/android-sdk-linux/platform-tools/lib
I also noticed it.
ADT has been updated and they added this new build-tools where they moved everything.
Intellijidea is not updating paths so it's searching aapt in the old path.
I don't know how to solve it, so let me know if you find a solution...
UPDATE:
I think that you have only 2 options:
1) Use Android Build studio: http://developer.android.com/sdk/installing/studio.html
2) Copy (this is dirty but works) all content from build-tools/17.0.0/ to platform-tools/ and it will build
To complain to Jetbrains, go here: http://youtrack.jetbrains.com/issue/IDEA-107311
I reckon more votes will be a faster fix.
Thanks for the tip! On a mac running the Android 4.2.2 SDK, this worked great. You'll just need to update your paths accordingly. E.g.
ln -s ../build-tools/android-4.2.2/lib lib
ln -s ../build-tools/android-4.2.2/aapt aapt
I ran into this issue but with android-maven-plugin
and as a variant of your item #2 rather than copying the file(s) I simply created a symbolic/soft link for aapt
cd platform-tools
ln -s ../build-tools/17.0.0/aapt ./
This approach seemed to get all my builds functioning again.
Clone the android-maven-plugin on GitHub and install it in your repo
git clone https://github.com/jayway/maven-android-plugin.git
cd .../maven-android-plugin/
mvn clean install
Then update your pom to use version 3.5.4-SNAPSHOT of the plugin.
Everything should work properly !
I ran these three commands and my problem was resolved
mklink "%ANDROID_HOME%\platform-tools\aapt.exe" "%ANDROID_HOME%\build-tools\17.0.0\aapt.exe"
mklink /D "%ANDROID_HOME%\platform-tools\lib" "%ANDROID_HOME%\build-tools\17.0.0\lib"
mklink "%ANDROID_HOME%\platforms\android-17\tools" "%ANDROID_HOME%\build-tools\17.0.0\aidl.exe"
If you haven't set ANDROID_HOME Environmental variable the replace %ANDROID_HOME% with the path to your android SDK e.g. C:\Android\android-sdk
On Mac OS you need to
$ cd platform-tools
$ ln -s ../build-tools/android-4.2.2/aapt aapt
$ ln -s ../build-tools/android-4.2.2/lib lib
Goodlife once again.
Just incase of such an error clean project and you are good to go.
I have installed Android Studio and I followed all steps described here
But when I start studio.sh I got an error with this message:
'tools.jar' is not in Android Studio classpath. Please ensure JAVA_HOME points to JDK rather than JRE
Can anyone here help me with this?
Check if your Java JDK is installed correctly
dpkg --list | grep -i jdk
If not, install JDK
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update && sudo apt-get install oracle-java8-installer
After the installation you have to enable the jdk
update-alternatives --display java
Check if Ubuntu uses Java JDK 8
java -version
If all went right the answer should be something like this:
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
Check what compiler is used
javac -version
It should show something like this
javac 1.8.0_91
Finally, add JAVA_HOME to the environment variable
Edit /etc/environment and add JAVA_HOME=/usr/lib/jvm/java-8-oracle to the end of the file
sudo nano /etc/environment
Append to the end of the file
JAVA_HOME=/usr/lib/jvm/java-8-oracle
You will then have to reboot, you can do this from the terminal with:
sudo reboot
In case you want to remove the JDK
sudo apt-get remove oracle-java8-installer
sudo apt-get install default-jdk
That's all in ubuntu 11
This is caused by having JAVA JRE installed as opposed to JAVA JDK.
The solution is simple:
sudo apt-get install openjdk-7-jdk
http://www.maxmakedesign.co.uk/development/2013/android-studio-tools-jar-classpath/
The error is self explanatory, you need to set your environment variable to JDK path instead of JRE here is it
JDK_HOME: C:\Program Files\Java\jdk1.7.0_07
check the path for linux
and here is possible duplicate Android Studio not working
Widows 7 64 bit.
JAVA_HOME point to my JRE (NOT JDK) directory
Coping of tools.jar from JDK\lib directory to ANDROIDSTUDIO\lib directory solve the problem
in OpenSuSE 13.1 and some 13.2 versions you also need to:
install java-1_7_0-openjdk-devel package
change the JAVA_HOME path when starting the studio:
For x86:
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0/ sh studio.sh
For x64:
JAVA_HOME=/usr/lib64/jvm/java-1.7.0-openjdk-1.7.0/ sh studio.sh
I had the same problem on a new installed Linux Mint 16. To fix this you just need to type command
sudo apt-get install openjdk-7-jdk
And that's it. You even do not need to add repositiries or creating JAVA_HOME in your environment.
On ubuntu I have tried all the methods that are described here but none worked.
What I did in the end was to:
download JDK from oracle, extract the archive
edit android-studio/bin/studio.sh and add at the top
export JAVA_HOME=/path/to/jdk
save the file and cd android-studio/bin and launch Android Studio: ./studio.sh
For me, running Fedora 22 with Gnome 16.2, this solution helped me.
In short, you should install the java-1.8.0-openjdk-devel, the development files of the JDK.
Open the Terminal and search for the latest version of the JDK development package:
$ dnf search jdk-devel
Last metadata expiration check performed 12:44:51 ago on Mon Aug 3 22:20:24 2015.
============================ N/S Matched: jdk-devel ============================
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.8.0-openjdk-devel-debug.x86_64 : OpenJDK Development Environment with
: full debug on
$ sudo dnf install java-1.8.0-openjdk-devel
First check if the Java JDK is installed correctly:
dpkg --list | grep -i jdk
If not, install the JDK:
Download the latest version of the JDK from Oracle: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Extract it to the appropriate location in your machine. Get the extract location:
vi ~/.bashrc or vi ~./ bash_profile
JAVA_HOME=/home/user/installs/jdk1.7.0_40
PATH=$JAVA_HOME/bin
source ~/.bashrc or source ~/.bash_profile
After the installation you can check it:
java -version
which java
If all things are correct then the right the answer should be something like this:
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)
Append the following statement to studio.sh the file in android-studio/bin directory:
JAVA_HOME=/home/user/installs/jdk1.7.0_40
Finally start your Android Studio with the following command:
./studio.sh
The problem is a bug on Fedora 20. The bug is very odd: if I have Google Talk plugin installed then Eclipse crashes (https://bugs.eclipse.org/bugs/show_bug.cgi?id=334466). It's crazy for me. I thought that was Java version and with Java 6 my eclipse was still crashing. To solve this I should use gnome/GTK instead KDE. Now it works "well" (in gnome environment). Thanks for all answers.
I was facing similar problem on Windows 7 x64 professional edition. Please note following steps to fix this problem.
tools.jar is missing from required path if you are using jdk1.7 x64 bit version.
Please install x86 version of jdk1.7
Set JDK_HOME="C:\Program Files (x86)\Java\jdk1.7.0_67" and update path environment variable as path="C:\Program Files (x86)\Java\jdk1.7.0_67\bin"
Note: Linux put the proper path.
Launch 32 bit application from /android-studio\bin folder.
I tested and verified these steps on windows 7 with 32 bit jdk1.7
It's probably because you don't have jdk installed in your machine. I had exact same problem in first run. Open a terminal (CTRL+ALT+T) and type: sudo apt-get install openjdk-7-jdk
When done setup Java environment variable. Steps as follows:
sudo gedit /etc/environment
Either in the beginning or end of the file write: JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386 (location may vary depending on the installation of your Java)
export JAVA_HOME
save and exit editor.
Load the path variable again using the terminal: . /etc/environment
Couple of helpful links for further clarifications:
How to install JDK on Ubuntu (Linux)?
How to set JAVA_HOME for OpenJDK?
Hope this helps.
On Windows 7 just run the studio.bat file in your android-studio/bin folder with right click as an administrator. Now you get ask to import previous studio settings. Ignore this and on the next dialog you can specify the path to your jdk directory.
That's all.
Marcel
I ran into this issue when I was referencing
[drive]:\Program Files\Java\jdk1.8.0_65
in my JAVA_HOME environment var instead of the Android Studio recommended
[drive]:\Program Files\Java\jdk1.7.0_79.
I am using the x64 version of the JDK on Windows 10 Pro.
From the Android Studio installation instructions.
Before you set up Android Studio, be sure you have installed JDK 6 or higher (the JRE alone is not sufficient)—JDK 7 is required when developing for Android 5.0 and higher. To check if you have JDK installed (and which version), open a terminal and type javac -version. If the JDK is not available or the version is lower than version 6, download the Java SE Development Kit 7
http://developer.android.com/sdk/installing/index.html?pkg=studio
You have 2 things you must check:
verify that /etc/environment file has the correct JAVA_HOME and PATH values referring to your Java installation directory.
verify that you have the correct Java version (maybe you are using a distribution of Linux which need a server version of Java) you may need this version like my case JRE for server.
On my Linux Mint 17.3 install, I found these instructions incredibly helpful.
The problem seems to boil down to the system's default Java being OpenJDK and Android Studio preferring Oracle's JDK. I actually did not perform the OpenJDK removal steps given in the tutorial, but only downloaded the Oracle JDK and set it as my system's default. Android Studio worked right away.
In case the linked page ever goes away, the steps I took were
Download Oracle JDK. Mine was version 1.7.0_79.
tar -zxvf jdk-7u79-linux-x64.tar.gz
sudo mkdir -p /opt/java
sudo mv jdk1.7.0_79 /opt/java
sudo update-alternatives --install "/usr/bin/java" "java" "/opt/java/jdk1.7.0_79/bin/java" 1
sudo update-alternatives --set java /opt/java/jdk1.7.0_25/bin/java
and
java -version
confirms the system is using Oracle's JDK, giving output like
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
I just updated ADT, than the SDK and now I have in only one project the issue, that my aapt isn't found
Error executing aapt. Please check aapt is present at /opt/android/platform-tools/aapt
The path is correct, I checked twice and more times.
-rwxrwxrwx 1 martin martin 3,5M 2010-12-08 10:41 /opt/android/platform-tools/aapt
I can start aapt via console, the permissions are 777, I restarted eclipse, closed/reopened the project, restarted adb and finally my Ubuntu.
Some ideas why this might happen only at one project?
It seems that cleaning this specific project doesn't work but cleaning all open project does the trick.
I leave this question if someone else get this issue.
I found that this could be fixed by installing the ia32-libs package as the Android sdk requires 32-bit libraries.
I solved this problem by adding a / after my android-sdk path in...
Eclipse->preferences->android->SDK Location:
The aapt location has been changed recently. You can find it under:
/path/to/adt/sdk/buid-tools/android-[version]/aapt
In the terminal execute this command :
chmod a+x platform-tools/aapt
it solved the problem for me
(in 64bit you have to install ia32-libs with this command : sudo apt-get install ia32-libs)
Check you have Android SDK version required installed and the path in Eclipse->preferences->android->SDK Location is correct.
Check file permissions. Run:
chmod a+x aapt
If you are using Linux 64-bits. You'll see this hint:
Hint: On 64-bit systems, make sure the 32-bit libraries are installed: sudo apt-get install ia32-libs line 1 Android ADT Problem
To fix it, you'll have to install 32-bits libraries:
sudo apt-get install ia32-libs
or
sudo apt-get install lib32z1
Maybe you'll need to install other libraries (libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386) or the emulator (libsdl1.2debian:i386). In my case it was enough installing libstdc++6
sudo apt-get install lib32stdc++6
For more information you can check this question:
How to resolve Error executing aapt in Android/Eclipse?
Starting build-tool 23, aapt has been moved under the ./bin directory
waiting for Eclipse ADT to be updated , one can just create a symbolic link to aapt
cd <path_to_your_android_sdk_folder>/build-tools/23.0.0_rc1
ln -s ./bin/aapt aapt
this will create a symlinc
<path_to_your_android_sdk_folder>/build-tools/23.0.0_rc1/aapt
pointing to actual aapt tool laying here
<path_to_your_android_sdk_folder>/build-tools/23.0.0_rc1/bin/aapt
and eclipse will be able to build android project back again :-)
My issue with aapt got solved by simply chmod a+x platform-tools/aapt
Following did the trick for me. Had to do the build dep as some of the lib dependencies were missing.
sudo apt-get install lib32z1
sudo apt-get build-dep lib32z1
sudo apt-get install lib32stdc++6 lib32z1 lib32z1-dev
Restart eclipse
I didn't collide with this problem, but if you have ADT 8 revision or later, so you should read it's dependencies better: "ADT 8.0.0 is designed for use with SDK Tools r8. If you haven't already installed SDK Tools r8 into your SDK, use the Android SDK and AVD Manager to do so." (http://developer.android.com/sdk/eclipse-adt.html)
I've run into this problem constantly and can not get R to be resolved to a variable after making projects clean, in addition to not being able to find aapt -
Error executing aapt. Please check aapt is present at C:\AndroidSDK\android-sdk-windows\platform-tools\aapt.exe
None of the suggestions on this page make any sense or have helped in anyway. I'm using nothing but API 8 onwards.
I solved this problem by checking 'build automatically' under project menu.
I have faced the same problem after updating the SDK. I find out that the AUTOGENERATE folder doesn't have any file. What I done is :
WINDOWS->ANDROID SDK MANAGER:
rollback the SDK version to 16
Install all the tool provided.
SDK TOOLS (Version 16)
Platform Tools
install the SDK 4.0
Restart the eclipse
It solved!
For me, the problem was that Eclipse 4.4 was looking for aapt without "bin/" at the end of the path.
Since I could not find a way to configure this path, I symlinked the aap executable from the "bin" subdirectory to the "23.0.0_rc1" directory one level higher. This works now.