这个问题在这里已有答案:
我下载了最新的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
和/opt/android-sdk
放置Android工具的地方。两者都不包含名为licenses
的文件夹。
从命令行接受许可协议的方式已更改。您可以使用位于以下位置的SDK管理器:$ANDROID_HOME/tools/bin
E.他Linux:
~/Library/Android/sdk/tools/bin
运行sdkmanager如下:
./sdkmanager --licenses
例如Vindovs:
cd "%ANDROID_HOME%"/tools/bin
运行sdkmanager如下:
sdkmanager --licenses
并接受您尚未接受的许可(但需要)。
有关更多详细信息,请参阅Android Studio documentation,尽管当前文档中缺少有关--licenses
选项的任何说明。
您的计算机上可能有两个Android SDK。一定要检查~/Library/Android/sdk
和/usr/local/share/android-sdk
!如果不确定,从你的机器完全uninstall Android Studio,并开始一个干净的石板。
也许我迟到了,但这有助于我接受OSX的SDK许可,
如果安装了android SDK工具,请运行以下命令
~/Library/Android/sdk/tools/bin/sdkmanager --licenses
按y
接受所有许可证
瞧!您已经接受了SDK许可证,并且很好用。
如果您想使用IDE接受许可证,我还发现打开Android Studio并创建一个新的基本项目以触发许可协议变得很容易。创建项目后,我提出了以下许可对话框,我需要同意:
我完整记录了以下帖子中的信息:Accepting the Android SDK License via Android Studio
您可以通过启动Android Studio接受许可协议,然后转到:
帮助>检查更新...
当您安装更新时,它会要求您接受许可协议。接受许可协议并安装更新,您就完成了所有设置。
在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构建应用程序,请再次编写命令来构建它。
如果你有一个React Native应用程序的问题,除了上面提到的步骤,请确保你的应用程序的android目录(AppName / android)中有local.properties文件指向你的'sdk'目录:
sdk.dir=/PATH_TO_SDK/
我通过以下步骤解决了这个问题:
您可以通过以下两种方式安装和接受SDK和工具的许可:
使用以下命令通过命令行打开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
。
选择并安装所需的工具。 (您的位置可能不同)
通过命令行更新软件包,您将看到您需要接受的条款和条件。
这将在您运行时安装最新的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.1
, 24.0.1
, 23.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
去你的$ANDROID_HOME/tools/bin
并开火
./sdkmanager --licenses
接受那里列出的所有许可。
在此之后,只需转到sdk中的licenses文件夹并检查它是否包含以下五个文件:
android-sdk-license, android-googletv-license, android-sdk-preview-license, google-gdk-license, mips-android-sysimage-license
重新进行重试并重新构建,仍然jenkins提供“许可证不被接受”然后你必须完全允许你的'sdk'目录及其所有的父目录。这是命令:
sudo chmod -R 777 /opt/
如果你在/ opt /目录中有sdk。
对于没有使用Android Studio的Windows用户:
sdkmanager.bat
文件的位置。默认情况下,它位于Android\sdk\tools\bin
文件夹内的%LOCALAPPDATA%
。sdkmanager.bat --licenses
更新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个。查看尚未接受的许可证(是/否)? ÿ
要验证问题,只需重复执行许可证问题所涉及的操作。
我通过打开Android SDK Manager并为其抱怨的版本安装SDK构建工具来解决了这个问题(API 24)。
我之前也使用命令行进行了更新,我怀疑Android SDK Manager有更完整的方法来解决依赖关系,包括许可证。
当我运行cordova build android时,我遇到了这个错误
我通过触发./sdkmanager --licenses并接受所有许可来解决了这个问题。
我通过使用命令解决了该问题:
- 转到:C:\ Users [PC NAME] \ AppData \ Local \ Android \ sdk \ tools \ bin \(如果该文件夹不可用,请首先下载android SDK,或者您可以从android studio安装过程安装它。 )
- Shift +左键单击并按W,然后按Enter键以在文件夹路径上打开CMD
- 键入cmd:sdkmanager --licenses
- 按Enter后,您需要按y接受所有许可
检查许可证
- 转到:C:\ Users [PC NAME] \ AppData \ Local \ Android \ sdk \
- 检查名为licenses的文件夹
android-googletv-license
android-sdk-license
android-sdk-preview-license
google-gdk-license
intel-android-extra-license
mips-android-sysimage-license
使用命令测试CORDOVA:
cordova构建android
使用Android SDK的文档:https://developer.android.com/studio/command-line/sdkmanager.html
我有一个类似的问题,但./sdkmanager - 许可证没有用。我按照这个帖子和“obladors”评论给了我解决方案:https://github.com/oblador/react-native-vector-icons/issues/527
最终解决了我的问题是:运行./sdkmanager "build-tools;23.0.1"
随您的版本更改23.0.1