IntelliJ IDEA unable to find android sdk - android

I'm trying to import a libGDX project into IntelliJ running OSX 10.9. When creating my own project it's not an issue specifying the path to the android sdk in the gdx-setup, but when importing one I keep getting the issue:
SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
I haven't found anything resembling a local.properties file and wouldn't know how to create one, so I set the ANDROID_HOME environment variable with the path to my android sdk, adding this to my .bash_profile: export ANDROID_HOME=/Applications/android-sdk
Additionally I added $ANDROID_HOME:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools to my PATH as well, which seems somewhat overkill, but unfortunately the PATH isn't recursive.
IntelliJ isn't getting any of this however, I'm guessing adding it to my .bash_profile isn't the right way of doing it?
Thank you very much in advance!

So thanks to the friendly people in the libGDX IRC it turned out to be relatively easy adding the local.properties file. The necessary content is just
sdk.dir=/path/to/android/sdk
This solves the problem and IntelliJ is now able to import the project. No further info on using environment variables.

This is unorthodox but I cannot comment(not enough karma) so I'm writing an answer instead, where is the local.properties file that you speak of? I am unable to find it.
However I've solved it by:
open your Project Structure settings (Ctrl+alt+shift+s)
Under the Platform Settings group select SDKs
with the + sign add Android SDK > Select your /path/to/android/sdk
Select build target
Optional : I've also named the sdk as 'android' I am unsure whether this fixed anything but it does make sdk's ambiguous
Apply
Go to Project Settings and choose Modules
Select android and under Module Sdk choose the android sdk we just added (renaming can come in handy here).
Apply, wait and done.

On IntelliJ IDEA 2016.1.2 it's worked this way for me:
Menu File -> Other Settings -> Default Project Structure...
There on the left under Project Settings -> Projects
Click on New... button
Choose Android SDK and insert path to it.
After that for you new or imported projects IDEA will know where to find Android SDK

Related

'SDK Location not found' in Android Studio despite having the environment variable set correctly

I am a little confused why I am getting this message when the ANDROID_HOME environment variable is actually set.
It is also set in project defaults:
I am probably missing something trivial here, but not sure what. Thanks
Faced the same issue with Intellij IDEA 2017.2 on MacOS Sierra.
I have two projects with different Build targets (26 and 25).
Both projects were created on Win and committed to Git.
The First cloned project was with Build target 26. All needed SDK platforms and tools were downloaded with SDK Manager. The project compiled and built without any errors.
I didn't set up ANDROID_HOME variable or create local.properties file. I just set up the "Android SDK home path" within IDEA.
The Second cloned project was with Build target 25. I downloaded all needed SDK platforms and tools for this target. Then I configured new SDK for the Android API 25 platform. On Build APK got the error "SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable". I tried many solutions (created ANDROID_HOME, re-installed SDK, changed settings many times) except local.properties creation - nothing works for me. As I use the same project on different platforms the creation of the local.properties file is not a good choice.
Today I made a strange thing. I clicked the Edit link near the Android SDK Location field in the SDK Manager. Then Next -> Next -> Finish.
And my issue gone.
Check your local.properties file
If sdk.dir="Your sdk path" is not available in the file. Please add it and try.
You should also change it on Project Structure.
Close the current project and you'll see pop up with dialog which will then proceed to Configure option.
Configure -> Project Defaults -> Project Structure -> SDKs on left column -> Android SDK Home Path -> give the exact path as you did on local.properties and select Valid Target.
You should define sdk path in your local.properties file and also in the Android SDK home path.
local.properties file is not available in your project. Please add it Gradle scripts and give the sdk path to sdk.dir
It will resolve your issue.
Please check correct sdk path in your local.properties file and also in the Android SDK home path.
If still not successful, You have to just copy your local.properties file to the folder where project is stored and it will work. But remember, it must be placed in the root folder where the project is stored.

AndroidStudio SDK directory does not exist

