Flutter can't recognize android sdk - android

I'm running Ubuntu 20 and trying to setup flutter enironment without android studio. Installed android sdk manually && it's path is $HOME/android.
here's a log of the directory
$ ls
# cmdline-tools licenses
$ ls cmdline-tools/
# latest tools
ls cmdline-tools/latest
bin lib NOTICE.txt package.xml source.properties
And here's sys vars which are in ~/.bashrc
export ANDROID_SDK_ROOT="$HOME/android"
export ANDROID_HOME="$ANDROID_SDK_ROOT"
export PATH="$PATH:$ANDROID_SDK_ROOT"
export PATH="$PATH:$ANDROID_SDK_ROOT/cmdline-tools/tools"
export PATH="$PATH:$ANDROID_SDK_ROOT/cmdline-tools/tools/bin"
export PATH="$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin"
export PATH="$PATH:$ANDROID_SDK_ROOT/cmdline-tools/tools/platform-tools"
export PATH="$PATH:$ANDROID_SDK_ROOT/platform-tools"
export PATH="$PATH:$ANDROID_SDK_ROOT/build-tools"
And here's flutter doctor - v log
[!] Android toolchain - develop for Android devices
• Android SDK at /home/aybak3k/android/
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, please use
`flutter config --android-sdk` to update to that location.
• ANDROID_HOME = /home/aybak3k/android/
• ANDROID_SDK_ROOT = /home/aybak3k/android
✗ Android SDK file not found: adb.
• Try re-installing or updating your Android SDK,
visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions.

Probably because is missing /sdk
Try to change export ANDROID_SDK_ROOT="$HOME/android"
to export ANDROID_SDK_ROOT="$HOME/android/sdk"
if not work, try to check the full path to platform-tools
run which adb
$HOME/android/sdk/platform-tools/adb

flutter can't recognize the sdk unless you install the rest of the components
the following worked
# 30 is my physical device compatible version
sdkmanager --install "build-tools;30.0.2"
sdkmanager --install "platforms;android-30"

Related

Android Studio Arctic Fox 2020.3.1 Patch 1 'My Application' error - solved [duplicate]

