浏览器构建:故障排除
AAPS-CI 故障排除
aaps-ci-preparation 网页
当您使用文件管理器打开 aaps-ci-preparation.html 时,它会在手机上启动一个临时本地服务器,用于显示网页并接收 Google 刷新令牌。
此本地服务器会在大约 10 分钟后超时。如果您看到下面的屏幕,说明文件管理器已经关闭了本地服务器。
关闭准备页面和文件管理器应用,然后从文件管理器重新打开 aaps-ci-preparation.html 并完成剩余步骤。尤其是在设置过程中创建初始 Google 连接时,需要执行此操作。

Google 刷新令牌已过期
Google OAuth2 刷新令牌如果连续 6 个月未使用就会过期,在其他情况下也可能失效(例如您更改了 Google 账户密码,或手动撤销了访问权限)。有关更多详细信息,请参阅 Google OAuth2 文档。
您会看到一条指示访问令牌无效的错误,如下所示:

如果您的构建因 Google 刷新令牌过期或被撤销而失败,您需要重新执行 Google Drive Auth 中的步骤,以获取新的
GDRIVE_OAUTH2令牌并更新 GitHub 存储库中的密钥,然后重新运行构建工作流。如果授权再次失败,或者 Google 不再要求您同意,请先从您的 Google 账户中移除现有的 AAPS 访问权限,具体请参阅下文。
从您的 Google 账户中移除 AAPS 访问权限并重新开始授权
如果 Google Drive 授权持续失败,或者您想从干净的状态重新开始,请先移除之前授予 AAPS 的访问权限,然后重新进行授权。
在手机上打开 https://myaccount.google.com,点击 安全性,向下滚动到 您与第三方应用和服务的连接,然后打开已关联应用的列表。您也可以直接前往 https://myaccount.google.com/connections。
点击列表中的 AAPS。

页面会显示您授予 AAPS 的访问权限(应用使用的 Google Drive 文件)。点击 全部删除 以移除连接,或先点击 查看详细信息 进行查看。

在详细信息页面,点击 移除所有访问权限 并确认。AAPS 不再出现在已关联应用的列表中。

现在重新开始授权:关闭准备页面和文件管理器应用,从文件管理器重新打开 aaps-ci-preparation.html,然后重新执行 Google Drive Auth 中的步骤。Google 会再次要求您授予访问权限,页面也会提供新的
GDRIVE_OAUTH2令牌。使用新令牌更新 GitHub 存储库中的
GDRIVE_OAUTH2密钥,然后重新运行构建工作流。
禁用可能干扰 OAUTH 验证的软件
在尝试获取 OAUTH 密钥之前,请在手机上禁用任何 VPN 或安全应用(防火墙、反恶意软件等)。
检查 GitHub Actions 权限设置
确保 GitHub Actions 策略设置为“允许所有操作和可复用工作流”(设置 → Actions → General)。

actions/checkout@v4 和 actions/setup-java@v4 不允许在 xxxxx/AndroidAPS 中使用。
此工作流中的操作必须位于由 xxxxx 所有的存储库内
检查 GitHub 工作流权限设置
如果构建立即失败,并出现类似下面的“无效工作流文件”错误,则说明您存储库的默认工作流权限限制过于严格:
Invalid workflow file
The workflow is not valid. .github/workflows/aaps-ci.yml (Line: 361, Col: 3):
Error calling workflow 'xxxxx/AndroidAPS/.github/workflows/cleanup-workflow-runs.yml@...'.
The nested job 'cleanup' is requesting 'actions: write', but is only allowed 'actions: none'.
确保工作流权限设置为“读写权限”(设置 → Actions → General → Workflow permissions),然后保存并重新运行构建工作流。

密码包含特殊字符时在签名步骤构建失败
如果密码正确但 APK 在签名时构建失败,请检查您的
KEYSTORE_PASSWORD或KEY_PASSWORD是否包含$、反引号、"或\。构建工作流会解析这四个字符,并更改或截断密码。在 GitHub 中编辑该密钥,仅在这四个字符前添加反斜杠
\。例如,对于密码abc$def"ghi,请输入abc\$def\"ghi。包括
%、*、#和!在内的其他所有字符都必须保持原样。在它们前面添加反斜杠会使反斜杠成为密码的一部分。重新运行构建工作流。
竖线
|是一种特殊情况。选项 1 的准备页面会将密钥库、密码和别名组合成一个由|分隔的KEYSTORE_SET密钥,工作流会按此字符进行拆分。准备页面生成的密码只包含字母和数字,因此选项 1 不会出现这种情况。只有当您自行使用包含|的密码组装KEYSTORE_SET密钥时,才可能出现这种情况。此时,请删除KEYSTORE_SET,改为输入选项 2中的独立密钥。