Ich habe ein Skript geschrieben, um dexopt-wrapper zu verwenden, um einen Ordner mit .apk-Dateien zu odexieren
#!/bin/sh
SYSAPP=/mnt/extSdCard/FilesToOdex/system/app/
SYSPRIVAPP=/mnt/extSdCard/FilesToOdex/system/priv-app/
for i1 in $SYSAPP*.apk ; do
echo "Odexing $i1..."
dexopt-wrapper $i1 $i1.odex
done
for i2 in $SYSPRIVAPP*.apk ; do
echo "Odexing $i2..."
dexopt-wrapper $i2 $i2.odex
done
for file1 in $SYSAPP*.apk.odex; do
mv "$file1" "`basename $file1 .apk.odex`$file1.odex"
done
for file2 in $SYSPRIVAPP*.apk.odex; do
mv "$file2" "`basename $file2 .apk.odex`$file2.odex"
done
Der Odexing-Teil funktioniert, aber wie Sie sehen können, erstellt er eine Reihe von .apk.odex-Dateien
Also meine Frage ist:
mv
die *.apk.odex-Dateien richtig umbenennen, damit sie nur *.odex-Dateien sind?Ich habe es versucht:
for file1 in $SYSAPP*.apk.odex; do
mv "${file1}" "${file1%.odex}"
done
for file2 in $SYSPRIVAPP*.apk.odex; do
mv "${file2}" "${file2%.odex}"
done
aber es hat alle meine .apk.odex-Dateien in .apk umgewandelt
Das ist eher eine Shell-Scripting-Frage, die bei Super User gestellt werden sollte . Ihre Antwort finden Sie hier: Dateinamen und Erweiterung in bash extrahieren :
for file1 in $SYSAPP*.apk.odex; do
mv "${file1}" "${file1%.*}.odex"
done
for file2 in $SYSPRIVAPP*.apk.odex; do
mv "${file2}" "${file2%.*}.odex"
done
sollte angeblich auf den meisten Granaten funktionieren.
Aktualisieren:
Sie können sogar die Hälfte Ihres Skripts weglassen, indem Sie dies an Ihre ursprünglichen Aussagen anpassen: dexopt-wrapper $i1 ${i1%.*}.odex
sollte die Datei mit der richtigen Benennung erstellen, sodass Sie sie später nicht umbenennen müssen. Um Ihr Skript wirklich kurz und handlich zu machen:
#!/bin/sh
SYSAPP=/mnt/extSdCard/FilesToOdex/system/app/
SYSPRIVAPP=/mnt/extSdCard/FilesToOdex/system/priv-app/
for i1 in $SYSAPP*.apk $SYSPRIVAPP*.apk; do
echo "Odexing $i1..."
dexopt-wrapper $i1 ${i1%.*}.odex
done
Das ist alles, was Sie brauchen sollten :)
Kevin
Izzy
Kevin
Izzy
.apk
selbst würde ihr Vertrauen brechen, da Sie nicht den Originalschlüssel haben, um sie neu zu signieren). Aber schön, dass ich wenigstens ein bisschen helfen konnte ;)Kevin