我已经被困了几个小时了,并且想知道是否有人能够解决这个问题。
我正在使用Blackberry的APK repackaging命令行工具将apk重新打包到bar文件中。 https://developer.blackberry.com/android/documentation/preparing_android_apps_for_bbtos_1729415_11.html
我创建了.bat文件,一次性完成重新打包和代码签名。 我在运行Windows Server 2008 R2标准版的计算机上创建并运行它。每次我运行它,它都很完美。给了我一个很好的,签名好的Playbook App World就绪文件。这是脚本:
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文件时,它为什么会一直工作?
我认为这可能是因为我没有指定&lt; -a author_name&gt;脚本的apk2bar部分的参数,但即使在我填写后它仍然无效。
可能有用的额外信息:
- 这个PHP文件驻留在bat脚本所在的同一台Windows机器上。我通过远程机器上的Web浏览器来调用它。
Windows机器正在运行IIS 6.0
在运行PHP脚本时回显%USERNAME%时,它会在结尾显示带有美元符号($)的计算机名称。当我从命令行调用脚本时,%USERNAME%是我当前登录的用户。
从命令行运行时,我登录的帐户是管理员帐户。
非常感谢任何帮助!