php - 如何在 web 服务器上的 php 中运行 keytool 和 jarasigner

标签 php android ant keytool jarsigner

我想要一个 php 脚本通过创建 keystore 为 Android 生成 apk 并使用 jarasigner 分配。

这个任务的命令:

  1. Ant
  2. key 工具
  3. jarsigner

此命令在本地 PC 上执行,并在 php 脚本中安装了 Java 和 Android。那么在托管服务器上托管此脚本时如何在 Web 服务器上运行此命令?

function generate_apk($apk_data = array()) {
    global $log_txt;
    $apk_cmd = "ant -f \"{$apk_data['project_path']}/build.xml\" release\n";

    $keystore_cmd  =  "keytool -genkey -dname 'cn=kamlesh jadeja, ou=JavaSoft, o=Sun, c=US' -storepass {$apk_data['password']}";
    $keystore_cmd .= " -alias business -keypass {$apk_data['password']} -keystore {$apk_data['keystore_path']}{$apk_data['keystore']} -validity 36500 \n";

    $jarassign  = "jarsigner -verbose -digestalg SHA1";
    $jarassign .= " -storepass {$apk_data['password']} -keypass {$apk_data['password']} -keystore {$apk_data['keystore_path']}{$apk_data['keystore']}";
    $jarassign .= " {$apk_data['project_path']}bin/{$apk_data['apk_name']}-release-unsigned.apk business\n";

    exec($apk_cmd);
    exec($keystore_cmd);    
    exec($jarassign);
}

最佳答案

我已经实现了这一点,但使用的是虚拟专用服务器,我在其中安装了 JDK 和 Android SDK。

除非您的服务器支持该功能,否则您将无法运行任何这些外部命令。

考虑在 VPS(Amazon、OVH 等)中托管您的应用程序。我使用 OVH,它非常便宜和简单。

希望这些信息对您有所帮助。

问候!

关于php - 如何在 web 服务器上的 php 中运行 keytool 和 jarasigner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17379449/

相关文章:

php - 在 PhpStorm 中排除其他脚本调试

android - 模拟器的 Google Play 安装(Marshmallow/Nougat)

search - 如何使用 Ant 在文件中搜索字符串(确保在源文件中找不到某些字符串)

android - 如何在 Android 视频 View 中播放 Youtube 视频?

ant - 从 Gradle 设置 Ant 属性不起作用

java - 降级 Eclipse ant 以在使用较旧的 JDK 库时进行编译 (Java 1.7 -> 1.6)

PHPUnit 请求日志记录时失败

php - mysqlworkbench 在导出数据库时给出版本错误

php - preg_match 查找并替换字符串模式

android - 如何在 Eclipse 中为 Android 开发设置 Git 存储库?