[UTIL][JUL 22, 2023] Apktool - Tool for reverse engineering apk files

Search This thread

dexter-

New member
Nov 5, 2022
4
0
Decompiling and building an app with no changes creates a crash at run time. App is Chase UK, anyone know how to get it to build? I have even disabled src decompiling with argument -s and it crashes even when I also use -r to skip res decompiling. Some xml files appear out of nowhere
Code:
2022-11-05 22:31:55.150 8926-8926/com.chase.intl E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.chase.intl, PID: 8926
    java.lang.RuntimeException: Unable to create application com.mobile.MainApplication: et.c: Could not create instance for [Singleton:'ma.i']
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6730)
        at android.app.ActivityThread.access$1500(ActivityThread.java:247)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2053)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7839)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
     Caused by: et.c: Could not create instance for [Singleton:'ma.i']
        at ft.c.a(Unknown Source:134)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at com.mobile.MainApplication.onCreate(Unknown Source:70)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1211)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6725)
        at android.app.ActivityThread.access$1500(ActivityThread.java:247)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2053)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7839)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
     Caused by: et.c: Could not create instance for [Singleton:'ma.f']
        at ft.c.a(Unknown Source:134)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at i6.g$a$i.a(Unknown Source:32)
        at i6.g$a$i.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at com.mobile.MainApplication.onCreate(Unknown Source:70)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1211)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6725)
        at android.app.ActivityThread.access$1500(ActivityThread.java:247)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2053)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7839)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
     Caused by: et.c: Could not create instance for [Singleton:'ma.h']
        at ft.c.a(Unknown Source:134)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at i6.w$a$e.a(Unknown Source:31)
        at i6.w$a$e.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at i6.g$a$i.a(Unknown Source:32)
        at i6.g$a$i.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at com.mobile.MainApplication.onCreate(Unknown Source:70)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1211)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6725)
        at android.app.ActivityThread.access$1500(ActivityThread.java:247)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2053)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7839)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
     Caused by: et.c: Could not create instance for [Factory:'ma.l']
        at ft.c.a(Unknown Source:134)
        at ft.a.b(Unknown Source:5)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at i6.r$a$b.a(Unknown Source:31)
        at i6.r$a$b.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at i6.w$a$e.a(Unknown Source:31)
        at i6.w$a$e.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at i6.g$a$i.a(Unknown Source:32)
        at i6.g$a$i.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at com.mobile.MainApplication.onCreate(Unknown Source:70)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1211)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6725)
        at android.app.ActivityThread.access$1500(ActivityThread.java:247)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2053)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7839)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
     Caused by: et.c: Could not create instance for [Singleton:'g9.w0']
        at ft.c.a(Unknown Source:134)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at i6.r$a$a.a(Unknown Source:19)
        at i6.r$a$a.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
        at ft.a.b(Unknown Source:5)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at i6.r$a$b.a(Unknown Source:31)
        at i6.r$a$b.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at i6.w$a$e.a(Unknown Source:31)
        at i6.w$a$e.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at i6.g$a$i.a(Unknown Source:32)
        at i6.g$a$i.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at com.mobile.MainApplication.onCreate(Unknown Source:70)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1211)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6725)
        at android.app.ActivityThread.access$1500(ActivityThread.java:247)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2053)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7839)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
     Caused by: et.c: Could not create instance for [Singleton:'g9.q0',qualifier:crypto-client]
        at ft.c.a(Unknown Source:134)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at g9.v0$a$f.a(Unknown Source:31)
        at g9.v0$a$f.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at i6.r$a$a.a(Unknown Source:19)
        at i6.r$a$a.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
        at ft.a.b(Unknown Source:5)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at i6.r$a$b.a(Unknown Source:31)
        at i6.r$a$b.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at i6.w$a$e.a(Unknown Source:31)
        at i6.w$a$e.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at i6.g$a$i.a(Unknown Source:32)
        at i6.g$a$i.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
        at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at com.mobile.MainApplication.onCreate(Unknown Source:70)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1211)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6725)
        at android.app.ActivityThread.access$1500(ActivityThread.java:247)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2053)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7839)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
     Caused by: et.c: Could not create instance for [Singleton:'ra.a']
        at ft.c.a(Unknown Source:134)
        at ft.d.a(Unknown Source:9)
        at ft.d$a.b(Unknown Source:14)
        at ft.d$a.invoke(Unknown Source:0)
        at pt.b.g(Unknown Source:11)
