-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] apktool b
generates bad hiddenapi_class_data_item
#2918
Comments
Ok, here is a further case, similar to the preceeding one.
Steps to Reproduce
|
Ok, we're narrowing it down!
Steps to Reproduce
Edit: Changing the |
Apparently a fix was merged??? JesusFreke/smali#816 |
@RenateUSB - Just looks like it was rebased/squashed - JesusFreke/smali@81bd303 @JesusFreke - You have a release planned soon for some of these merged, but unreleased fixes? |
Just to beat a dead horse...
In the
This works fine. Now alphabetical order and class order match. This is quite a serious bug. It means rebuilding any api>=29 Android core file has about zero chance of being correct even if no error is generated. |
I believe fixed with: #2941 |
Have you tested apktool 2.7.0 to decompile and recompile framework.jar? In my case, this issue still exists (same as self build smali/baksmali). |
@r6680jc No, not yet, but I'll check it out. Edit: I can confirm that the hidden API data appears to be correct in 15,000 classes. Trivia: What class has the most fields & methods. |
It's just the resulting framework.jar with any classes.dex rebuilt without modification makes the device bootloop. |
Information
The original problem was that
apktool d -api 29
,apktool b -api 29
succeeded but the resulting jar did not work.The deeper dive of
apktool d -api 29
,apktool b -api 29
,apktool d -api 29
gave the below error.I then did a fresh
apktool d -api 29
and tested it withapktool b -api 29
,apktool d -api 29
.I deleted classes as much as I could until the
apktool b -api 29
,apktool d -api 29
returned no error, then backed up.At this point it consisted of only two smali classes that still gave the same error.
Deleting various virtual methods from ProtoOutputStream might cause the error to go away, or not.
I also cleaned all
greylist-max-?
to simplegreylist
Various versions caused the OOB to be 7 instead of 6.
greylist-max-r
. (This example never usedgreylist-max-r
.)greylist
were changed towhitelist
.writeRepeatedFixed32Impl(II)V
even changed fromgreylist
toblacklist
.Stacktrace/Logcat
Steps to Reproduce
unzip fw.zip
apktool b FW0 -o fw1.jar -api 29
apktool d fw1.jar -o FW1 -api 29
fw.zip
The text was updated successfully, but these errors were encountered: