问题
I'm trying to run my Ionic 3 project on my Android device with ionic cordova run android --device --stacktrace
, but, I've the following output:
...
Checking the license for package Android SDK Platform 26 in C:\Android\android-sdk\licenses Warning: License for package Android SDK Platform 26 not accepted.
FAILURE: Build failed with an exception.
- What went wrong: A problem occurred configuring root project 'android'.
You have not accepted the license agreements of the following SDK components: [Android SDK Platform 26]. Before building your project, you need to accept the license agreements and complete the installation of the missing components using the Android Studio SDK Manager. Alternatively, to learn how to transfer the license agreements from one workstation to another, go to http://d.android.com/r/studio-ui/export-licenses.html
Reading other questions, people suggested using the Android Studio SDK manager and installing the latest versions, because then I would be asked about the licenses and would have to accept them, so I installed Android 8.0 (Oreo) and Android API 27 which are the last available updates, however, at no time was I asked about any license and the error persisted. My device is connected to the PC (Windows 10) via the USB cable and the programmer mode is enabled along with USB debugging. What can I do to resolve this?
My SDK manager:
Update:
I already ran the command sdkmanager --licenses
in the C:\Android\sdk\tools\bin
and C:\Users\User\AppData\Local\Android\sdk\tools\bin
folders and all the missing licenses were accepted, but the error continues.
My cordova-android version in package.json
: "cordova-android": "~6.3.0"
and in config.xml
: <engine name="android" spec="~6.3.0" />
(already tried with 6.3.0
and 6.2.0
without success)
Following the error:
Checking the license for package Android SDK Platform 26 in C:\Android\android-sdk\licenses Warning: License for package Android SDK Platform 26 not accepted.
But I don't have the licenses folder in C:\Android\android-sdk
, just in C:\Android\sdk
. How I do for Ionic check for the folder where the licenses really are?
ionic info
:
cli packages: (C:\Users\User\AppData\Roaming\npm\node_modules)
@ionic/cli-utils : 1.19.0
ionic (Ionic CLI) : 3.19.0
global packages:
cordova (Cordova CLI) : 7.1.0
local packages:
@ionic/app-scripts : 3.1.0
Cordova Platforms : none
Ionic Framework : ionic-angular 3.9.2
System:
Node : v6.11.2
npm : 3.10.10
OS : Windows 10
Environment Variables:
ANDROID_HOME : C:\Android\android-sdk
Misc:
backend : pro
回答1:
In SDK folder you have to run under command prompt.
...\sdk\tools\bin
Enter this command
sdkmanager "platforms;android-26"
回答2:
Solved! Reading the information on the page http://tools.android.com/tech-docs/new-build-system/license:
...
If you have accepted the license agreements on one workstation, but wish to build your projects on a different one, you can export your licenses by copying the accepted licenses folder from the Android Sdk Home folder
...
So I just went to C:\Android\sdk
and copied the licenses folder to the C:\Android\android-sdk
folder which was where Ionic was searching for the licenses.
Thanks to all who have somehow tried to help.
回答3:
Check your cordova-android version .
Try to run with the cordova-android version 6.2.3
.
if the above solution doesn't work follow this process.
Download android studio SDK Manager
Download the SDK for version 26.
https://developer.android.com/studio/intro/update.html
Update
based on your Update you are adding the version in your package.json as follows
"cordova-android": "~6.3.0"
so change this to following format as follows
"cordova-android": "6.3.0"
Reference to the Issue
Note if the above format doesn't work for the 6.3.0
, try the same with the 6.2.0
as follows "cordova-android": "6.2.0"
回答4:
In my case, using Visual Studio + Cordova, this case was solved by copying "licenses" folder from your %ANDROID_HOME%
folder to "C:\ProgramData\Microsoft\AndroidSDK\25
", VS took licenses from there.
回答5:
Go to the android sdk
folder, copy the licenses
folder from there, and paste the folder to the path below:
C:\Users\intel\AppData\Local\Android\Sdk
回答6:
After I installed version which was asked for licenses - it started to work! You can do this in Android Studio > SDK Manager
回答7:
@Paresh Gami's answer helped resolve mine. Just a side note for Mac OSX user..
the full path is /Users/useraccount/Library/Android/sdk/tools/bin/
where useraccount is your current system user.
回答8:
os : windows 7 (64 bit)
you can accept SDK lic agreement using blow command :
goto the "C:\Users{user_name}\AppData\Local\Android\sdk\tools\bin"
Execute command : sdkmanager "platforms;android-xx"
node : xx is the version
回答9:
I did tried above mention tricks, what works for me on Mac OS is below
$ANDROID_HOME/tools/bin/sdkmanager "build-tools;26.0.1" "platforms;android-26"
来源:https://stackoverflow.com/questions/48026963/android-sdk-platform-26-license-error-in-ionic-3