Android 将许可协议从我的工作站传输到Azure管道代理

Android 将许可协议从我的工作站传输到Azure管道代理,android,azure-devops,azure-pipelines,android-sdk-manager,Android,Azure Devops,Azure Pipelines,Android Sdk Manager,我使用Azure管道在我的Android项目上执行CI。从昨天起,CI无法生成包含以下消息的应用程序: 未能安装以下Android SDK包,因为某些许可证尚未被接受。 构建工具;28.0.3 Android SDK构建工具28.0.3 要构建此项目,请接受SDK许可协议,并使用Android Studio SDK管理器安装缺少的组件。 或者,要将许可协议从一个工作站转移到另一个工作站,请参阅 由于代理由Microsoft直接管理(托管VS2017代理),因此我无法手动运行命令行以接受丢失的许可

我使用Azure管道在我的Android项目上执行CI。从昨天起,CI无法生成包含以下消息的应用程序:

未能安装以下Android SDK包,因为某些许可证尚未被接受。 构建工具;28.0.3 Android SDK构建工具28.0.3 要构建此项目,请接受SDK许可协议,并使用Android Studio SDK管理器安装缺少的组件。 或者,要将许可协议从一个工作站转移到另一个工作站,请参阅

由于代理由Microsoft直接管理(托管VS2017代理),因此我无法手动运行命令行以接受丢失的许可证

正如gradle所建议的,我试图创建一个任务,以便将许可证从我的工作站复制到Azure Pipeline one

以下是步骤:

  • 我已将android sdk主页中的许可证添加到android应用程序的源代码中
  • 我向管道添加了一个任务,以便将这些许可证文件复制到管道工作站的许可证目录
下面是azure管道中任务的屏幕截图:

根据日志,此文件的副本似乎已正确完成:

[部分]开始:将文件复制到:C:\Program Files(x86)\Android\Android sdk\licenses\ ================================================================================================任务:复制文件说明:从源文件夹复制文件 使用匹配模式将文件夹设置为目标文件夹(匹配模式仅适用于 匹配文件路径,而不是文件夹路径)版本:2.117.2作者
:Microsoft Corporation帮助: ====================================================================================================================================找到6个文件正在清理目标文件夹:C:\Program files (x86)\Android\Android sdk\licenses\Copy D:\a\1\s\licenses\android googletv许可证到C:\Program文件 (x86)\Android\Android sdk\licenses\Android googletv许可证复制 D:\a\1\s\licenses\android sdk许可证到C:\Program文件 (x86)\Android\Android sdk\licenses\Android sdk许可证复制 D:\a\1\s\licenses\android sdk预览许可证到C:\Program文件 (x86)\Android\Android sdk\licenses\Android sdk预览许可证复制 D:\a\1\s\licenses\google gdk许可证到C:\Program文件 (x86)\Android\Android sdk\licenses\google gdk许可证复制 D:\a\1\s\licenses\intel android附加许可证到C:\Program Files (x86)\Android\Android sdk\licenses\intel Android额外许可证复制 D:\a\1\s\licenses\mips android系统映像许可证到C:\Program文件 (x86)\Android\Android sdk\licenses\mips Android系统映像许可证 [部分]完成:将文件复制到:C:\Program Files(x86)\Android\Android sdk\licenses\

但问题仍然存在。请注意,此复制任务在渐变任务之前完成


有没有办法解决这个问题?

很抱歉给您添麻烦,@rolandl。在Windows上,Android SDK授权中的某些内容发生了更改。我们有一个长期修复方案,但在修复方案到达所有生产部门之前,这里有一个解决方案:

  • 在管道的开头添加一个步骤。将内联PowerShell脚本设置为以下内容,以更新VS2017虚拟机上的Android许可证:

    Get-ChildItem-路径'C:\Program Files(x86)\Android\Android sdk\licenses'|删除项-递归-确认:$false-强制

    目录'C:\ProgramFiles(x86)\Android\Android sdk\licenses'

    $base64Content="这一研究是一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于一个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个关于5个aakgaaacqaabsa2.在中国的一家中国ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ嗯YXMJU0ZGRIZWWWW5NZMNWFQSWMEFAAAAAAAAA0L43TU2EE/8QAAAKGAAACYAAABSHAWNLLCY9TAXBZLWUZHJVAWQTC3LZAW1HZ2UTBGLJW5ZZZWWW5NZZZZM5WQ1YWY2ZZYZZYZZYZZHLM和BYZYZKJW3WWWZKKKKW7W7AAAAKJW9KKKKKKWZWZW7WZZW7AAAAQAAKW2W2W2WZZZZW2W2W2W2W2W2W2W2W2W2WZZZZZZZW2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2ZZXMVYW5KCM9PZC1ZZGSTBGLJZW5ZZVBLAQUABQAAAAAQAAAQAAAQAAAQAAAQAAAQAAKAAAAQAAAAQAAAQAAAAQAAAQAAAAQAAAQAAAQAAQAAQAAQAAKW5ZXMVZ2Z2KLKL1WCMV2W2W2W3L2W3LKY2W2WY2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2W2AQIUABQAAAAAAANJEN07TNNV/KGAAACOAAAAAAAAAAAACAABSABSWNLCNLCY9TAXBZLWFUZHJVAWQTC3LZAW1HZ2UTBGLJZW5ZZZVBLQYAAAABGANOBACPAGAAAA=”

    $content=[System.Convert]::FromBase64String($base64Content)

    设置内容-路径。\android-sdk-licenses.zip-值$Content-编码字节

    展开Archive-Path.\android-sdk-licenses.zip-DestinationPath'C:\Program Files(x86)\android\android sdk'-Force

    目录'C:\ProgramFiles(x86)\Android\Android sdk\licenses'

  • 验证PowerShell步骤是否在生成开始时运行,以及生成的其余部分是否再次成功


  • 您好,David!它工作正常!感谢您的帮助!您能解释一下您的
    base64内容是如何生成的吗?它有助于将来解决类似问题:)