通过 java 程序在命令提示符下读写多个命令

Read and write multiple commands on command prompt through java program

我正在尝试使用位于 jdk/bin 文件夹中的 apksigner 和 zipalign 工具对 apk 进行签名。我已经为它设置了路径环境变量。现在我想做的是,执行一些 shell 命令,通过 ubuntu 中的 java 代码对我的 apk 进行签名。命令是,

命令-1 :

keytool -genkey -v -keystore /Desktop/my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias app

此命令在 运行 时需要一些输入,例如名字姓氏等。

命令-2 :

./zipalign -v 4 inputAPK.apk outputAPK.apk

命令 3 :

apksigner sign --min-sdk-version 15 --ks my-release-key.jks outputAPK.apk

命令 4 :

apksigner verify --min-sdk-version 15 outputAPK.apk

以上4条命令我想在ubuntu环境下通过java代码执行,如何实现?

哦哦。您可以使用 java.lang.Runtime.exec 到 运行 简单代码。看看这些网站:

http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html#exec(java.lang.String)

http://alvinalexander.com/java/edu/pj/pj010016

https://www.mkyong.com/java/how-to-execute-shell-command-from-java/

您也可以使用 Process.getOutputStream() 方法来获取输入。您输入的任何数据都将传递到您的输入流。