zhanwei / android-apktool

Automatically exported from code.google.com/p/android-apktool
Other
0 stars 1 forks source link

Recompile APK - Error : NoClassDefFoundError: o.Ι #710

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

1. Java -jar apktool_2.0.0rc2.jar -v --no-debug-info -f d com.neocyon.rvgg2.apk 
Result: 
Nov 25, 2014 3:11:25 PM brut.androlib.ApkDecoder decode
INFO: Using Apktool 2.0.0-RC2 on com.neocyon.rvgg2.apk
Nov 25, 2014 3:11:25 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loading resource table...
Nov 25, 2014 3:11:26 PM brut.androlib.res.AndrolibResources loadMainPkg
INFO: Loading resource table...
Nov 25, 2014 3:11:26 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding AndroidManifest.xml with resources...
Nov 25, 2014 3:11:26 PM brut.androlib.res.AndrolibResources loadFrameworkPkg
INFO: Loading resource table from file: 
/Users/Dedy/Library/apktool/framework/1.apk
Nov 25, 2014 3:11:27 PM brut.androlib.res.AndrolibResources 
adjust_package_manifest
INFO: Regular manifest package...
Nov 25, 2014 3:11:28 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding file-resources...
Nov 25, 2014 3:11:31 PM brut.androlib.res.AndrolibResources decode
INFO: Decoding values */* XMLs...
Nov 25, 2014 3:11:31 PM brut.androlib.Androlib decodeSourcesSmali
INFO: Baksmaling classes.dex...
Nov 25, 2014 3:11:34 PM brut.androlib.Androlib decodeRawFiles
INFO: Copying assets and libs...
Nov 25, 2014 3:11:34 PM brut.androlib.Androlib decodeUnknownFiles
INFO: Copying unknown files...
Nov 25, 2014 3:11:34 PM brut.androlib.Androlib writeOriginalFiles
INFO: Copying original files...

2. Java -jar apktool_2.0.0rc2.jar -v b com.neocyon.rvgg2 -o 
new-com.neocyon.rvgg2.apk 
....
....
....
Generated 267 files
Included 0 files from jar/zip files.
Checking for deleted files
Done!
....
....

3. Java -jar "signapk.jar" -w "testkey.x509.pem" "testkey.pk8" 
new-com.neocyon.rvgg2.apk signed-new-com.neocyon.rvgg2.apk

4. Install on device Without Changes

What is the expected output? What do you see instead?

expected : New apps Run Normal Without Error.

results:
adb log:
11-25 15:51:33.565    2426-2426/com.neocyon.rvgg2 E/AndroidRuntime﹕ FATAL 
EXCEPTION: main
    java.lang.NoClassDefFoundError: o.Ι
            at com.android.util.IabHelper.queryInventoryAsync()
            at com.android.util.IabHelper.queryInventoryAsync()
            at o.ز.onIabSetupFinished()
            at o.ʺ.onServiceConnected()
            at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1106)
            at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1123)
            at android.os.Handler.handleCallback(Handler.java:730)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:5103)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:525)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
            at dalvik.system.NativeStart.main(Native Method)

What version of the product are you using? On what operating system?
Version 2.0.0 RC2
OS X 10.9.5 (13F34)

Please provide any additional information below.

The apk file is over 20MB so it is too large to attach to this Email.  However, 
it can be downloaded from here:  
https://www.dropbox.com/s/ereutmvpbn40j6b/com.neocyon.rvgg2.apk?dl=0

Thanks.

Original issue reported on code.google.com by dedy.i...@gmail.com on 25 Nov 2014 at 8:53

GoogleCodeExporter commented 9 years ago
After following your steps and installing APK I got "You haven't purchased this 
APK so download won't complete."

I did not receive the error you did.

Original comment by connor.tumbleson on 7 Dec 2014 at 1:44

GoogleCodeExporter commented 9 years ago
its weird, coz when u start the apps, you should get an error because 
functions/variables name in unicode mode,  can u take a look at source 
/smali/com/neocyon/rvgg2/Application.smali 

i thought that unicode functions/variables name the problem here.

sample :

# static fields

line 20-41
......
.field public static final CLIENT_ALL:I = 0x7
.field public static final CLIENT_APPSTATE:I = 0x4
.field public static final CLIENT_GAMES:I = 0x1
.field public static final CLIENT_PLUS:I = 0x2
.field public static TAG:Ljava/lang/String; = null
.field static ˈ:Ljava/lang/String; = null
.field private static final ˣ:[S
.field private static ՙ:Z = false
.field private static ו:I = 0x0
.field static final ـ:I = 0x2711
.field static final ᐝ:Ljava/lang/String; = ""
.......

line 4165 - 4256
....

.method private ʹ()V
    .locals 5
    iget-boolean v0, p0, Lcom/neocyon/rvgg2/Application;->mDownloading:Z
    if-eqz v0, :cond_0
    return-void
    :cond_0
    new-instance v0, Landroid/app/ProgressDialog;
    invoke-direct {v0, p0}, Landroid/app/ProgressDialog;-><init>(Landroid/content/Context;)V
    iput-object v0, p0, Lcom/neocyon/rvgg2/Application;->ˉ:Landroid/app/ProgressDialog;
    new-instance v0, Landroid/app/AlertDialog$Builder;
    invoke-direct {v0, p0}, Landroid/app/AlertDialog$Builder;-><init>(Landroid/content/Context;)V
    const-string v1, ""
    invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;
    move-result-object v0
    sget-object v1, Lcom/neocyon/rvgg2/Application;->ˣ:[S
    const/16 v2, 0x8b
    aget-short v1, v1, v2
    const/16 v2, 0x155
    const v3, 0xd622
    invoke-static {v1, v2, v3}, Lcom/neocyon/rvgg2/Application;->ˊ(III)Ljava/lang/String;
    move-result-object v1
    invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;
    move-result-object v0
    const/16 v1, 0xb7
    const/16 v2, 0x186
    const/4 v3, 0x0
    invoke-static {v1, v2, v3}, Lcom/neocyon/rvgg2/Application;->ˊ(III)Ljava/lang/String;
    move-result-object v1
    new-instance v2, Lo/ל;
    invoke-direct {v2, p0}, Lo/ל;-><init>(Lcom/neocyon/rvgg2/Application;)V
    invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;->setPositiveButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;
    move-result-object v0
    const/16 v1, 0xe2
    const/16 v2, 0x186
    const v3, 0x8848
    invoke-static {v1, v2, v3}, Lcom/neocyon/rvgg2/Application;->ˊ(III)Ljava/lang/String;
    move-result-object v1
    new-instance v2, Lo/ץ;
    invoke-direct {v2, p0}, Lo/ץ;-><init>(Lcom/neocyon/rvgg2/Application;)V
    invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;->setNegativeButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;
    move-result-object v0
    invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog;
    move-result-object v4
    const/4 v0, 0x0
    invoke-virtual {v4, v0}, Landroid/app/Dialog;->setCancelable(Z)V
    invoke-virtual {v4}, Landroid/app/Dialog;->show()V
    return-void
.end method
....

thanks. (sry for my bad english)

Original comment by dedy.i...@gmail.com on 9 Dec 2014 at 7:16