I am using Android Studio for a project on SVN (usually on Windows PCs).
Lately I want to run this on a Mac, it keep giving the below error:
Error:The SDK directory '/Users/AhmadMusa/Desktop/[PROJECT PATH]/D:\Android\sdk' does not exist.
Please fix the 'sdk.dir' property in the local.properties file.
I already put the SDK on local.properties file as:
sdk.dir=/Users/AhmadMusa/Library/Android/sdk
I don't know why it keep adding the (D:\Android\sdk) automatically, this is my Windows PC SDK directory, but why it is here now! nothing on code mention any D:\Android\sdk.
Right click your project and select 'Open Module Settings' under SDK Location put your location for your SDK.
paste in /Users/AhmadMusa/Library/Android/sdk
Clean and rebuild your project
Update
Try to delete your local.properties file and create a new one, but do not check it into version control.
Right click top level of project and Create new file 'local.properties'
then add: sdk.dir=/Users/AhmadMusa/Library/Android/sdk
Clean and build
I finally find this file on the disk.The 'local.properties' file in The Android studio is not which you modify.see the picture,so you can modify this line 'sdk.dir' to your dir of sdk.Remember not in the android studio.
This is a problem when you open the project incorrectly. open the project do not import the project
Create or edit file local.properties under android directory
For window path should be like this
sdk.dir = C\:\\Users\\user name\\AppData\\Local\\Android\\sdk
For linux system path should be like this
sdk.dir = /home/user name/Android/Sdk/
Open your project folder
open local.properties in notepad++
change sdk.dir to C:\Users\xxxx\AppData\Local\Android\Sdk
save
After edit, resync again android studio.
I solve this problem, the reason is: You downloaded other's projects. His local.properties file content is his SDK path. You must replace SDK path with your local SDK path, then rebuild the project.
From Android Studio 1.0.1
Go to
File -> project Structure into Project Structure
Left -> SDK Location
SDK location select Android SDK location (old version use Press +, add another sdk)
Change the sdk path to /Users/AhmadMusa/Library/Android/sdk
I solved this issue in Windows using this format for the full path:
sdk.dir=C:/Users/xxxx/AppData/Local/Android/Sdk
I think you should go to:
File ->Project Structure->SDK Location->
there select your sdk location.
Just open your local.property file
if your project is used in mac before, so the sdk path will be something like
sdk.dir=/Users/siddharthyadav/Library/Android/
Now if you are trying to use that in windows so just edit and put your sdk location:
Example:
sdk.dir=D:\software\android-sdk\android-sdk
Just clean and build. See it works!!!
Just close your project and re-open it again.
Than SDK message appears click ok.
Today upgraded to Android 3.3, which broke everything for me.
This one was related to importing the project, not opening it.
Solution which worked for me, was to import the project. During the import it detects that the SDK directory is missing and proposes to open it from a location which actually exists. It worked in my case but your case might be different.
Many other changes still needed to be done to make old projects work. What a pain any update is. I wonder why don't they do a thorough QA first before releasing these updates. It has become an industry norm to release problem filled software, probably thinking that users will figure out solutions via Stackoverflow.
I had the same problem. Just open the project main folder. and then close and reopen the project sub folder app.
In my case, my project is located inside another Android project.
Therefore, I opened the local.properties of the parent project and fix the sdk.dir's path there.
Select SDK Location: File->Project Structure->SDK Location->
Close Android Studio.
Remove .gradle and .idea folders, local.properties, all .iml files in the project: <module_name>/<module_name>.iml
Open Android Studio and select Open an existing Android Studio project
Select path to your project
This way must to help.
Checkout your SDK manager in Android studio, if you have partially installed sdk. Install SDK completely and try running your code.
I had a ; in the environment variable name, put it out and it will works !
refollow the steps after the verification of the ANDROID_HOME
react init
=> run you emulator
=> run-android
sdk.dir didn't work for me because I had ANDROID_HOME environment variable with wrong path. So, solution is just to update ANDROID_HOME or remove it to use local.properties.
Android Studio restart is required after the change.
I faced the same problem - it was solved by only the following step.
I deleted all created .idea and .gradle folders.
It is the path problem I faced while loading source in SDK, I think.
If you have set the ANDROID_HOME variable, just remove or comment that line in local.properties file. It is the solution for me
in latest Android Sudio 3.2.1
1- you will see two files with the name 'local.properties'
2- one will be inside folder named 'app' ( app level folder ), Only if you have not yet been able to sync your project. if you cant see it in the folder strucrure in Android studio then physically find this folder in Finder . (right click and reveal in finder in case you use a MAC machine). Make changes here.
3- and other will be inside 'gradle script'
make sure you have same path there . Also make changes here (if you can see this file)
Basically find this file at its physical location in the project folder (physical location ) and make changes
eg. : sdk.dir=/Users/Rakesh/Library/Android/sdk
in both the files .
My solution: open app on Android studio.
Check sdk and clean App, after rebuild I had fixed this problem by following suggestions of Android Studio.
finally run app with react-native run-android/ios
This might due to merge conflict same as mine, try to change local.properties for me it was wrong location for android sdk as it was override from other machine
ndk.dir=/Users/???/Library/Android/sdk/ndk-bundle
sdk.dir=/Users/???/Library/Android/sdk
then rebuild
If your project is a subproject, the problem may lie on the parent local.properties file. I may suggest you to go up in the project hierarchy to the root file and execute the following command:
$ find . -type f -exec grep -l sdk.dir {} \;
That would work on OSX and Linux, if you are in Windows you may need to install Cygnus tools or something akin (I don't use Windows, so I cannot be more precise). If the path is wrongly set in some file, you'll find it with that command, then it is just a matter of opening the file with a text editor and replacing the wrong path with the right one.
My scenario is I open the project, and the local.properies shows my sdk.dir.
But it keeps telling me it need the sdk from the previous other user's dir.
So I close the project and re-import the project, and everything works fine.
Choose one of the options-
OPTION A
Delete the 'local.properties' file in 'Gradle Script'
Create new 'local.properties' file there
Paste this into your new 'local.properties' file
sdk.dir=/Users/uttam/Library/Android/sdk
OPTION B
copy the 'local.properties' file from your any old project.
paste this in your new project, you will be asked confirmation, choose 'replace'
HAPPY CODING :)
Fix the root cause. If you check the other answers they suggest to find the SDK location property and fix that. Assume you have that correctly set, otherwise you won't have any SDK components downloaded on your system. Then something in your environment is telling AndroidStudio where to find the sdk.dir. Since AndroidStudio will create this local.properties file for you, it is likely first checking the stored property of "Android SDK" System settings for this location. It should use this value in the local.properties. If you find that it still gets the wrong value, the root cause is that AndroidStudio fills the sdk.dir property from ANDROID_HOME, found in the host system environment. Fix this and it fixes the problem. You will need to (1) correctly set ANDROID_HOME or unset the variable for ANDROID_HOME (2) remove the existing local.properties (3) restart your AndroidStudio.
You need to change sdk.dir='...' in local.properties file as per your sdk location.
For checking sdk location, open File -> Project Structure -> SDK Location. If sdk location is also not correct there, you can also update it.
Go to your project_folder/platform/android/
Open local.properties in your text editor
Change URL with your SDK URL
sdk.dir = C:\Users/Pcesolutions/AppData/Local/Android/Sdk
Now run your command in windows
Its worked for me. I think, it work's also in your PC.