I am getting this error in jitpack, I've tried everything on the internet. Below is my error
Failed to install the following Android SDK packages as some licences have not been accepted.
platforms;android-26 Android SDK Platform 26
build-tools;28.0.3 Android SDK Build-Tools 28.0.3
To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
And when i run ./sdkmanager --licenses
All SDK package licenses accepted.======] 100% Computing updates...
Using sudo with the above command gives
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
... 5 more
additional error log
File /opt/android-sdk-linux/.android/repositories.cfg could not be loaded.
Checking the license for package Android SDK Build-Tools 28.0.3 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Build-Tools 28.0.3 not accepted.
Checking the license for package Android SDK Platform 26 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Platform 26 not accepted.
I don't know why it's checking for licenses there when my sdk location is other
You need to accept the licences before building.
According to Android SDK docs you can use the following command depending on the sdkmanager location: Docs on --licenses option seems to be missing though.
yes | sdkmanager --licenses
GNU/Linux Distributions:
yes | ~/Android/Sdk/tools/bin/sdkmanager --licenses
macOS:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
Windows:
%ANDROID_HOME%/tools/bin/sdkmanager --licenses
Flutter:
> flutter config --android-sdk 'path-of-android-sdk'(only for ubuntu user)
> flutter doctor --android-licenses
In Android Studio go to Tools -> SDK Manager.
Go to SDK Tools tab.
Select the Android SDK Command-line Tools (latest) and download by pressing Apply.
On Windows, you can find the sdkmanager.bat at
C:\Users\[your_user]\AppData\Local\Android\Sdk\cmdline-tools\latest\bin
in Windows OS go to your sdkmanager path then execute
./sdkmanager.bat --licenses
You can find your sdkmanager in C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
OR
For those people not using android studio on window os. Go to your cmdline-tools\tool\bin and type cmd on the directory box to open the directory in your terminal. Then run sdkmanager --licenses
To find your actual android SDK path follow the red marked area of the below picture
If you are working with Flutter then this command would definitely work for you.
flutter doctor --android-licenses
Problem: SDK license not accepted
Step 1: Open SDK Manager
After opening the SDK manager, open the SDK tools tab as shown below
Step 2: Check the option Show Package Details
It'll list out all the versions of SDK tools
Step 3: Install the required SDK tool version
Check the specific version of SDK tools that is complaining (for me, it was 29.0.3 as shown above in the first screenshot) from the list, accept the agreement in the dialog that opens next and you're done.
MacOS Catalina
Step 1: Changing Android Studio Preference
Open-up your Android Studio
Press Command+, or go to top-left AppBar Android Studio > Preferences.
From Left Pane, select Appearance > System Settings > Android SDK
Select SDK Tools next to SDK Platforms and under Android SDK Location
Check mark Android SDK Command-line Tools (latest) and Press OK button.
Wait for installation to be finished
Step 2 (For Flutter Users):
Go to Terminal and run the following command
flutter doctor --android-licenses
Step 2 (For Android Users):
Go to the Terminal and run the following command
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
You can accept the license agreements of the stated SDKs by going to the SDK Manager (Settings > [Search for Android SDK]) then find the packages noted in the error message and find them there. Chances are, you'll find SDKs that are not fully installed and installing them will ask you to accept the license agreement.
use android-28 with build-tools at version 28.0.3; or build-tools at version 26.0.3.
or try this: yes | sudo sdkmanager --licenses
This works for me:
yes | ./sdkmanager "platforms;android-28"
yes | ./sdkmanager "build-tools;28.0.3"
yes | ./sdkmanager --licenses
For Android Studio Arctic Fox, it was solved for me by installing the Google Play Licensing Library.
Go to Preferences
Expand Appearance & Behavior
Then expand System Settings
Select Android SDK and go to SDK Tools tab
Install Google Play Licensing Library
If you are getting this error while using Flutter then please run the below command on command prompt.
flutter doctor --android-licenses
If you get below error after running the above command
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Then please do the below steps
Open android studio
Go to SDK manager
Click on SDK tools tab
Install Android SDK command line tool
Run flutter doctor --android-licenses again
In Android Studio go to: Tools > SDK Manager > SDK Tools
On the bottom right, check the "Show Package Details" box and download the version of sdk that you need:
Tried this on Android Studio and it worked for me:
Tools > SDK Manager (Make sure to check Show Packages below)
SDK Platforms > Show Packages > Android - 28
SDK Tools > Show Packages > 28.0.3
Appears to be a bug at the momment:
https://issuetracker.google.com/issues/123054726
Solution that worked for me:
Create a .travis.yml file in your project directory and copy these lines:
before_script:
- mkdir "$ANDROID_HOME/licenses" || true
- echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "$ANDROID_HOME/licenses/android-sdk-license"
Reference:
https://github.com/square/RxIdler/pull/18/files
in Windows OS go to your sdkmanager path directory in cmd
You can find your sdkmanager in C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
then execute the followwing command:
sdkmanager --licenses
after that it will ask to accept license agreement several times then accept all by just typing y on cmd
This works for me in Windows 10:
C:
cd \Users\YOUR_USER\AppData\Local\Android\Sdk\cmdline-tools\latest\bin
sdkmanager.bat --licenses
After, yes to all
On Mac OS 10.15.1, I got the same error even after accepted all the licenses by running sdkmanager --licenses It worked after I updated the ANDROID_HOME path configuration in the ~/.bash_profile to the following
export ANDROID_HOME=/Users/your_username/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export PATH=$PATH:~/Library/Android/sdk/platform-tools
And reload the ~/.bash_profile
source ~/.bash_profile
I tried many solutions but didn't work for me.
The below solution works for me.
locate the sdkmanager file in android SDK.
In my case :
~/Android/Sdk/tools/bin
go to that path : cd ~/Android/Sdk/tools/bin
Accept licenses manually : ./sdkmanager --licenses
Enter Yes or y
If you are using flutter go with the following steps
1.open the command prompt
Then the following command
2.C:\Users\niroshan>flutter doctor
And you will see the issues as follows
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 1.22.2, on Microsoft Windows [Version 10.0.17763.1339], locale en-US)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
X Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[!] Android Studio (version 4.1.0)
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
[√] VS Code (version 1.50.1)
[!] Connected device
! No devices available
! Doctor found issues in 3 categories.
Actually what you have to run is the below command
C:\Users\niroshan>flutter doctor --android-licenses
https://www.youtube.com/watch?v=g789PvvW4qo really helped me. What had done is open SDK Manager and download any new SDK Platform (dont worry it wont affect your desired api level).
Because with downlaoding any SDK Platforms(API level), you should accept licences. That's the trick worked for me.
I had the same problem when trying to run an app on my android device in a different project where I was working with some old version of tomcat8 and had to set the JAVA_OPTS variable and value. So I removed this system variable for JAVA_OPTS, which had a Variable value set to -Xms1024m (Remove the JAVA_OPTS system variable, but you can also store it for future use if you need to revert to using your old projects that might need it).
Then run the SDK manager bat file in your sdk path:
PS C:\Users[your_pc_username]\AppData\Local\Android\Sdk\tools\bin> .\sdkmanager.bat --licenses
Accept all licenses (Y).
How I solve this problem (AndroidStudio 4.2)
Click in Build tab
Select Failed to install the following Android SDK packages ... (warning)
Click Install missing SDK package(s)
On Ubuntu it still didn't work using the answers suggested.
This is what worked for me:
cd full-path-to-bin folder, where sdkmanager is located.
yes | ./sdkmanager --licenses --sdk_root="full-path-to-bin"
In the option --help it shows we can pass common args to it, which finally accepted ALL licences:
Usage:
...
sdkmanager --licenses [<common args>]
...
Common Arguments:
--sdk_root=<sdkRootPath>: Use the specified SDK root instead of the SDK containing this tool
To add to the answers, you can also change to the sdkmanager directory and in a sub shell and accept the licenses there
(
cd /home/user/android-sdk-linux/tools/bin
yes | ./sdkmanager --licenses
)
I just done File -> Invalidate caches and restart
Then install missing packages.
Worked for me.
On Windows:
Add USER Environment variables:
NOTE: Path should be appended
JAVA_HOME %ProgramFiles%\Android\Android Studio\jre
ANDROID_SDK_ROOT %LocalAppData%\Android\Sdk
Path %LocalAppData%\Android\Sdk
Run the below command to accept licenses:
NOTE: Accept all licenses (say y)
%ANDROID_SDK_ROOT%/tools/bin/sdkmanager.bat --licenses
Now run your app:
(like below, or another command that failed for you):
cd \myapp\
react-native run-android
in my case I just installed a new version of android studio on a new laptop and cloned the old repository where
buildToolsVersion "30.0.2" at application level build.gradle.
I just upgraded to 30.0.3 which android studio recommended on its own and the problem went away
I moved my Sdks and Avds folder as it was using lots of memory in local disk c, but after that I got the above issue.
For me Invalidate Caches/Restart solve the issue
File->Invalidate Caches/Restart
In my case updating buildToolsVersion in app level build.gradle worked perfectly. If you don't know which to use you can create new project and copy buildToolsVersion from that into existing one.
A one liner solution with downgrade to java 8:
sudo apt-get install openjdk-8-jdk -y && export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 && flutter doctor --android-licenses

