-->

Android SDK Platform 26 license error in Ionic 3

2019-05-25 04:14发布

问题:

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.

  1. Download android studio SDK Manager

  2. 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