answered
2018-07-27 12:56:00 +0200
Same problem here.
Updates
- 2.18.241 - on Aptoid works again
- 2.18.234 - still broken
Error Analysis
After whatching the logs, the relevant part is :
I/dalvikvm( 3520): Could not find method android.app.AppOpsManager.permissionToOp, referenced from method a.a.a.a.d.a
W/dalvikvm( 3520): VFY: unable to resolve static method 974: Landroid/app/AppOpsManager;.permissionToOp (Ljava/lang/String;)Ljava/lang/String;
D/dalvikvm( 3520): VFY: replacing opcode 0x71 at 0x001a
I/dalvikvm( 3520): Could not find method android.content.Context.getSystemService, referenced from method a.a.a.a.d.a
W/dalvikvm( 3520): VFY: unable to resolve virtual method 1622: Landroid/content/Context;.getSystemService (Ljava/lang/Class;)Ljava/lang/Object;
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x003d
E/dalvikvm( 3520): Could not find class 'android.content.pm.ShortcutManager', referenced from method a.a.a.a.d.a
W/dalvikvm( 3520): VFY: unable to resolve const-class 219 (Landroid/content/pm/ShortcutManager;) in La/a/a/a/d;
D/dalvikvm( 3520): VFY: replacing opcode 0x1c at 0x0006
D/dalvikvm(17349): GC_EXPLICIT freed <1K, 1% free 16738K/16816K, paused 1ms+2ms, total 16ms
I/dalvikvm( 3520): Could not find method android.content.res.Resources.getDrawable, referenced from method a.a.a.a.d.a
W/dalvikvm( 3520): VFY: unable to resolve virtual method 1874: Landroid/content/res/Resources;.getDrawable (ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x0006
D/dalvikvm( 3520): GC_CONCURRENT freed 231K, 2% free 16934K/17200K, paused 1ms+3ms, total 18ms
I/dalvikvm( 3520): Could not find method android.graphics.drawable.Drawable.setHotspot, referenced from method a.a.a.a.d.a
W/dalvikvm( 3520): VFY: unable to resolve virtual method 2431: Landroid/graphics/drawable/Drawable;.setHotspot (FF)V
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm( 3520): Could not find method android.graphics.drawable.Drawable.setTint, referenced from method a.a.a.a.d.a
W/dalvikvm( 3520): VFY: unable to resolve virtual method 2436: Landroid/graphics/drawable/Drawable;.setTint (I)V
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm( 3520): Could not find method android.graphics.drawable.Drawable.setHotspotBounds, referenced from method a.a.a.a.d.a
W/dalvikvm( 3520): VFY: unable to resolve virtual method 2432: Landroid/graphics/drawable/Drawable;.setHotspotBounds (IIII)V
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm( 3520): Could not find method android.graphics.drawable.Drawable.setTintList, referenced from method a.a.a.a.d.a
W/dalvikvm( 3520): VFY: unable to resolve virtual method 2437: Landroid/graphics/drawable/Drawable;.setTintList (Landroid/content/res/ColorStateList;)V
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm( 3520): Could not find method android.graphics.drawable.Drawable.applyTheme, referenced from method a.a.a.a.d.a
W/dalvikvm( 3520): VFY: unable to resolve virtual method 2386: Landroid/graphics/drawable/Drawable;.applyTheme (Landroid/content/res/Resources$Theme;)V
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm( 3520): Could not find method android.graphics.drawable.Drawable.inflate, referenced from method a.a.a.a.d.a
W/dalvikvm( 3520): VFY: unable to resolve virtual method 2411: Landroid/graphics/drawable/Drawable;.inflate (Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm( 3520): Could not find method android.graphics.drawable.Drawable.setTintMode, referenced from method a.a.a.a.d.a
W/dalvikvm( 3520): VFY: unable to resolve virtual method 2438: Landroid/graphics/drawable/Drawable;.setTintMode (Landroid/graphics/PorterDuff$Mode;)V
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm( 3520): Could not find method android.view.View.setTooltipText, referenced from method a.a.a.a.d.a
W/dalvikvm( 3520): VFY: unable to resolve virtual method 12931: Landroid/view/View;.setTooltipText (Ljava/lang/CharSequence;)V
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm( 3520): Could not find method android.view.Window.getSharedElementEnterTransition, referenced from method a.a.a.a.d.a
W/dalvikvm( 3520): VFY: unable to resolve virtual method 13161: Landroid/view/Window;.getSharedElementEnterTransition ()Landroid/transition/Transition;
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x001d
E/dalvikvm( 3520): Could not find class 'android.content.pm.ShortcutManager', referenced from method a.a.a.a.d.a
W/dalvikvm( 3520): VFY: unable to resolve const-class 219 (Landroid/content/pm/ShortcutManager;) in La/a/a/a/d;
D/dalvikvm( 3520): VFY: replacing opcode 0x1c at 0x0006
I/dalvikvm( 3520): Could not find method android.graphics.drawable.Drawable.setLayoutDirection, referenced from method a.a.a.a.d.b
W/dalvikvm( 3520): VFY: unable to resolve virtual method 2433: Landroid/graphics/drawable/Drawable;.setLayoutDirection (I)Z
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm( 3520): Could not find method android.graphics.drawable.Drawable.canApplyTheme, referenced from method a.a.a.a.d.c
W/dalvikvm( 3520): VFY: unable to resolve virtual method 2387: Landroid/graphics/drawable/Drawable;.canApplyTheme ()Z
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x0006
I/dalvikvm( 3520): Could not find method android.content.pm.PackageManager.isInstantApp, referenced from method a.a.a.a.d.e
W/dalvikvm( 3520): VFY: unable to resolve virtual method 1805: Landroid/content/pm/PackageManager;.isInstantApp ()Z
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x0028
I/dalvikvm( 3520): Could not find method android.os.StrictMode$VmPolicy$Builder.penaltyDeathOnCleartextNetwork, referenced from method a.a.a.a.d.u
W/dalvikvm( 3520): VFY: unable to resolve virtual method 3314: Landroid/os/StrictMode$VmPolicy$Builder;.penaltyDeathOnCleartextNetwork ()Landroid/os/StrictMode$VmPolicy$Builder;
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x0031
I/dalvikvm( 3520): Could not find method android.os.StrictMode$VmPolicy$Builder.penaltyDeathOnFileUriExposure, referenced from method a.a.a.a.d.u
W/dalvikvm( 3520): VFY: unable to resolve virtual method 3315: Landroid/os/StrictMode$VmPolicy$Builder;.penaltyDeathOnFileUriExposure ()Landroid/os/StrictMode$VmPolicy$Builder;
D/dalvikvm( 3520): VFY: replacing opcode 0x6e at 0x003a
I/MultiDex( 3520): MultiDexExtractor.load(/data/app/com.whatsapp-1.apk, false, )
I/dalvikvm( 3520): Could not find method android.system.Os.posix_fallocate, referenced from method a.a.a.a.a.a$d.fallocateIfSupported
W/dalvikvm( 3520): VFY: unable to resolve static method 12072: Landroid/system/Os;.posix_fallocate (Ljava/io/FileDescriptor;JJ)V
D/dalvikvm( 3520): VFY: replacing opcode 0x71 at 0x0002
W/dalvikvm( 3520): VFY: unable to resolve exception class 1647 (Landroid/system/ErrnoException;)
W/dalvikvm( 3520): VFY: unable to find exception handler at addr 0x6
W/dalvikvm( 3520): VFY: rejected La/a/a/a/a/a$d;.fallocateIfSupported (Ljava/io/FileDescriptor;J)V
W/dalvikvm( 3520): VFY: rejecting opcode 0x0d at 0x0006
W/dalvikvm( 3520): VFY: rejected La/a/a/a/a/a$d;.fallocateIfSupported (Ljava/io/FileDescriptor;J)V
W/dalvikvm( 3520): Verifier rejected class La/a/a/a/a/a$d;
D/AndroidRuntime( 3520): Shutting down VM
W/dalvikvm( 3520): threadid=1: thread exiting with uncaught exception (group=0xe59e6ba8)
E/AndroidRuntime( 3520): FATAL EXCEPTION: main
E/AndroidRuntime( 3520): Process: com.whatsapp, PID: 3520
E/AndroidRuntime( 3520): java.lang.VerifyError: a/a/a/a/a/a$d
E/AndroidRuntime( 3520): at a.a.a.a.d.k(:202521)
E/AndroidRuntime( 3520): at a.a.a.a.d.a(:199879)
E/AndroidRuntime( 3520): at android.support.e.a.a(:4580)
E/AndroidRuntime( 3520): at com.whatsapp.AppShell.onBaseContextAttached(:141009)
E/AndroidRuntime( 3520): at com.facebook.b.a.a.a.c.attachBaseContext(:24493)
E/AndroidRuntime( 3520): at android.app.Application.attach(Application.java:181)
E/AndroidRuntime( 3520): at android.app.Instrumentation.newApplication(Instrumentation.java:991)
E/AndroidRuntime( 3520): at android.app.Instrumentation.newApplication(Instrumentation.java:975)
E/AndroidRuntime( 3520): at android.app.LoadedApk.makeApplication(LoadedApk.java:502)
E/AndroidRuntime( 3520): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4301)
E/AndroidRuntime( 3520): at android.app.ActivityThread.access$1500(ActivityThread.java:135)
E/AndroidRuntime( 3520): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
E/AndroidRuntime( 3520): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 3520): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 3520): at android.app.ActivityThread.main(ActivityThread.java:5001)
E/AndroidRuntime( 3520): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 3520): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 3520): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:797)
E/AndroidRuntime( 3520): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:613)
E/AndroidRuntime( 3520): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager(17513): Force finishing activity com.whatsapp/.Main
Googling around the error messages brings up this stackexchange, but apparently the fixes are compile-time (i.e.: something that Facebook forgot to do before pushing that version on the app stores).
Maybe they'll fix it in an upcoming version.
Fixing it
Another solution would be to roll back to an older version: WhatsApp's own website (or mirror of last known good ).
- For some people, installing over the last version just works.
For other people, over installation fails with the message :
W/InstallAppProgress( 6550): Replacing package:com.whatsapp
W/ActivityManager(17513): No content provider found for permission revoke: file:///data/app/incoming/com.whatsapp.apk
W/PackageManager(17513): Can't install update of com.whatsapp update version 452430 is older than installed version 452432
D/InstallAppProgress( 6550): Installation error code: -25
In that case there are 2 solutions :
Solution 1
(Some people went for this solution :)
- (make a backup of the relevant directories)
- uninstall app
- reinstall app
- if whatsapp can't restore from its own backup on the local android storage, use the copy you made of the directories (note: UID might have changed).
Solution 2
Solution I went for :
- in
/data/app/
(on Sailfish X, that's a symlink to /home/.android/data/app
) replace the com.whatsapp-
N.apk
file, with the APK you downloaded from WhatsApp's website. (this file belongs to UID=system, so you need to do it as root) - that won't work by itself, but at least the version of APK present here won't be 2.18.229 any more, but 2.18.223
- re-try installing with you favourite method (either tapping on the file in the GUI, or
apkd-install com.whatsapp.apk
- this time, because the version isn't old, the installation won't complain, it will happily overwrite it and everything works back as it should.
Hi, same problem for me, solved downgrading to 2.18.225 version. ciao
antonello ( 2018-07-27 12:45:40 +0200 )edit@antonello: What's the the command to force downgrade a version ?
Plain
DrYak ( 2018-07-27 12:57:16 +0200 )editapkd-install
fails with Can't install update of com.whatsapp update version 452430 is older than installed version 452432hi, simply make a backup, then uninstall the app and re-install an early version :-)
antonello ( 2018-07-27 13:16:48 +0200 )editwas hoping for a single command "force upgrade"
DrYak ( 2018-07-27 13:18:21 +0200 )editI always install directly from Whatsapp; https://www.whatsapp.com/download/
Spam Hunter ( 2018-07-27 13:37:11 +0200 )edit