0

所以我在桌面上的 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 上找不到太多文档,因此我们将不胜感激。

谢谢!

4

1 回答 1

0

res/values/strings.xml使用普通 old覆盖怎么样jar

jar vuf SHA-Hash.apk res/values/strings.xml

于 2012-06-26T21:06:30.210 回答