What exactly is "tools.jar" in the Android SDK?

So, I've been trying to build a project in LibGDX for about 10 hours now. In case you'r unfamiliar, LibGDX is one of those platforms where you specify a project directory at the start, along with any required SDKs and then when you're ready to start coding it will generate a project for you.
Anyway, I've been having a problem where every time I try to build it fails with the single error message:
Execution failed for task :core:compileJava.
Could not find tools.jar
I'm guessing "tools.jar" is a package within the Android SDK, as this is the only repository needed to build, it doesn't ask for a JRE or even the Java SDK. just the Android SDK.
I have been looking in the SDK manager, I have installed all of the packages labelled "Android-SDK Tools", "Android-SDK Platform Tools" and "Android SDK Build Tools" but there is nothing else that includes "tools.jar", I am looking for some light shed on this topic as it is a very grey area. I would like to know where this .jar file comes from and what exactly it includes. Can it be installed from the Android SDK?
There have been similar questions like this before which only fit narrow situations, If someone could provide a holistic description of the tools.jar package it would benefit a great deal for me and everyone else that needs it in their 3rd-party android IDEs.
For the record, it's building with Gradle and my current SDK is well-equipped enough to build full-fledged apps in Android Studio.
Please don't answer this question with a question unless I have left out some information that is dire to finding an adequate solution
Try copying tools.jar from %JAVA_HOME\lib to Android Studio\lib
For me, copying tools.jar to Android lib folder alone didn't solve my problem.
But I also had to create a System Variable 'JAVA_HOME' in Windows Environment Variables with path to the latest JDK folder.
Restarted Android Studio, and this solved by problem.
My Android Studio Version: 4.2.1
The "tools.jar" is provided by Oracle JDK which is required by android studio for compilation - I have faced this issue after updating android studio to latest version in my PC.
To Resolve the issue follow below steps:
In Android studio File -> Project Structure -> SDKs (Under Platform Settings)
A) Add JDK path by pressing '+' symbol in middle pane if suppose JDK/JDK home path is not present in the middle pane already (Middle pane also contains the Downloaded Android SDK's)
B) Java sdk will be usually present/installed in the path
64 bit => "C:\Program Files\Java\jdk1.X.Y_ABC" (In my PC it is 1.8.0_202) or
32 bit => "C:\Program Files (x86)\Java\jdk1.X.Y_ABC"
If suppose you don't have JDK installed in your PC, please download and install from Oracle Java website
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
Set JDK and JRE Path(Download both from webpage mentioned in step 2) in system environment variable
A) Press windows key type "Edit the system environment variables" and open the application
B) Go to Advanced -> Environment Variables
Under system variables add JAVA_HOME and JRE_HOME as below
Set Windows system environment variable
Add jdk lib path on the Path environment variable under user variables (this step is required only if the error not resolves with the previous steps)
C:\Program Files\Java\jdk1.X.Y_ABC\lib
In my case, I have five jdk and some have tools.jar and other not, my solution is copy paste this tools.jar in all lib of jdk.
Nothing worked for me. So I Copied tools.jar and pasted it in C:\Users\UMAR_\AppData\Local\Android\Sdk\platforms\android-30 which is the path to the library for the Android API 30 Platform. I pasted tools.jar in every folder and it start working.
I didn't have tools.jar initially but followed this link and downloaded https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
Also added to a environment variable.. but what worked was in the first para, I still don't know if adding to variable was necessary or not.

