我使用 android 的新命令行工具,因为旧的 android sdk-tools 存储库不再可用。所以我改变了我的 gitlab-ci 来加载 commandlintools。但是当我尝试运行它时,出现以下错误:
Warning: Could not create settings
java.lang.IllegalArgumentException
at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.<init>(SdkManagerCliSettings.java:428)
at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:152)
at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:134)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:57)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Run Code Online (Sandbox Code Playgroud)
我已经尝试过手动执行这些命令,但我遇到了同样的错误。此外,如果我运行sdkmanager --version,也会发生同样的错误。我的 gitlab-ci 看起来像:
image: openjdk:9-jdk
variables:
ANDROID_COMPILE_SDK: "29"
ANDROID_BUILD_TOOLS: "29.0.3"
ANDROID_SDK_TOOLS: "6200805"
before_script:
- apt-get --quiet update --yes
- apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
- wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS}_latest.zip
- unzip -d android-sdk-linux android-sdk.zip
- echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null
#- echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" …Run Code Online (Sandbox Code Playgroud) android android-build gitlab-ci android-sdk-manager android-studio-3.6
更新到Android Gradle 插件 3.6.0(2020 年 2 月 24 日发布)后,几个项目独立开始失败:
No version of NDK matched the requested version 20.0.5594570. Versions available locally: 21.0.6113669
Run Code Online (Sandbox Code Playgroud)
通过安装较旧的预期 ndk 版本在本地“修复”此问题非常简单:
sdkmanager 'ndk;20.0.5594570'
Run Code Online (Sandbox Code Playgroud)
但是,我的问题是:这个旧版本在哪里以及如何指定?以及如何更新它以使其与最新版本匹配21.0.6113669?
android android-ndk android-sdk-tools android-gradle-plugin android-sdk-manager
目前,我正在运行Windows 8.1 PC,它没有像Android Studio或Eclipse这样的IDE的存储或RAM.我想在没有IDE的情况下下载Android SDK工具.如何实现这一目标?
我很少为Android做点什么,所以我有点困惑.虽然有两种类型的安装--Android Studio和Android SDK.我有IDEA所以我不需要Studio.通常我会下载具有UI工具的SDK来下载其组件.
我刚收到https://dl.google.com/android/repository/tools_r25.2.3-linux.zip,我看不到其中的UI SDK Manager.有bin/sdkmanagershell脚本.但这对我的目的来说有点不方便,因为通过输出--list,复制粘贴包名称和运行sdkmanager将花费太多时间.
现在快速安装这个的方法是什么?
PS.我正在使用Ubuntu 16.10以防万一.
PS2.我只是sdkmanager "platforms;android-25"根据文档尝试但在我同意条款后它没有给出任何输出.它在哪里安装SDK文件?它甚至安装了吗?惊人.
我下载并安装了:
配置PATH变量后,我尝试运行sdkmanager,它取代了android管理SDK组件的命令.但是,它失败了,如下所示:
$ sdkmanager --list
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.SdkManagerCli.main(SdkManagerCli.java:117)
at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:93)
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:185)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
... 5 more
Run Code Online (Sandbox Code Playgroud)
这是Java版本:
$ java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何修复它而不回到Java 8?
有人可以解释一下,请问Android支持资源库与Android支持资源库与谷歌资源库与谷歌播放服务有什么区别?
我的理解是,Google Repository与Google Play服务完全相同,只是将所有api分开(与经典的播放服务相比,这是一个包含所有内容的大jar)并且更适合在android studio中使用,因为现在您可以选择你想编译什么api(例如'com.google.android.gms:play-services-ads:+')vs依赖proguard在构建时去除不需要的api.
我对吗?
Android支持存储库与Android支持库如何?
android android-support-library google-play-services android-gradle-plugin android-sdk-manager
我刚刚下载了Android SDK.下载SDK Manager中的所有软件包将花费太多时间.所以我想知道是否应该取消选择除最新平台之外的所有平台.或者我需要所有平台?提前致谢.
我刚刚下载了适用于Windows的Android SDK命令行工具(26.0.2).我正在尝试使用\ tools\bin\sdkmanager.bat下载选定的SDK组件,以及更新\ tools.安装失败,并显示以下消息:
警告:安装期间发生错误:无法移开或删除现有目标文件:C:\ testinstall\sdk\tools手动移开它并再试一次..
我不知道如何手动删除\ tools,因为它包含\ bin\sdkmanager.bat.
sdkmanager命令的屏幕截图:
所有其他组件似乎安装没有错误.请参阅下面的包文件中指定的组件:
我只是尝试了安装颤振,因为我已经安装了android工作室和安装了android sdk,我只是跟着安装了颤动.这是我的问题:我跑的时候
flutter doctor
Run Code Online (Sandbox Code Playgroud)
它告诉我
[?] Flutter (Channel beta, v0.1.5, on Microsoft Windows [Version 10.0.16299.248], locale en-US)
• Flutter version 0.1.5 at C:\Users\Name\git\flutter
• Framework revision 3ea4d06340 (2 weeks ago), 2018-02-22 11:12:39 -0800
• Engine revision ead227f118
• Dart version 2.0.0-dev.28.0.flutter-0b4f01f759
[X] Android toolchain - develop for Android devices
X ANDROID_HOME = C:\Users\Name\AppData\Local\Android\sdk\Android
but Android SDK not found at this location.
[?] Android Studio (version 3.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Java version OpenJDK Runtime Environment (build …Run Code Online (Sandbox Code Playgroud) 当我尝试在Eclipse ADT上运行我的Android项目时,我在控制台中看到了这一点:
[2017-03-24 15:34:41 - Dex Loader] Failed to load C:\Users\jaimemontoya\android-sdks\build-tools\26.0.0-preview\lib\dx.jar
Run Code Online (Sandbox Code Playgroud)
[2017-03-24 15:34:41 - CouponClub]未知错误:无法构建:文件dx.jar未从SDK文件夹加载!
我正在使用Eclipse Neon.2 Release(4.6.2):
这是我从Android SDK Manager看到的包配置:
我从该错误中理解的是,它无法加载dx.jar,因为它试图"从SDK文件夹"加载它.该消息甚至使用感叹号来表示!它指的是什么SDK文件夹?我认为在这种情况下"C:\ Users\jaimemontoya\android-sdks"将被视为SDK文件夹.你知道它在哪里找到"dx.jar"文件吗?
android ×10
java ×2
android-ndk ×1
eclipse ×1
eclipse-adt ×1
flutter ×1
gitlab-ci ×1
java-9 ×1