2012-06-14 82 views
0

所以我在res /價值/我的桌面上,在它的strings.xml,這strings.xml中包含以下文件:麻煩與AAPT添加操作

<?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 im的名稱,然後解壓縮apk,哈希classes.dex並嘗試插入散列值以替換12345在strings.xml中。總而言之,一旦修改,它會嘗試使用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不起作用。

正確使用aapt命令將命令替換現有的/res/values/strings.xml與我的計算機上的任何想法?我找不到關於aapt的很多文檔,所以任何幫助將不勝感激。

謝謝!

回答

0

怎麼樣使用老式jar覆蓋res/values/strings.xml

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