Iva*_*o18 5 shell bash centos shell-script user-input
我知道以前有人问过这个问题,但几乎只提供了解决方法。还没有解决我的问题。
我正在尝试创建自己的.sh文件,该文件将生成一个apk. 使用 jarsigner 后,它要求输入我的密钥库的密码。现在这部分的安全性对 atm 不起作用,所以我只是想知道,我怎样才能(删除我的.keystore文件的密码或以纯文本形式输入密码)实现这一目标?
完整命令:
jarsigner -sigalg SHA1withRSA -digestalg SHA1 -verbose -keystore keyForApk.keystore
apk/android-release-unsigned.apk alias_name
Run Code Online (Sandbox Code Playgroud)
然后它提示我以下内容:
Enter Passphrase for keystore:
Run Code Online (Sandbox Code Playgroud)
现在我可以通过哪个命令在 jarsigner 命令之后动态输入它?
您可以使用Expect实用程序来自动输入密码。创建启动器脚本auto-jar.sh:
#! /usr/bin/expect
# Wait for finish forever after send password
set timeout -1
# Put your jarsigner command here
spawn jarsigner ...
expect "Enter Passphrase for keystore: "
send "your jar password\r"
# Wait for jarsigner command finish
expect eof
# Return relevant exit code of jarsigner command
# , useful if you want continue next command only after signed successfully with `&&`
foreach {pid spawnid os_error_flag exit_code} [wait] break
exit "$exit_code"
Run Code Online (Sandbox Code Playgroud)
然后chmod +x auto-jar.sh使其可执行并使用./auto-jar.sh. 或者运行为expect auto-jar.sh.
| 归档时间: |
|
| 查看次数: |
47274 次 |
| 最近记录: |