1

我已经为此困扰了几个小时,并且想知道是否有人能够阐明这一点。

我正在使用 Blackberry 的 APK 重新打包命令行工具将 apk 重新打包为 bar 文件。 https://developer.blackberry.com/android/documentation/preparing_android_apps_for_bbtos_1729415_11.html

我创建了 .bat 文件以一次性执行重新打包和代码签名。我在运行 Windows server 2008 R2 标准版的机器上创建并运行了它。每次我运行它时,它都能完美运行。给我一个漂亮的、签名的、Playbook App World 就绪的 bar 文件。这是脚本:

echo %USERDOMAIN%\%USERNAME%
call apk2bar <apk_location> <android sdk location>
call batchbar-signer <bar_location> <developer_certificate> <keystore_password> <csk_password> 

当我使用 PHP exec 命令通过 PHP 远程运行此脚本时,问题就出现了。它创建了条形图,但在代码签名部分死亡。这是错误:

 Error: Certificate chain not found for: RDK.  RDK must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.

我觉得这很奇怪,因为它表明我的密钥库(我猜是 .p12 文件?)不存在或无效。但是,为什么当我从命令行本地运行 .bat 文件时它会不断工作呢?

我认为这可能是因为我没有为脚本的 apk2bar 部分指定 <-a author_name> 参数,但即使在我填写之后它仍然不起作用。

可能有用的额外信息:

- 此 PHP 文件位于 bat 脚本所在的同一台 Windows 机器上。我通过远程机器上的网络浏览器调用它。

  • Windows 机器正在运行 IIS 6.0

  • 在运行 PHP 脚本时回显 %USERNAME% 时,它会在末尾显示带有美元符号 ($) 的机器名称。当我从命令行调用脚本时,%USERNAME% 是我当前登录的用户。

  • 从命令行运行时,我登录的帐户是管理员帐户。

任何帮助将不胜感激!

4

0 回答 0