We have moved to a new Sailfish OS Forum. Please start new discussions there.
14

Problems WhatsApp update

Tracked by Jolla (Rejected)

asked 2018-07-27 11:18:07 +0200

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

updated 2018-08-03 17:46:24 +0200

ced117 gravatar image

I am using a jolla c with the newest version and after a WhatsApp update (2.18.229) from the aptoide store nothing works. The App doesnot starts. I restartet my jolla - no results. Can someone help me? Thanks

edit retag flag offensive close delete

Comments

3

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 apkd-install fails with Can't install update of com.whatsapp update version 452430 is older than installed version 452432

DrYak ( 2018-07-27 12:57:16 +0200 )edit
2

hi, simply make a backup, then uninstall the app and re-install an early version :-)

antonello ( 2018-07-27 13:16:48 +0200 )edit

was hoping for a single command "force upgrade"

DrYak ( 2018-07-27 13:18:21 +0200 )edit
2

I always install directly from Whatsapp; https://www.whatsapp.com/download/

Spam Hunter ( 2018-07-27 13:37:11 +0200 )edit

4 Answers

Sort by » oldest newest most voted
4

answered 2018-07-27 12:56:00 +0200

DrYak gravatar image

updated 2018-08-08 17:55:14 +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.
edit flag offensive delete publish link more

Comments

The stack trace that I also found using logcat actually lead me to this together.jolla question. I was facing the same problem since a WhatsApp update 2.18.234 today. Initially I thought my .crypt12 file was completely broken. It wasn't, but I still lost some history because I uninstalled WhatsApp and could not make a messages backup before from within the app. While the Databases folder remained untouched, the reinstalled WhatsApp 2.18.225 after re-verification restored the latest backup (i.e. msgstore-2018-08-XX.1.db.crypt12), instead of the latest msgstore.db.crypt12! So better try to use Solution 2 from above...

c-s-n ( 2018-08-03 23:24:47 +0200 )edit

I can confirm, my just updated WhatsApp version 2.18.257 also works again.

c-s-n ( 2018-08-23 01:15:06 +0200 )edit
4

answered 2018-07-27 13:08:06 +0200

peter-berlin gravatar image

I had the same problem. my solution:

  • make a backup
  • uninstall app
  • reinstallation from the store: APKPure (2.18.217)

now it works again :-)

edit flag offensive delete publish link more

Comments

me too did the same. :)

antonello ( 2018-07-27 13:13:46 +0200 )edit
0

answered 2018-07-27 13:17:23 +0200

DaveRo gravatar image

I originally installed the APK from whatsapp's own site. Reading this thread I allowed it to update itself - to 2.18.213 - which continues to work fine.

Why all these higher-numbered versions?

edit flag offensive delete publish link more

Comments

2

Exactamundo @DaveRo - as I've commented above (before I saw your post) I too always download and install directly from Whatsapp themselves, I personally don't trust places like pureapk or similar, why not take it directly from the vendor as a straight download, job done :) All said and done, it is a shame we still need to rely on any Android apps at all. If it wasn't for family, I wouldn't have the Dalvik layer on my device.

Spam Hunter ( 2018-07-27 13:40:36 +0200 )edit

The fact that anybody has a version higher than whatsapp's own latest update is strange, don't you think?

I have a Jolla C.

DaveRo ( 2018-07-27 14:08:57 +0200 )edit
1

I install and update the app from the store aptoide. There, this version is offered. In the future, I will do this more carefully.

Hilleberg ( 2018-07-27 14:34:04 +0200 )edit

Facebook doesn't push APKs out the same version/at the same speed on all shops.

Aptoid (including the official "sailfish-apps" repo there) tends to get APKs a tiny bit sooner than the official Google Play Store.

So, once you clicked on the link on http://whatsapp.com/dl , depending on which shop you selected to complete the action, you'd be getting a slightly different version.

The one currently pushed by Facebook on Aptoid is newer than 2.18.213

DrYak ( 2018-07-27 15:09:15 +0200 )edit

As @DrYak said in a comment to the question, the latest version on whatsapp's own website is 2.18.223. Yet my version on Jolla C, originally installed from that website, and self-updated several times, is 2.18.213

Two possibilities. That 2.18.213 was the version when I installed it, and (1) the updates don't update the version number (2) the updates never worked (though in that case you might expect it to immediately repeat the update)

Either way, as I and @Edz agree, the whatapp site is the best source. (I wonder why someone downvoted this?)

And the fact that aptoid has 2.18.229 is suspicious.

DaveRo ( 2018-07-27 16:17:19 +0200 )edit
0

answered 2018-07-27 14:24:46 +0200

Hilleberg gravatar image

Okay, if I download the APK, do I have to uninstall and then reinstall? What happens to the entire history?

edit flag offensive delete publish link more

Comments

I would uninstall the existing one first. I install downloaded APKs from the file browser - install pulley option.

I don't know what will happen to the history.

DaveRo ( 2018-07-27 14:39:24 +0200 )edit

Apprently yes.

All the others who downgraded did manually un-install and re-install (but KEEP YOUR BACKUPS if you don't want to lose all your history).

There's a command to force downgrade to an older version on vanilla Android, but I have no idea what the equivalent is on AlienDalvik.

DrYak ( 2018-07-27 15:11:12 +0200 )edit
1

I just install over the top of the existing version; no uninstalling ~ no problems, but of course, it varies for each user/device, what's good for one is always right fo the other.

Spam Hunter ( 2018-07-27 22:57:39 +0200 )edit

I would once have done that. But I recently installed Firefox from Mozilla over the version from G-appstore (Android 7) and it corrupted the profile. So I'm more circumspect now.

And I still wonder where Aptoide gets version 2.18.229 from. Are they amending it and upping the version in the manifest, or wherever? If so, why?

I'm quite trusting of SFOS apps in openrepos, but not of Android apps.

DaveRo ( 2018-07-28 00:24:13 +0200 )edit
1

Or use GBwhatsapp ,working like a charm and a lot of extra options!

aQUICK1 ( 2018-07-28 12:31:11 +0200 )edit
Login/Signup to Answer

Question tools

Follow
7 followers

Stats

Asked: 2018-07-27 11:18:07 +0200

Seen: 6,395 times

Last updated: Aug 08 '18