- apktool is brilliant
- it works flawlessly 99.9% of the time
- having said that, there is one situation that it doesn't handle brilliantly
- sometimes it can produce smali filenames that contain unicode
- Android aapt only permits ascii
- when this occurs, the apk cannot be rebuilt
- v2.4.1 does not produce an apk
- v2.2.2 produces an apk that doesn't work
- issue tracker implies this was fixed:
- real world testing (both Windows and Linux) proved that it wasn't
- the purpose of this command-line utility is to:
- walk the file tree
- detect .smali filenames that contain unicode
- rename the file
- perform search/replace to remap all references from the old name to the new
- class references in smali files
- package names in xml files
npm install --global @warren-bank/node-remap-apktool-unicode-filenames
rauf /path/to/decoded/apk/directory
apktool d /path/to/app.apk
rauf /path/to/app
apktool b /path/to/app -o /path/to/new_app.apk
- Node version: v10.16.0+ or v11.13.0+