2022-11-05 22:31:55.150 8926-8926/com.chase.intl E/AndroidRuntime:     at ft.d.b(Unknown Source:12)
        at kt.a.f(Unknown Source:21)
        at lt.a.h(Unknown Source:8)
        at lt.a.g(Unknown Source:44)
        at lt.a.c(Unknown Source:150)
        at g9.v0$a$b.a(Unknown Source:19)
        at g9.v0$a$b.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
            ... 77 more
     Caused by: ra.l: Security Core failed to initialise: 3
        at c.x.C03.<init>(Unknown Source:57)
        at ra.f.<init>(Unknown Source:45)
        at ra.f.E(Unknown Source:30)
        at ra.a.j(Unknown Source:5)
        at i6.t$a$a.a(Unknown Source:63)
        at i6.t$a$a.invoke(Unknown Source:4)
        at ft.c.a(Unknown Source:67)
            ... 89 more
 
Last edited:

Spannaa

Recognized Contributor / Themer
Sep 13, 2010
7,330
16,527
61
Cardiff
Google Pixel 5
Google Pixel 6
Decompiling and building an app with no changes creates a crash at run time. App is Chase UK, anyone know how to get it to build? I have even disabled src decompiling with argument -s and it crashes even when I also use -r to skip res decompiling. Some xml files appear out of nowhere
Not sure why you're trying to decompile/recompile a banking app but apktool obviously won't work with hardened apks.
 

Thebear j koss

Senior Member
want to make a patch so that it works with my rooted phone
It won't work. Signature verification would fail immediately. You would need to make a magisk module patch that passes security features that hide root and modified systems. There are already magisk modules that should work on your device.
 
  • Like
Reactions: plegdroid

Aqq123

Senior Member
Aug 27, 2009
291
351
Google Nexus 4
Nexus 7
want to make a patch so that it works with my rooted phone
It's not really practical:
  1. You'd have to redo the patch with every update. The decompiled .smali files can change significantly between releases, so it's not automatic even if you keep prior diffs.
  2. Older versions of banking apps can stop working in a matter of weeks, so you have to keep updating. Staying on an old version is a risky option, you can lose access anytime.
  3. These apps typically also have some tamper protection that would also have to be defeated, which adds to the workload.
Instead, I suggest you just decompile it and check what it looks for, then spoof it. This way it'll be much more future-proof.

I ran into a similar issue recently. In my case, the app was looking for test-keys in build tags (among many other things but this is where the check failed). The patterns in the "obfuscated" code were all hard-coded in one place, so it's just a matter of taking a look and making sure you don't trigger them.

Also if you reinstall the app manually, be sure to make it look as if it still came from the Play Store (pm install -i com.android.vending or equivalent). Some apps are now querying the installation source too.

Anyway, just my two cents.
 

SXUsr

Senior Member
Jul 11, 2010
8,160
2,875
Here =)
Hi all.

As I'm still on Pie I've been using Substratum to theme my apps dark, whatsapp has been fine up until now. Get no layout or drawable folders and when I open attrs and styles.xml all I see now is...

Code:
<attr name="APKTOOL_DUPLICATE_attr_0x7f040004" format="reference" />
    <attr name="APKTOOL_DUPLICATE_attr_0x7f040005" format="reference" />
    <attr name="APKTOOL_DUPLICATE_attr_0x7f040006" format="reference" />
    <attr name="APKTOOL_DUPLICATE_attr_0x7f040007" format="dimension">


Code:
<style name="APKTOOL_DUPLICATE_style_0x7f130001" parent="@style/APKTOOL_DUPLICATE_style_0x7f1303cb">
        <item name="android:paddingLeft">@dimen/APKTOOL_DUPLICATE_dimen_0x7f0701e3</item>
        <item name="android:paddingRight">@dimen/APKTOOL_DUPLICATE_dimen_0x7f0701e3</item>
        <item name="android:minWidth">@dimen/APKTOOL_DUPLICATE_dimen_0x7f0701e2</item>
    </style>

