【发布时间】:2018-12-04 10:04:16
【问题描述】:
是否可以将 Google 的 Android sdkmanager 配置为通过自定义存储库而不是 dl.google.com/android/repository 下载依赖项?
背景:
我正在企业防火墙后面设置一个 Android 构建代理,无法直接访问 Internet。我可以访问 LAN 上的存储库服务器,该服务器充当预配置远程存储库的镜像。
我已经从这里下载了 SDK 工具 https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
在一台可以上网的机器上,我尝试像这样配置~/.android/repositories.cfg:
### User Sources for Android Repository
#Fri Nov 30 12:36:38 CET 2018
enabled00=true
count=1
disp00=DB Artifactory
src00=https://dl.google.com/android/repository/repository2-1.xml
如果我在 Android Studio 中设置自定义 SDK 更新站点,我会得到什么配置。
此处下载的 xml 文件与 Android Studio 配置的完全相同 - 与我在运行 sdkmanager 命令行工具时使用 Charles Proxy 观察到的相同。
它适用于 Android Studio 中的默认“Android Repository”配置,但我的自定义配置在 Android Studio 和命令行中均失败。
我看到了这个错误:
Step 25/34 : RUN yes | sdkmanager --licenses --proxy=http --
proxy_host=host.docker.internal --proxy_port=3128
---> Running in 8d8923c76ba7
Picked up _JAVA_OPTIONS: -XX:+UnlockExperimentalVMOptions -
XX:+UseCGroupMemoryLimitForHeap
Warning: Errors during XML parse: ] 42% Downloading sys-img.xml... Parse X
Warning: cvc-elt.1: Cannot find the declaration of element 'sdk:sdk-repository'.
,,Warning: org.xml.sax.SAXParseException; lineNumber: 17; columnNumber: 139; cvc-elt.1: Cannot find the declaration of element 'sdk:sdk-repository'.
Warning: javax.xml.bind.UnmarshalException - with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 17; columnNumber: 139; cvc-elt.1: Cannot find the declaration of element 'sdk:sdk-repository'.]
Warning: Additionally, the fallback loader failed to parse the XML.
任何帮助将不胜感激......
【问题讨论】:
标签: android android-studio android-sdk-tools