Flutter don't recognize ANDROID_HOME neither ANDROID_SDK_ROOT

I installed android-sdk and flutter-git on Manjaro with AUR. I set and exported the vars ANDROID_HOME and ANDROID_SDK_ROOT === /opt/android-sdk.
However, when I run flutter doctor the android sdk seems to not been recognized.
I will use flutter on vs-code.
How can I set up all this correctly?
What I did:
export ANDROID_HOME=/opt/android-sdk/
export ANDROID_SDK_ROOT=/opt/android-sdk/
Flutter doctor:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 1.19.0-4.0.pre.75, on Linux, locale
en_CA.UTF-8)
[✗] Android toolchain - develop for Android devices
✗ Unable to locate Android SDK.
Install Android Studio from:
https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android
SDK components.
(or visit
https://flutter.dev/docs/get-started/install/linux#android-setu
p for detailed instructions).
If the Android SDK has been installed to a custom location, set
ANDROID_SDK_ROOT to that location.
You may also want to add it to your PATH environment variable.
[!] Android Studio (not installed)
[!] Connected device
! No devices available
! Doctor found issues in 3 categories.
Run Android Studio, create a new project and run it
The main problem was the jdk version, I was using version 10. The recommend one is version 8 because the java.se.ee class.
Steps
Use this command or use the "Add/Remove Softare"
yaourt -S flutter-bin android-sdk android-sdk-platform-tools
Choose the open jdk 8 and run all commands below:
sudo chown -R $USER:$USER /opt/*
flutter precache && flutter doctor
If "Android Licenses are unkown", run flutter doctor --android-licenses
These steps will automatically set all env vars such as "ANDROID_HOME" but if you get any error, export them using the path to android-sdk, that will be /opt/android-sdk/

"Failed to install the following Android SDK packages as some licences have not been accepted" error

I am getting this error in jitpack, I've tried everything on the internet. Below is my error
Failed to install the following Android SDK packages as some licences have not been accepted.
platforms;android-26 Android SDK Platform 26
build-tools;28.0.3 Android SDK Build-Tools 28.0.3
To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
And when i run ./sdkmanager --licenses
All SDK package licenses accepted.======] 100% Computing updates...
Using sudo with the above command gives
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
... 5 more
additional error log
File /opt/android-sdk-linux/.android/repositories.cfg could not be loaded.
Checking the license for package Android SDK Build-Tools 28.0.3 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Build-Tools 28.0.3 not accepted.
Checking the license for package Android SDK Platform 26 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Platform 26 not accepted.
I don't know why it's checking for licenses there when my sdk location is other
You need to accept the licences before building.
According to Android SDK docs you can use the following command depending on the sdkmanager location: Docs on --licenses option seems to be missing though.
yes | sdkmanager --licenses
GNU/Linux Distributions:
yes | ~/Android/Sdk/tools/bin/sdkmanager --licenses
macOS:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
Windows:
%ANDROID_HOME%/tools/bin/sdkmanager --licenses
Flutter:
> flutter config --android-sdk 'path-of-android-sdk'(only for ubuntu user)
> flutter doctor --android-licenses
In Android Studio go to Tools -> SDK Manager.
Go to SDK Tools tab.
Select the Android SDK Command-line Tools (latest) and download by pressing Apply.
On Windows, you can find the sdkmanager.bat at
C:\Users\[your_user]\AppData\Local\Android\Sdk\cmdline-tools\latest\bin
in Windows OS go to your sdkmanager path then execute
./sdkmanager.bat --licenses
You can find your sdkmanager in C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
OR
For those people not using android studio on window os. Go to your cmdline-tools\tool\bin and type cmd on the directory box to open the directory in your terminal. Then run sdkmanager --licenses
To find your actual android SDK path follow the red marked area of the below picture
If you are working with Flutter then this command would definitely work for you.
flutter doctor --android-licenses
Problem: SDK license not accepted
Step 1: Open SDK Manager
After opening the SDK manager, open the SDK tools tab as shown below
Step 2: Check the option Show Package Details
It'll list out all the versions of SDK tools
Step 3: Install the required SDK tool version
Check the specific version of SDK tools that is complaining (for me, it was 29.0.3 as shown above in the first screenshot) from the list, accept the agreement in the dialog that opens next and you're done.
MacOS Catalina
Step 1: Changing Android Studio Preference
Open-up your Android Studio
Press Command+, or go to top-left AppBar Android Studio > Preferences.
From Left Pane, select Appearance > System Settings > Android SDK
Select SDK Tools next to SDK Platforms and under Android SDK Location
Check mark Android SDK Command-line Tools (latest) and Press OK button.
Wait for installation to be finished
Step 2 (For Flutter Users):
Go to Terminal and run the following command
flutter doctor --android-licenses
Step 2 (For Android Users):
Go to the Terminal and run the following command
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses
You can accept the license agreements of the stated SDKs by going to the SDK Manager (Settings > [Search for Android SDK]) then find the packages noted in the error message and find them there. Chances are, you'll find SDKs that are not fully installed and installing them will ask you to accept the license agreement.
use android-28 with build-tools at version 28.0.3; or build-tools at version 26.0.3.
or try this: yes | sudo sdkmanager --licenses
This works for me:
yes | ./sdkmanager "platforms;android-28"
yes | ./sdkmanager "build-tools;28.0.3"
yes | ./sdkmanager --licenses
For Android Studio Arctic Fox, it was solved for me by installing the Google Play Licensing Library.
Go to Preferences
Expand Appearance & Behavior
Then expand System Settings
Select Android SDK and go to SDK Tools tab
Install Google Play Licensing Library
If you are getting this error while using Flutter then please run the below command on command prompt.
flutter doctor --android-licenses
If you get below error after running the above command
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Then please do the below steps
Open android studio
Go to SDK manager
Click on SDK tools tab
Install Android SDK command line tool
Run flutter doctor --android-licenses again
In Android Studio go to: Tools > SDK Manager > SDK Tools
On the bottom right, check the "Show Package Details" box and download the version of sdk that you need:
Tried this on Android Studio and it worked for me:
Tools > SDK Manager (Make sure to check Show Packages below)
SDK Platforms > Show Packages > Android - 28
SDK Tools > Show Packages > 28.0.3
Appears to be a bug at the momment:
https://issuetracker.google.com/issues/123054726
Solution that worked for me:
Create a .travis.yml file in your project directory and copy these lines:
before_script:
- mkdir "$ANDROID_HOME/licenses" || true
- echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "$ANDROID_HOME/licenses/android-sdk-license"
Reference:
https://github.com/square/RxIdler/pull/18/files
in Windows OS go to your sdkmanager path directory in cmd
You can find your sdkmanager in C:\Users\USER\AppData\Local\Android\Sdk\tools\bin
then execute the followwing command:
sdkmanager --licenses
after that it will ask to accept license agreement several times then accept all by just typing y on cmd
This works for me in Windows 10:
C:
cd \Users\YOUR_USER\AppData\Local\Android\Sdk\cmdline-tools\latest\bin
sdkmanager.bat --licenses
After, yes to all
On Mac OS 10.15.1, I got the same error even after accepted all the licenses by running sdkmanager --licenses It worked after I updated the ANDROID_HOME path configuration in the ~/.bash_profile to the following
export ANDROID_HOME=/Users/your_username/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export PATH=$PATH:~/Library/Android/sdk/platform-tools
And reload the ~/.bash_profile
source ~/.bash_profile
I tried many solutions but didn't work for me.
The below solution works for me.
locate the sdkmanager file in android SDK.
In my case :
~/Android/Sdk/tools/bin
go to that path : cd ~/Android/Sdk/tools/bin
Accept licenses manually : ./sdkmanager --licenses
Enter Yes or y
If you are using flutter go with the following steps
1.open the command prompt
Then the following command
2.C:\Users\niroshan>flutter doctor
And you will see the issues as follows
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 1.22.2, on Microsoft Windows [Version 10.0.17763.1339], locale en-US)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
X Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[!] Android Studio (version 4.1.0)
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
[√] VS Code (version 1.50.1)
[!] Connected device
! No devices available
! Doctor found issues in 3 categories.
Actually what you have to run is the below command
C:\Users\niroshan>flutter doctor --android-licenses
https://www.youtube.com/watch?v=g789PvvW4qo really helped me. What had done is open SDK Manager and download any new SDK Platform (dont worry it wont affect your desired api level).
Because with downlaoding any SDK Platforms(API level), you should accept licences. That's the trick worked for me.
I had the same problem when trying to run an app on my android device in a different project where I was working with some old version of tomcat8 and had to set the JAVA_OPTS variable and value. So I removed this system variable for JAVA_OPTS, which had a Variable value set to -Xms1024m (Remove the JAVA_OPTS system variable, but you can also store it for future use if you need to revert to using your old projects that might need it).
Then run the SDK manager bat file in your sdk path:
PS C:\Users[your_pc_username]\AppData\Local\Android\Sdk\tools\bin> .\sdkmanager.bat --licenses
Accept all licenses (Y).
How I solve this problem (AndroidStudio 4.2)
Click in Build tab
Select Failed to install the following Android SDK packages ... (warning)
Click Install missing SDK package(s)
On Ubuntu it still didn't work using the answers suggested.
This is what worked for me:
cd full-path-to-bin folder, where sdkmanager is located.
yes | ./sdkmanager --licenses --sdk_root="full-path-to-bin"
In the option --help it shows we can pass common args to it, which finally accepted ALL licences:
Usage:
...
sdkmanager --licenses [<common args>]
...
Common Arguments:
--sdk_root=<sdkRootPath>: Use the specified SDK root instead of the SDK containing this tool
To add to the answers, you can also change to the sdkmanager directory and in a sub shell and accept the licenses there
(
cd /home/user/android-sdk-linux/tools/bin
yes | ./sdkmanager --licenses
)
I just done File -> Invalidate caches and restart
Then install missing packages.
Worked for me.
On Windows:
Add USER Environment variables:
NOTE: Path should be appended
JAVA_HOME %ProgramFiles%\Android\Android Studio\jre
ANDROID_SDK_ROOT %LocalAppData%\Android\Sdk
Path %LocalAppData%\Android\Sdk
Run the below command to accept licenses:
NOTE: Accept all licenses (say y)
%ANDROID_SDK_ROOT%/tools/bin/sdkmanager.bat --licenses
Now run your app:
(like below, or another command that failed for you):
cd \myapp\
react-native run-android
in my case I just installed a new version of android studio on a new laptop and cloned the old repository where
buildToolsVersion "30.0.2" at application level build.gradle.
I just upgraded to 30.0.3 which android studio recommended on its own and the problem went away
I moved my Sdks and Avds folder as it was using lots of memory in local disk c, but after that I got the above issue.
For me Invalidate Caches/Restart solve the issue
File->Invalidate Caches/Restart
In my case updating buildToolsVersion in app level build.gradle worked perfectly. If you don't know which to use you can create new project and copy buildToolsVersion from that into existing one.
A one liner solution with downgrade to java 8:
sudo apt-get install openjdk-8-jdk -y && export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 && flutter doctor --android-licenses

Dart in Android Studio. No device to run applicaton

I can't run application because there is no devices on the list.
I tried to create AVD and connect real device. I have installed curl, Android SDK path was set, flutter licenses were accepted. I have Ubuntu 16.04.4
Output of flutter run --verbose in projects directory :
flutter: command not found
I have flutter path:
$ export PATH=/home/joe/flutter/bin:$PATH
$ echo $PATH
/home/joe/flutter/bin:home/joe/flutter/bin:home/joe/flutter/bin:/home/joe/bin:/home/joe/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Now I put path's to .bashrc and run source ~/.bashrc, did I put path's correct way ?
# set PATH so it includes user's private bin directories
export PATH=/home/joe/flutter/bin:$PATH
export ANDROID_HOME=$HOME/Android/SDK
export PATH=$PATH:$ANDROID_HOME/tools
After adding path's to .bashrc I run flutter doctor:
$ /home/joe/flutter/bin/flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel master, v0.5.7-pre.102, on Linux, locale en_US.UTF-8)
✗ Downloaded executables cannot execute on host.
See https://github.com/flutter/flutter/issues/6207 for more information
On Debian/Ubuntu/Mint: sudo apt-get install lib32stdc++6
On Fedora: dnf install libstdc++.i686
On Arch: pacman -S lib32-libstdc++5
[✗] Android toolchain - develop for Android devices
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.io/setup/#android-setup for detailed instructions).
If Android SDK has been installed to a custom location, set $ANDROID_HOME to that location.
[✓] Android Studio (version 3.1)
[!] IntelliJ IDEA Community Edition (version 2018.1)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
[!] Connected devices
! No devices available
! Doctor found issues in 4 categories.
Can be easily fixed by setting project SDK to latest Android API.
Go to File
Project Structure
Under Project-SDK select the latest SDK installed(Example:- Android API 29 Platform).
You have to set an Environment variable.
You can check it here for Flutter SDK setup with Android Studio

How to set up Android for React-Native without Android Studio but only using the SDK tools?

I've read pretty much read every article from google search, watched all the YouTube tutorials and checked out all the StackOverflow questions relating to this but cannot find my answer.
The official (but outdated) docs is not all that useful at all.
https://facebook.github.io/react-native/releases/0.23/docs/android-setup.html
http://facebook.github.io/react-native/releases/0.40/docs/getting-started.html
I am using Windows 10.
So far I have,
User Variables:
PATH
C:\Users\RickyDam\AppData\Local\Android\android-sdk\tools
C:\Users\RickyDam\AppData\Local\Android\android-sdk\platform-tools
System Variables:
ANDROID_HOME
C:\Users\RickyDam\AppData\Local\Android\android-sdk
ANDROID_SDK_HOME
C:\Users\RickyDam\AppData\Local\Android\android-sdk
JAVA_HOME
C:\Program Files\Java\jdk1.8.0_144
PATH
C:\Users\RickyDam\AppData\Local\Android\android-sdk\tools
C:\Users\RickyDam\AppData\Local\Android\android-sdk\platform-tools
My git bash just keeps showing
bash: android: command not found
And if I try to type in android.bat, it returns
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools\bin\sdkmanager.bat
and tools\bin\avdmanager.bat
And then if I try to type in sdkmanager.bat, I get
bash: sdkmanager.bat: command not found
EDIT:
I found out about the official SDK Manager installer made by Google Inc. and now my folder C:\Users\RickyDam\AppData\Local\Android\android-sdk looks like this
But I still get
android: command not found
even though my environment variables seem to all be in place...
Windows 10
Install Java SE Development Kit 8
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Install Android SDK Manager
http://filehippo.com/download_android_sdk/
Install the options that are already selected when you open the SDK Manager
• Android SDK Tools
• Android SDK Platform-tools
• Android SDK Build-tools
• Android 8.0.0 (API 26)
• Extras > Google USB Driver
Navigate to Control Panel \ System and Security \ System \ Advanced System Settings \ Environment Variables
For User Variables select Path and click Edit....
Click New and add these:
• C:\Users\PC-NAME\AppData\Local\Android\android-sdk\tools
• C:\Users\PC-NAME\AppData\Local\Android\android-sdk\platform-tools
• C:\Program Files\Java\jdk1.8.0_144
Now to confirm that it works, open cmd and type in android, the Android SDK Manager should open up.
NOTE: I suggest using the default command prompt over a third party one such as Git Bash. With cmd, when you run commands such as npm install, you actually get a loading bar where as in Git bash, you don't get one. Some commands that work properly in cmd such as android will not be recognized by Git bash.
Now in the command prompt, cd to the Desktop.
Run these commands:
• npm install -g create-react-native-app
• create-react-native-app my-app
• cd my-app/
• npm start
Mac Users
Assuming you already have:
Java JDK 8
nodejs and react-native cli
Now let's download only command line tools (which is bottom of ) this link
Follow these steps wisely:
unzip the folder in /opt/andriod directory
export ANDROID_HOME=/opt/android
echo "export ANDROID_HOME=/opt/android" >> ~/.bashrc
/opt/android/tools/bin/sdkmanager "platforms;android-23" "build-tools;23.0.1" "add-ons;addon-google_apis-google-23"
You are all done.Congrats! if you made it all.Now from RN proj. folder run:
react-native run-android

Categories

Resources