How to tell android studio the location of a pre-existing NDK? - android

Im trying to use my pre-existing NDK with Android Studio , it offers an option of downloading a new NDK and auto setup , but i want to use the version i was using before i downloaded Android Studio , how to tell it the location of the NDK i already have ? Do i have to set the NDK_HOME environment variable ?
Android Studio's documentation tells that when downloading the NDK from the options menu in Android Studio it will be under the SDK's home in a folder called "ndk-bundle" , do i have to put it there ? (soure https://developer.android.com/studio/projects/add-native-code.html)

On my Android Studio (2.2) you can go to File | Project Structure.
You will get the Project Structure dialog. Select SDK Location. You can set the location of your NDK in this dialog as well.

In case anyone passes by there's a work-around that doesn't involve re-downloading the NDK using Android Studio. As the OP points out Android Studio stores the Android NDK in a folder called "ndk-bundle" under the Android SDK's root folder. So, in linux, simply creating a symbolic link (a shortcut, if you use Windows) to the NDK root folder in your SDK root folder solves the problem, like so:
ln -s [FULL_PATH_TO_NDK_ROOT] [FULL_PATH_TO_SDK_ROOT]/ndk-bundle
I believe doing something similar in Windows would work.

Related

Android studio SDK problems with Mac and Windows cross

Sorry for asking but, I have recently been using drive to save my projects in sync from a mac computer to a windows one. My project file on android studio started on my windows file but the sdk location and files were changed to suit the mac. When I try to open it on windows it says it changed the SDK directory as shown in the image but the project still is not functional
Check your local.properties file in your root project. And change it to something like this:
sdk.dir=F:/ANDROIDSDK
You need to remember that in Android Studio, path is using / instead of \.

Appcelerator 4 cannot find Android SDK on Mac

Appcelerator Studio 4.7.1.201609100950 on Mac OS X cannot find Android SDK. I have downloaded it with the button on the Appcelerator Studio Dashboard. After download was successfully finished, the Appcelerator Studio was not able to recognise it.
I was getting the following error : [Android SDK Home] No Android SDKs were found under the specified SDK location
I had this issue as well. The reason is (for me at least) is when I first created the App, it was with an older version of Studio & SDK.
One solution, is create a new Project with the latest SDK & Studio, then paste all your code in that new project (make sure everything is updated correctly in tiapp.xml), then you will see there is no more issues running Android.
You can also try it with just a new Mobile Project (with latest SDK, currently 5.5.1.GA), and see if it runs on Android. If this works, you can move all your code to this new project.
Did you try this:
To use the Android SDK with Studio, the path to the SDK must be set in the Preferences dialog.
Open the Preferences dialog:On Mac OS X, from the menu bar, select Appcelerator Studio > Preferences.
In the Preferences dialog, navigate to Studio > Platforms > Android.
Enter the path to your Android SDK in the [Android SDK Home] textbox by clicking Browse then navigate to the SDK directory.
The Android SDK will be found in the Library folder...something like /Users//Library/android-sdk
You did install the android-sdk right!?
What happens from command line when you run appc ti info -t android?
Also, check your Android SDK setting in appc ti config as well as check to see if you've set an environment variable in
/~/.bash_profile called ANDROID_SDK
, and if so that it matches the correct current location of the SDK
If you can't solve this try to change your sdk directory and change it in appcelerator too.
Hope that will help you.
I personally store my SDK and NDK in
/opt/android-sdk
and
/opt/android-ndk
with links in the .bash_profile
export ANDROID_SDK=/opt/android-sdk
export ANDROID_NDK=/opt/android-ndk
finally, use appc ti setup android to set the paths there as well. Both Studio and CLI will pick it up properly from there. Thx!

NDK not found at specified location

After installing Xamarin Studio I went to the options to make sure the Android SDK, JDK and NDK were all found. The first two in fact were, but the NDK was not found. It asked to specify location, and I did specify the location (when I clicked "browse" it took me to the folder where the NDK actually was). Yet, it still does not recognize it and says NDK not found at the specified location.
When using Xamarin Studio, if you are getting the error XA5101 error ("Missing Android NDK toolchains directory") you would need to download the Android NDK separately from:
http://developer.android.com/tools/sdk/ndk/index.html
Then he should unzip downloaded file and open the Xamarin IDE and go to the following menu location:
Tools ==> Options ==> SDK Locations ==> Android
Select the location of the unzipped folder.
Then close the IDE and reopen it (force close/restart if it persists in task/process manager).
Alternate to try:
Not finding NDK may also be caused because of mismatched configuration
for AVD Manager. More specifically, the Xamarin may be creating
devices & AVDs in your %USERPROFILE%.android while the
debugger/runtime emulation EXPECTS the AVDs in the ADT directory. You
can try copying ZAVD2-related files and directories into the
%USERPROFILE%.android\avd and see if that resolves the issue.
===== Initial post ======
[In case of eclipse] I think the answer is here: https://stackoverflow.com/a/11825963/918535
//goto Preference → Android → NDK and choose your ndk location
//If your NDK location is already set, the builder in the toolchain editor may be wrong. Go to project properties, C/C++ Build | Tool Chain Editor and select Android Builder as current builder.
// in your .bashsrc file, you may also need to add the env variable:
NDK_HOME=/opt/android-ndk-r8
export NDK_HOME
Okay, so I found the issue. There was no ndk-stack.exe file in my NDK location. I was thinking I would delete/uninstall everything related to NDK and reinstall. This is when I came upon ndk-build.cmd, just thought id click it since it was a cmd, and it created the ndk-stack.exe at a location on my computer which was found by both the Xamarin studio and Visual Studio( noticed later that even VS couldnt find the NDK but after the cmd, it did). Thank you for the help.
In case this catches anyone else out, I had this issue but it was because I checked "Enable AOT (Experimental)" in the Android Build Code Generation settings. This setting is off by default so probably should have left well enough alone.
Open ndk-stack.cmd with notepad to see full path of ndk-stack.exe
You can find this file in "installation-path\android-ndk\prebuilt\windows\bin\ndk-stack.exe"
my advice is to download NDK that is coherent to your version of Visual Studio, for instance, if you have VS 2015 download NDK of 2015 or 2016 year, it really helped, cause there wasn't that EXE file in NDK of 2019 version, but it was in the NDK of 2016
Change android min sdk version 4.2 or higher (API LEVEL 17+)

"Android SDK folder inside the application folder" When upgrading android studio

When upgrading android studio from 0.8.9 to 0.8.14 I get the error
Android SDK folder inside the application folder
even though my Android SDK folder is not inside Android Studio Folder.
As you can see in the release notes:
To proceed, you should open up a file explorer or finder window, go to the Android Studio installation (e.g. /Applications/Android Studio.app) and move the sdk/ folder over to a different location, such as your home directory. Once done, press Retry to finish installing the patch. The reason this is necessary is two-fold: First, we have made a lot of improvements to make the patch updater more accurate, and in order for installation signatures to match, you cannot have non-application folders inside the application directory. Second, placing the SDK folder inside the application directory was probably not a good idea to begin with: this folder should typically be writable and in a directory with a lot of extra diskspace, such that users can easily download and install additional libraries, system images and so on. We are doing some work on the installer side to make this easier to set up.
In the meantime, please find a different place to put the SDK (for example ~/android-sdk), and then point your SDK to this directory location instead. You can do this either by opening up the Project Structure Dialog and selecting the SDK Location tab, or if you try to load a project which is using the old location, you'll be prompted for the new location:
I'll assume you are using Mac OS not Windows, if true, you will need to do the following:
Go to Android Studio in Applications directory
Right click over its icon and select Show Package Content
Cut (Move) sdk directory to another place (ex. /home/sdk)
Restart Android Studio and select the sdk path where you moved it (ex. /home/sdk/)
Update
(Windows 8)
Steps I did to fix this:
Open Android Studio->Help->Check for update...
Update and restart
While downloading find folder "sdk" inside android studio installation folder, rigth click and "cut", paste the folder somewhere outside the android installation folder. Wait till download finish, a java window will appear sayng there was some corrup files, in my case was the file "uninstall.exe" select this file from list and hit "proceed"
After step "3" Android Studio will launch and will ask to set the sdk path.
Get the sdk folder that was pasted outside from android installation folder and bring him back. (read step 3), in the selection window from step 4, select the sdk path (re-copied sdk folder that was bringed back).
Done. This solved my "Android SDK folder inside the application folder" while try to update from 0.8.6 to 0.8.14
This is described in Known Issues. The best solution I found for this problem was to download android studio again from the downloads page and reinstalling it, instead of trying to run an upgrade. This solved the problem for me.
Edit based on #stknet's comment
Upgrading from 0.8.9 to 0.8.12+ requires a reinstall see here
You need to go to the Android installation folder from your file explorer, get the sdk folder and move it somewhere else (I put in a folder called SDKs) and then go and open Android Studio again. It will ask to point it to the sdk folder so just give it the path to your sdk folder and let Gradle synchronize it. After that go to Android Studio update and check for updates. Now you can update without errors.
This problem is detailed here.
For example I use it on Xubunutu and I just went to /usr/share/android-studio/data/ and cut the sdk folder and then moved it into /home/user_name/sdks. After that I fired Android Studio, pointed to the new sdk folder and updated.
No re-install required.
Hey even i faced this issue.
Just remove sdk folder present in android-studio folder and place it outside folder(or somewhere) and update. Once you update it will ask you for SDK location if no then manually update the SDK location in local.properties.
Hope this will help you.
Just had this issue while updated Android Studio from 2.2.2 to 2.2.3 in Windows 10. My SDK directory has not been in Android Studio's application directory since 2014. However, somehow an empty 'sdk' directory had appeared in
C:\Users\[username]\AppData\Local\Android\android-studio
Renaming the directory fixed the issue. The installation then deleted deleted my new 'sdk-blah' directory.
AFTER installing the SDK elsewhere and referencing your environment variable to that new location, simply delete the
D:\Android Studio\sdk folder
and Android Studio won't rely on it.

Android NDK location not found android studio on Mac?

I recently downloaded Android Studio 3.5.1. Have also downloaded all the SDK tools
Error I am getting
this is the android sdk folder content
How do I resolve this?
Remove the ndk.dir line from your build.gradle. That's the older method of specifying the NDK to use, and that path is wrong for the NDK you've installed.
AGP 3.5 allows you to install multiple NDKs simultaneously (if you check the "show package details" box you'll see that "NDK (Side by side)" expands) and select which one to use in your build.gradle with android.ndkVersion.
You can continue using ndk.dir for now, but it's deprecated and there isn't much reason to.
See https://developer.android.com/studio/projects/install-ndk for more information.
Try like this.
/your/path/Android/sdk/ndk/20.0.5594570
But in case you are creating a native application using Android Studio, I think you should not locate for your ndk path manual.
The issue was the path only. Apparently android studio downloaded ndk as
Library/Android/sdk/ndk/20.0.5594570/allfiles
I had to rename the ndk folder to ndk-bundle and moved the subfolder files to ndk folder.

Categories

Resources