Android Studio SDK Location Not Found

I'm trying to migrate my android projects from Eclipse to Android Studio v1.0.1 in MAC
If I create a new project everything works fine but if I import one of my projects from Eclipse I get the following error:
Error:A problem occurred configuring project ':MyProject'.
SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.
My local.properties file already has the correct path to the SDK (which I already had installed when I downloaded the ADT bundle for Eclipse)
I also defined ANDROID_HOME environment variable like the answer of this question suggest Setting ANDROID_HOME enviromental variable on Mac OS X
but the error remains. I think there might be something wrong exporting from Eclipse with Gradle or something like that but I really have no clue how to fix it.
Hope anyone can help. Thanks in advance
you may need to move the settings.gradle file to the project folder
I had the same problem and after changing the file location to the project folder everything goes right.
Hope this helps!
I hope you are following the instructions here
https://developer.android.com/sdk/installing/migrate.html
Check if SDK location is correct
1 - Open Android Studio
2 - Up, Left corner click File->Settings
3 - Look for Appearance & Behavior -> Android SDK
4 - Click Edit, and browse you SDK location (usually is in :Users\\AppData\Local\Android\Sdk) http://i.imgur.com/JIzMebh.png
Check if path on local.properties is correctly setted too.

Errors running builder 'Android Resource Manager' on ADT

