更改 bubblewrap 的 android 密钥库的位置

Change location of android keystore for bubblewrap

提问人:Stephen 提问时间:10/12/2023 更新时间:10/12/2023 访问量:36

问:

我们使用 Bubblewrap 为我们的进度 Web 应用程序创建了一个包装器应用程序,并已成功将其部署到 Google Play 商店。使用 Bubblewrap 创建包装器应用程序的原始开发人员将他的代码签入到我们的源代码存储库中,以便 c:\my-pwa 是应用程序的根文件夹。

现在我已经签出了这段代码,它位于我工作站的文件夹 C:\Dev\bubblewrap-apps\dev-bubblewrap 中。当我尝试执行“气泡包装”构建命令时,我收到一个错误,说“系统找不到指定的路径”,这是完整的输出:

C:\Dev\bubblewrap-apps\dev-bubblewrap>bubblewrap build
,-----.        ,--.  ,--.  ,--.
|  |) /_,--.,--|  |-.|  |-.|  |,---.,--.   ,--,--.--.,--,--.,---.
|  .-.  |  ||  | .-. | .-. |  | .-. |  |.'.|  |  .--' ,-.  | .-. |
|  '--' '  ''  | `-' | `-' |  \   --|   .'.   |  |  \ '-'  | '-' '
`------' `----' `---' `---'`--'`----'--'   '--`--'   `--`--|  |-'
                                                       `--'
Please, enter passwords for the keystore C:\my-pwa\android.keystore and alias android.

? Password for the Key Store: ********
? Password for the Key: ********

Building the Android App...


cli ERROR Command failed: C:\Users\myuser\.bubblewrap\jdk\jdk-11.0.9.1+1\bin\java.exe -Xmx1024M -Xss1m -jar C:\Users\myuser\.bubblewrap\android_sdk\build-tools\33.0.2\lib\apksigner.jar sign --ks C:\my-pwa\android.keystore --ks-key-alias android --ks-pass pass:Password --key-pass pass:Password --out ./app.apk ./app-release.apk
Failed to load signer "signer #1"
java.io.FileNotFoundException: C:\my-pwa\android.keystore (The system cannot find the path specified)
    at java.base/java.io.FileInputStream.open0(Native Method)
    at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
    at java.base/java.io.FileInputStream.<init>(FileInputStream.java:157)
    at java.base/java.io.FileInputStream.<init>(FileInputStream.java:112)
    at com.android.apksigner.SignerParams.loadKeyStoreFromFile(SignerParams.java:361)
    at com.android.apksigner.SignerParams.loadPrivateKeyAndCertsFromKeyStore(SignerParams.java:248)
    at com.android.apksigner.SignerParams.loadPrivateKeyAndCerts(SignerParams.java:181)
    at com.android.apksigner.ApkSignerTool.getSignerConfig(ApkSignerTool.java:419)
    at com.android.apksigner.ApkSignerTool.sign(ApkSignerTool.java:336)
    at com.android.apksigner.ApkSignerTool.main(ApkSignerTool.java:92)

C:\Dev\bubblewrap-apps\dev-bubblewrap>

因此,构建失败,因为它在与原始开发人员放置密钥库的位置相同的位置查找密钥库。我发现我可以通过手动更改twa-manifest.json文件来解决此问题:

"signingKey": {
  "path": "C:\\my-pwa\\android.keystore",
  "alias": "android"
},

对此:

"signingKey": {
  "path": "C:\\Dev\\bubblewrap-apps\\dev-bubblewrap\\android.keystore",
  "alias": "android"
},

我想知道的是,是否有比打开twa-manifest.json文件并更新它更优雅的处理方法?在我看来,应该有某种 bubblewrap 命令来处理这个问题。

Android 渐进式网络应用 bubblewrap

评论


答: 暂无答案