您尚未接受以下SDK组件的许可协议

时间:2016-09-29 01:53:57

标签: android android-studio gradle android-sdk-tools

我下载了最新的Android SDK工具版本24.4.1。我使用命令行来安装SDK。我问到

时输入了y
  

你接受许可'android-sdk-license-c81a61d9'[y / n]:y   安装成功后。

但是当使用Gradle 3.1构建时,以下显示

  

您尚未接受以下SDK组件的许可协议:     [Android SDK Platform 23,Android SDK Build-Tools 23.0.1]。     在构建项目之前,您需要接受许可协议并使用Android Studio SDK Manager完成缺少的组件的安装。     或者,要了解如何将许可协议从一个工作站转移到另一个工作站,请转到http://d.android.com/r/studio-ui/export-licenses.html

我查看了放置Android工具的~/.android/opt/android-sdk。不包含名为licenses的文件夹。

14 个答案:

答案 0 :(得分:614)

从命令行接受许可协议的方式已更改。您可以使用位于以下位置的SDK管理器:~/Library/Android/sdk/tools/bin

例如在linux上:

./sdkmanager --licenses

按如下方式运行sdkmanager:

cd "%ANDROID_HOME%"/tools/bin

例如在Windows上:

sdkmanager --licenses

按如下方式运行sdkmanager:

--licenses

并接受您尚未接受的许可(但需要)。

有关详细信息,请参阅here,尽管当前文档中缺少~/Library/Android/sdk选项的任何说明。

警告