...I assume they've just used whatever protection methods now to stop tinkering?
 

dexter-

New member
Nov 5, 2022
4
0
It's not really practical:
  1. You'd have to redo the patch with every update. The decompiled .smali files can change significantly between releases, so it's not automatic even if you keep prior diffs.
  2. Older versions of banking apps can stop working in a matter of weeks, so you have to keep updating. Staying on an old version is a risky option, you can lose access anytime.
  3. These apps typically also have some tamper protection that would also have to be defeated, which adds to the workload.
Instead, I suggest you just decompile it and check what it looks for, then spoof it. This way it'll be much more future-proof.

I ran into a similar issue recently. In my case, the app was looking for test-keys in build tags (among many other things but this is where the check failed). The patterns in the "obfuscated" code were all hard-coded in one place, so it's just a matter of taking a look and making sure you don't trigger them.

Also if you reinstall the app manually, be sure to make it look as if it still came from the Play Store (pm install -i com.android.vending or equivalent). Some apps are now querying the installation source too.

Anyway, just my two cents.
thanks for the reply. before I can get into the actual source code to patch these checks, I first have to understand why decoding without res and classes (-s - r arguments) and then building them again produces a different res folder. why doesn't it just copy the res folder like it says it does?
edit: I have realized this to do with when files in the res folder have multiple different case spellings of the name (e.g. rQN.png and RQn.png). It seems like it takes one and ignores the rest
 
Last edited:

iBotPeaches

Recognized Developer
Apr 8, 2011
945
4,450
Tampa
connortumbleson.com
A new version has been released!

