所以我在桌面上的 res/values/ 中有一个文件,它是 strings.xml,这个 strings.xml 包含以下内容:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, SHAHashActivity!</string>
<string name="app_name">SHA-Hash</string>
<string name="sha">12345</string>
<string name="app_path">67890</string>
</resources>
我有一个脚本,其中包含一些用户输入的关于我试图修改的 apk 的名称,然后它解压缩 apk、散列 classes.dex 并尝试插入散列值以替换 strings.xml 中的 12345。总之,一旦修改,它会尝试使用 aapt 来更新 apk 中的 strings.xml 文件,但无济于事。这是脚本的一部分。
export hash=`/usr/bin/openssl sha1 apk/classes.dex | sed "s|SHA1(apk/classes.dex)= ||g"`
sed -i '' -e"s/12345/$hash/g" res/values/strings.xml
./aapt a -v SHA-Hash.apk res/values/strings.xml
使用 sed 本地更新字符串文件有效,它修改它,但使用 aapt 在 apk 中更新它不起作用。
关于正确使用哪个命令将现有的 /res/values/strings.xml 替换为我计算机上的命令的任何想法?我在 aapt 上找不到太多文档,因此我们将不胜感激。
谢谢!