您的计算机上可能有两个Android SDK。务必检查/usr/local/share/android-sdkimport java.util.Random; public class Card{ private String rank; private String suit; private Card[] deck; private int currentCard; private static final int NCARDS = 52; private static final Random randomNumbers = new Random(); private static String[] ranks ={ "2", "3", "4", "5", "6","7", "8", "9", "10", "J", "Q", "K","A"}; private static String[] suits = { "Spades", "Heart", "Clubs", "Diamond" }; public Card(String rank,String suit) { this.rank = rank; this.suit = suit; } public Card() { deck = new Card[ NCARDS ]; for ( int count = 0; count < deck.length; count++ ) deck[ count ] = new Card( ranks[ count % 13 ], suits[ count / 13 ] } public void shuffle() { for ( int first = 0; first < deck.length; first++ ){ int second = randomNumbers.nextInt( NCARDS ); Card temp = deck[ first ]; deck[ first ] = deck[ second ]; deck[ second ] = temp; } } public String getSuit() { return this.suit; } public String getRank() { return this.rank; } public Card dealCard() { if(currentCard < deck.length) return deck[currentCard++]; else return null; } public String toString(){ return getRank() + " of " + getSuit(); } !如果不确定,请从您的计算机上完全Android Studio documentation Android Studio,并从一个干净的平板开始。

答案 1 :(得分:138)

您可以安装并接受SDK&amp ;;的许可证。工具通过两种方式:

1。通过命令行

打开Android SDK Manager GUI

使用以下命令行打开Android SDK管理器:

# Android SDK Tools 25.2.3 and lower - Open the Android SDK GUI via the command line
cd ~/Library/Android/sdk/tools && ./android

# 'Android SDK Tools' 25.2.3 and higher - `sdkmanager` is located in android_sdk/tools/bin/.
cd ~/Library/Android/sdk/tools/bin && ./sdkmanager

View more details on the new sdkmanager

  

选择并安装所需的工具。 (您的位置可能不同)

2。通过命令行安装并接受android许可证:

通过命令行更新软件包,您将看到您需要接受的条款和条件。

- 安装或更新到最新版本

这将在您运行时安装最新的platform-tools

# Android SDK Tools 25.2.3 and lower. Install the latest `platform-tools` for android-25
android update sdk --no-ui --all --filter platform-tools,android-25,extra-android-m2repository

# Android SDK Tools 25.2.3 and higher
sdkmanager --update

- 安装特定版本(25.0.124.0.123.0.1

您还可以安装如下特定版本:

# Build Tools 23.0.1, 24.0.1, 25.0.1
android update sdk --no-ui --all --filter build-tools-25.0.1,android-25,extra-android-m2repository
android update sdk --no-ui --all --filter build-tools-24.0.1,android-24,extra-android-m2repository
android update sdk --no-ui --all --filter build-tools-23.0.1,android-23,extra-android-m2repository
# Alter the versions as required                      ↑               ↑

# -u --no-ui  : Updates from command-line (does not display the GUI)
# -a --all    : Includes all packages (such as obsolete and non-dependent ones.)
# -t --filter : A filter that limits the update to the specified types of
#               packages in the form of a comma-separated list of
#               [platform, system-image, tool, platform-tool, doc, sample,
#               source]. This also accepts the identifiers returned by
#               'list sdk --extended'.

# List version and description of other available SDKs and tools
android list sdk --extended
sdkmanager --list

答案 2 :(得分:40)

对于没有使用Andoid Studio的Windows用户:

  1. 转到sdkmanager.bat文件的位置。默认情况下,它位于Android\sdk\tools\bin文件夹中的%LOCALAPPDATA%

  2. 在标题栏中键入cmd,打开终端窗口

  3. 输入

    sdkmanager.bat --licenses
    
  4. 使用&#39; y&#39;

  5. 接受所有许可

答案 3 :(得分:28)

更新macOS Sierra 10.12.6 - Android Studio for Mac 2.3.3

通常在以下位置找到sdkmanager文件:

/Users/YOUR_MAC_USER/Library/Android/sdk/tools/bin

./sdkmanager --licenses

警告:无法加载File /Users/mtro.josevaler**strong text**io/.android/repositories.cfg。 不接受6个SDK包许可证中的6个。 查看尚未接受的许可证(是/否)?的ý

要验证问题,只需重复执行许可证问题所涉及的操作。

答案 4 :(得分:17)

我通过打开Android SDK Manager并为其抱怨的版本安装SDK构建工具解决了这个问题(API 24)。

我之前也使用命令行进行了更新,我怀疑Android SDK Manager有更完整的方法来解决依赖关系,包括许可证。

答案 5 :(得分:14)

当我运行 cordova build android

时,我遇到了这个错误

我通过触发./sdkmanager --licenses并接受所有许可来解决了这个问题。

  1. 你在路径中的android sdk文件夹下有一个sdkmanager.bat:android / sdk / tools / bin
  2. 触发在android / sdk / tools / bin
  3. 中打开命令提示符
  4. 输入./sdkmanager --licenses并输入
  5. 按y查看所有许可证,然后按y接受所有许可证

答案 6 :(得分:14)

我已使用以下命令解决问题:

  
      
  1. 转到:C:\ Users [PC NAME] \ AppData \ Local \ Android \ sdk \ tools \ bin \(如果该文件夹不可用,请先下载android SDK,或者   你可以从android studio安装过程安装它。)
  2.   
  3. Shift +左键单击并按W,然后按Enter键以在文件夹路径上打开CMD
  4.   
  5. 输入cmd:sdkmanager --licenses
  6.   
  7. 按Enter后,您需要按y
  8. 接受所有许可   

检查许可证

  
      
  1. 转到:C:\ Users [PC NAME] \ AppData \ Local \ Android \ sdk \
  2.   
  3. 检查名为licenses的文件夹
  4.   
android-googletv-license
android-sdk-license
android-sdk-preview-license
google-gdk-license
intel-android-extra-license
mips-android-sysimage-license

使用命令测试CORDOVA:

  

cordova build android

使用Android SDK的文档:https://developer.android.com/studio/command-line/sdkmanager.html

答案 7 :(得分:13)

我有一个类似的问题,但./sdkmanager - 许可证没有用。我按照这个帖子和“obladors”评论给了我解决方案: https://github.com/oblador/react-native-vector-icons/issues/527

最终解决了我的问题是: 正在运行./sdkmanager "build-tools;23.0.1"

使用您的版本更改23.0.1

答案 8 :(得分:12)

如果您想使用IDE接受许可,我还发现打开Android Studio并创建一个新的基本项目以触发许可协议变得很容易。创建项目后,我提出了以下许可对话框,我需要同意:

enter image description here

我完整记录了以下帖子中的信息:Accepting the Android SDK License via Android Studio

答案 9 :(得分:12)

也许我迟到了,但这有助于我接受OSX的SDK许可证,

如果您安装了android SDK工具,请运行以下命令

~/Library/Android/sdk/tools/bin/sdkmanager --licenses

y

接受所有许可

瞧!您已经接受了SDK许可证,并且很高兴...

答案 10 :(得分:7)

您可以通过启动Android Studio接受许可协议,然后转到:

  

帮助&gt;检查更新...

当您安装更新时,它会要求您接受许可协议。接受许可协议并安装更新,您就已经完成了设置。

答案 11 :(得分:7)

在linux中

 1. Open a terminal
 2. Write: "cd $ANDROID_HOME/tools/bin (this path can be /home/your-user/Android/Sdk/tools/bin)"
 3. Write: "./sdkmanager --licenses"
 4. To accept All licenses listed, write: "y"
 5. Ready!

如果您正在使用Ionic Framework构建应用程序,请再次编写命令来构建它。

答案 12 :(得分:1)

如果你有一个React Native应用程序的问题,除了上面提到的步骤,请确保你的应用程序的android目录(AppName / android)中有local.properties文件指向你的'sdk'目录:

sdk.dir=/PATH_TO_SDK/

答案 13 :(得分:-1)

我已通过以下步骤解决了问题:

  1. 使用命令更新android sdk&#34; tools / android update sdk --no-ui&#34;
  2. 在jenkins机器上找到android sdk文件夹,创建&#34;许可证&#34;文件夹
  3. 创建名为&#34; android-sdk-license&#34;并从开发机器粘贴许可证