v2.7.0 (Released November 24th, 2022)


  • [#2845] - Add SDK T (API 33) support.
  • [#2776] - Add SDK S v2 (API 32) support.
  • [#2787] - Update internal aapt/aapt2.
  • [#2809, #2714] - Add support for newest ResourcesTypes.h specs (policy, overlay and staged alias).
  • [#1622] - Add ability to generate generic network security config (-n / --net-sec-conf).
  • [#2843] - Add helpful message during built apk message to identify location of apk.
  • [#2918, #2662] - Add bleeding edge smali package (2.5.2-dirty) via jitpack.
  • [#2952] - Add build support for JDK 17.
  • [#2473] - Fix resource unclosed during unknown file handling. (Thanks auermich93)
  • [#2815] - Fix style strings regression between aapt1/aapt2 builds. (Thanks IgorEisberg)
  • [#2778] - Fix support for uses-native-library in Manifest.
  • [#2789] - Fix support for usesPermissionFlags in Manifest.
  • [#2855] - Fix windows helper script to allow spaces in path name.
  • [#1719] - Fix decoding application if using multiple style res types. (Thanks tvildo)
  • [#2615] - Fix handling with malformed namespaces. (Thanks ljysdfz & MyAnoneNeko)
  • [#2887] - Fix handling of sparse flags during resource parsing. (Thanks iamr0s)
  • [#2878] - Fix crash when parsing a manifest numeric that resolves as null.
  • [#2900] - Fix crash when parsing HTML string with empty tag leading to invalid entry. (Thanks MaSven)
  • [#2805] - Fix crash when wrongly decoding overlay policies. (Thanks gramound)
  • [#2945] - Fix regression when decoding overlay policies.
  • [#2924] - Fix respecting of $XDG_DATA_HOME on Linux for framework files location. (Thanks Miepee)
  • [#2925] - Fix storing of obfuscated resource files for properly applying proper compression on build. (Thanks Kirlif)
  • [#2908] - Fix issue parsing an obfuscated resource with a improperly referenced parent resource.
  • [#2927] - Fix --only-main-classes winning over --no-src. (Thanks Surendrajat)
  • [#2933] - Fix disassembly of files mixed between r, R and res folders.
  • [#2940] - Fix handling of (name removed) resources. (Thanks Danealau)
  • [#2943] - Fix disassembly of raw resources for AndResGuard.
  • [#2911] - Fix attribute referencing to self package while using AndResGuard.
  • [#2771] - Revert automatic workaround for using private resources.
  • Upgrade CI Workflow to leverage latest actions. (Thanks Goooler)
  • Upgrade org.apache.commons:commons-text to 1.10.0 (from 1.9)
  • Upgrade org.yaml:snakeyaml to 1.32 (from 1.29)

Apktool 2.7.0
  • md5 ec5b561de3c55ddc2e2223c504b2726b
  • sha256 c11b5eb518d9ac2ab18e959cbe087499079072b04d567cdcae5ceb447f9a7e7d

Details of Release: https://connortumbleson.com/2022/11/24/apktool-v2-7-0-released/
 

SXUsr

Senior Member
Jul 11, 2010
8,160
2,875
Here =)
A new version has been released!

Got folders now but most files are labelled APKTOOL_DUMMYVAL_0x7f0d0000.xml and look like...

Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android" xmlns:whatsapp="http://schemas.android.com/apk/res-auto">
    <com.whatsapp.WaImageView android:background="@color/APKTOOL_DUMMYVAL_0x7f0602d8" android:padding="@dimen/APKTOOL_DUMMYVAL_0x7f0704dd" android:layout_width="fill_parent" android:layout_height="@dimen/APKTOOL_DUMMYVAL_0x7f0704dc" android:src="@drawable/first_time_experience_header" />
    <com.whatsapp.WaTextView android:textSize="@dimen/APKTOOL_DUMMYVAL_0x7f0704df" android:textColor="@color/APKTOOL_DUMMYVAL_0x7f060465" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/APKTOOL_DUMMYVAL_0x7f0704e1" android:layout_marginTop="@dimen/APKTOOL_DUMMYVAL_0x7f0704de" android:layout_marginRight="@dimen/APKTOOL_DUMMYVAL_0x7f0704e1" android:text="@string/APKTOOL_DUMMYVAL_0x7f120c6c" android:lineSpacingExtra="@dimen/APKTOOL_DUMMYVAL_0x7f0704e0" android:layout_marginHorizontal="@dimen/APKTOOL_DUMMYVAL_0x7f0704e1" whatsapp:APKTOOL_DUMMYVAL_0x7f0401a3="sans-serif-medium" />
    <com.whatsapp.WaTextView android:textSize="@dimen/APKTOOL_DUMMYVAL_0x7f0704a1" android:textColor="@color/APKTOOL_DUMMYVAL_0x7f0604c6" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/APKTOOL_DUMMYVAL_0x7f0704e1" android:layout_marginTop="@dimen/APKTOOL_DUMMYVAL_0x7f0704db" android:layout_marginRight="@dimen/APKTOOL_DUMMYVAL_0x7f0704e1" android:text="@string/APKTOOL_DUMMYVAL_0x7f120c6b" android:lineSpacingExtra="@dimen/APKTOOL_DUMMYVAL_0x7f0704a2" android:layout_marginHorizontal="@dimen/APKTOOL_DUMMYVAL_0x7f0704e1" />
</LinearLayout>
 

Thebear j koss

Senior Member
Got folders now but most files are labelled APKTOOL_DUMMYVAL_0x7f0d0000.xml and look like...

Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android" xmlns:whatsapp="http://schemas.android.com/apk/res-auto">
    <com.whatsapp.WaImageView android:background="@color/APKTOOL_DUMMYVAL_0x7f0602d8" android:padding="@dimen/APKTOOL_DUMMYVAL_0x7f0704dd" android:layout_width="fill_parent" android:layout_height="@dimen/APKTOOL_DUMMYVAL_0x7f0704dc" android:src="@drawable/first_time_experience_header" />
    <com.whatsapp.WaTextView android:textSize="@dimen/APKTOOL_DUMMYVAL_0x7f0704df" android:textColor="@color/APKTOOL_DUMMYVAL_0x7f060465" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/APKTOOL_DUMMYVAL_0x7f0704e1" android:layout_marginTop="@dimen/APKTOOL_DUMMYVAL_0x7f0704de" android:layout_marginRight="@dimen/APKTOOL_DUMMYVAL_0x7f0704e1" android:text="@string/APKTOOL_DUMMYVAL_0x7f120c6c" android:lineSpacingExtra="@dimen/APKTOOL_DUMMYVAL_0x7f0704e0" android:layout_marginHorizontal="@dimen/APKTOOL_DUMMYVAL_0x7f0704e1" whatsapp:APKTOOL_DUMMYVAL_0x7f0401a3="sans-serif-medium" />
    <com.whatsapp.WaTextView android:textSize="@dimen/APKTOOL_DUMMYVAL_0x7f0704a1" android:textColor="@color/APKTOOL_DUMMYVAL_0x7f0604c6" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/APKTOOL_DUMMYVAL_0x7f0704e1" android:layout_marginTop="@dimen/APKTOOL_DUMMYVAL_0x7f0704db" android:layout_marginRight="@dimen/APKTOOL_DUMMYVAL_0x7f0704e1" android:text="@string/APKTOOL_DUMMYVAL_0x7f120c6b" android:lineSpacingExtra="@dimen/APKTOOL_DUMMYVAL_0x7f0704a2" android:layout_marginHorizontal="@dimen/APKTOOL_DUMMYVAL_0x7f0704e1" />
</LinearLayout>
Are you trying to theme updated Whatsapp? If so, stop. It can't be edited as they obsfucated files in new update. Known issue among the theming community .
 
  • Like
Reactions: plegdroid and SXUsr

DiamondJohn

Recognized Contributor
Aug 31, 2013
6,949
6,969
Sydney
When an application strips the human readable name of the resource - think like symbols for a shared object - what should we do?

We take the resId knowing it would be unique and prefix it with APKTOOL_DUMMYVAL. What else do you suggest?
Iam not a user, and have some concept of your issue, that appears to simply be a unique place holder. I *think* the issue some users have is with the word "DUMMY". Maybe people would be less inclined to be suspicious if its was called/prefixed with something like (fisrt idea's in my head)
  • APKTOOL_UNIQUE_0x7f0d0000.xml
  • APKTOOL_UNIQUEID_0x7f0d0000.xml
  • APKTOOL_UNIQUE_OBJECT_0x7f0d0000.xml
  • APKTOOL_IDENTIFIER_0x7f0d0000.xml
  • APKTOOL_LINK_0x7f0d0000.xml
  • APKTOOL_INTERNAL_0x7f0d0000.xml
 

Emre67511

Senior Member
May 28, 2016
173
51
Decompiling and recompiling multiple apks (even without making any changes) gives me "app not installed as package appears to be invalid" on my phone. What can cause this problem ?
 
Last edited:

Spannaa

Recognized Contributor / Themer
Sep 13, 2010
7,330
16,527
61
Cardiff
Google Pixel 5
Google Pixel 6
  • Like
Reactions: plegdroid

Emre67511

Senior Member
May 28, 2016
173
51
Found the solution, I had to zipalign the apks and now they are installing. Everyone on google said that you have to sign them so I thought signing alone would be enough but it wasn't
 
  • Like
Reactions: plegdroid

clewis.it

Senior Member
Nov 1, 2006
374
175
Hi. I have a very specific problem with rebuilding an app. I am modifying some ./res/layout/ files to expand the length of some text fields. Literally, the only thing I'm doing is changing android:maxLength="12" to android:maxLength="25". After I make this change, rebuild, sign and replace the apk on my phone, it acts as if the application was deleted. Logcat only tells me the application was removed.

I'm using the latest apktool (2.7.0). I have already made significant changes to other parts of the app to allow screen rotation, added extra values to a field using res/values/arrays.xml, and changed and added smali code. All of these changes resulted in a working app. It's only when I change this one attribute that the problem occurs.

Any ideas what can be causing this problem? I know it's not user error. I do the same thing each time. Build the app with apktool, sign it with platform keys, transfer it to my phone, remove old apk, set permissions 0644. This has worked every time, including on my previous builds. Reading some of the other issues, I have also replaced using the same file name, and zipaligned the apk. both of these had no effect on the apks with modified field lengths. Also, if I changed the field lengths back to original, it works again, so like I said, it's a very specific issue.
 

Top Liked Posts