是否可以配置 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.
任何帮助将非常感激...