I am facing a problem when I try to create new android project in eclipse adt plugin tools.
ERROR/EXCEPTION::
Errors occurred during the build.
Errors running builder 'Android Resource Manager' on project 'test'.
java.lang.NullPointerException
I have faced this problem two times previously. Only solution was to re-install Windows operating system which actually did solve the problem. But I want a real solution without re-installing Windows.
Switching to a new workspace worked for me.
File-> Switch Workspace.
found a better solution. in the create project wizard. don't create an activity in the wizard. just untick create an activity and just create the activity manually in the manifest.
I guess you upgrade your java to java7u55.
because I am using mac, but, FYI
I solve this by edit eclipse.ini, force the ide to use java 1.6
-vm
/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Commands/java
you could try the same.
In my case, the error was solved by changing the workspace folder permissions with chmod 777.
I am using Mac OS X and downloaded the ADT bundle for Mac.
If you close eclipse and then look in your system processes and still see adb running, then that's the problem - it crashed. In my case it was because I have extension files for other programs in my JRE that the adb doesn't seem to like. Remove all your ext files, force shut down your adb.exe and then restart eclipse.
Root exception:
java.lang.NoClassDefFoundError: org/apache/log4j/Priority
Usually this means that they have one more time introduced a bug.
The "magic passes" that may help or not help are:
Pressing F5 (refresh)
Updating Android, Eclipse and ADT (knowing that you do have such a problem, I myself definitely will not do any such updates in the near future)
Creating a project from the command line, building it and trying to import
If you have any project that already works, you may try to take files from that project.
Read the logs, they are usually more informative than just the last 30 lines, but on Windows you will have to either configure the screen buffer height to be about 300-600, or redirect the output to a file.
Clean and build again.
You usually get this after an SDK/ADT update.
Go to your SDK manager and ensure that there are no updates. Then in Eclipse go to Help > Check for Updates and install any updates it finds.
Restart eclipse and hopefully it should all work.
Failing that uninstall Eclipse and re-install Eclipse and the plugins again should fix it as well, no need to re-install your whole PC.
I use maven to build and integrate android projects with jenkins/netbeans. For editing android resources, I often use Eclipse because of the ADT plugin and better android resources support.
Eclipse (Kepler) has serious problems when you import maven-based android projects. It expects the project.properties file in the root folder and will NOT generate it on its own no matter what. Example content:
# this file is needed by eclipse (adt plugin).
# Project target.
target=Google Inc.:Google APIs x86:19
Additionally, create a sym link called "gen" pointing to target/generated-sources/r if using maven to build the android project on the command line. That way, you should be able to do "File->Import...->Existing Android Project". You get an error message, but it didn't matter in my case.
Additional hints in case you have problems with m2e-android plugin:
always check that the output folders for source dirs and resource dirs are correct.
check that source dirs are set as source dirs (you usually get a corresponding warning)
if resources from dependencies are not included in the final apk, check the filter settings for your resource dirs
you may need to "import maven project from existing sources" before importing it as android project from existing sources.
make sure dependencies are imported into the workspace and open and referenced (project props -> android -> add lib)
eclipse adt does not support aar libs, use apklib instead
It can happen if you are changing the location of files that your
eclipse project uses.
In that case you can copy the files directly to your resources folder inside the workspace instead of linking them with "import"
These simple steps put me out of this trouble -
In Eclipse, Help menu -> Check for Updates.
Select all Android related plugins.
Click Next, Accept the agreement page then proceed to install the
plugin.
Make sure your java path points to the java SDK bin directory.. make sure you have installed the latest JDK t be safe..
You can also try one of these:
Close and open the project in Eclipse
Click right on the project and choose: Android Tools -> Fix Project Properties
I beat my head against a wall for a day because of the same problem. My solution (OS X): I had a stale "java_home" definition in my profile pointing to a dead symlink, as well as old classes in /Library/Java/Extensions. I removed the definition and symlink, along with two classes in Extensions (ActiveMQ and Geronimo, FWIW) and the problem went away. Not sure which step was the actual "rectifier" but if any of those conditions apply, you might want to check them.
I faced same problem on my New Macbook Pro so I just Downloaded JDK and installed it and problem fixed.
I was experiencing the same issue - I refreshed and updated Eclipse and Android plugins and was still seeing the NPE. What worked for me was changing the order of operations.
In order:
1. update Eclipse & Android plugins
2. after the update has completed, perform the F5 Refresh in the current workspace
Make a copy of your project in Explorer/Finder. Delete the project in ADT/Eclipse. Import the project again using Eclipse. Project/Clean then build. This works for me.
I have tried every solution I found on the web and they did not work.Then I remember java version on my Mac was 1.7 and I have installed subversion version 1.6 and the problem occured after that installation.Also I have deleted eclipse and used a clean eclipse and Android sdk installation I still got the problem, then I uninstalled the JDK 7 as it is told in here http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html and my problem is solved.
I have several projects in my folder. Every time I start a new one I close the others. I got this error because appcompat_v7 was closed.
Right click on appcompat_v7 and select Open Project.
This solved my problem.
Solved after changing a setting in eclipse.ini. I am using OS X 10.11.4 and Eclipse Mars 4.5.2.
Go to the folder of Eclipse.app in Finder.
Right click to open a menu, and click Show Package Contents.
Go to /Contents/Eclipse.
Open eclipse.ini in your favorite text editor.
change -vm path like below:
BEFORE: /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/bin
AFTER: /Library/Java/JavaVirtualMachines/jdk1.8.0_73.jdk/Contents/Home/jre/bin
reopen Eclipse.
enjoy :D

Categories

Resources