1. Cobalt232's Avatar
    With the global rollout of Blackberry OS 10.3.2.2876 many (if not all) Blackberry users are encountering serious problems with the Android runtime. This post summarizes the technical findings of my research and hopefully will help Blackberry to fix the problem.

    PROBLEM DESCRIPTION
    Android apps that are installed with Amazon Store, Play Store, Snap or any other method cannot be removed correctly. Even though the app icon will be removed from the BB desktop, the app remains installed in the Android runtime.

    The effect can be reproduced with any uninstallation method:

    1. Long press the icon on BB desktop and then hit dustbin icon
    2. Blackberry Settings > App Manager > Device Monitor > Storage > Appname -> Hit dustbin icon
    3. Directly in Android Settings > Apps > Downloaded > Uninstall
    4. In Play Store > AppName > Uninstall

    With all methods, the Android runtime immediately crashes, leaving the app installed in the filesystem of the runtime.

    The effect can be verified by installing the following tool:
    http://homepage.bluewin.ch/simonsmit...etwork-1.0.apk

    1. Remove an Android app with any method listed above
    2. Install the tool, run it and hit "More Android Settings"
    3. Go to apps > Downloaded to see all installed Android apps -> Your app is NOT removed.

    ANALYSIS
    Logfiles of the Android runtime show, that PackageManager, which is part of the Android runtime, crashes before the files are correctly removed. It seems that the root cause is a security issue. The following logs show the uninstallation process for a test app called "com.blub". The app was first installed by copying the apk file directly to the device and then running the installer.

    Code:
    Analysis: PackageManager being launched
    I/ActivityManager(318894300): START u0 {act=android.intent.action.UNINSTALL_PACKAGE dat=package:com.blub cmp=com.android.packageinstaller/.UninstallerActivity (has extras
    )} from pid 319607037
    I/ActivityManager(318894300): Start proc com.android.packageinstaller for activity com.android.packageinstaller/.UninstallerActivity: pid=320266464 uid=10104 gids={50104,
     1028, 1015}
    I/QNXNavigatorClient(318894300): PackagesOpenedRunnable: [com.android.packageinstaller]
    I/ActivityManager(318894300): Displayed com.android.packageinstaller/.UninstallerActivity: +682ms
    I/ActivityManager(318894300): START u0 {act=android.intent.action.VIEW cmp=com.android.packageinstaller/.UninstallAppProgress (has extras)} from pid 320266464
    I/QNXNavigatorClient(318894300): PackagesOpenedRunnable: [com.android.packageinstaller]
    I/ActivityManager(318894300): Displayed com.android.packageinstaller/.UninstallAppProgress: +221ms
    
    Analysis: PackageManager attempting to close com.blub and remove the files
    I/ActivityManager(318894300): Force stopping package com.blub appid=12023 user=-1
    
    Analysis: PackageManager fails to remove applibrary directory
    W/PackageManager(318894300): Couldn't delete native library directory /data/app-lib/com.blub
    
    Analysis: PackageManager crashing
    W/dalvikvm(318894300): threadid=21: thread exiting with uncaught exception (group=18241970)
    E/AndroidRuntime(318894300): *** FATAL EXCEPTION IN SYSTEM PROCESS: PackageManager
    E/AndroidRuntime(318894300): java.lang.NullPointerException
    
    Analysis: KeyStore is involved
    E/AndroidRuntime(318894300):    at android.security.KeyStore.clearUid(KeyStore.java:305)
    E/AndroidRuntime(318894300):    at com.android.server.pm.PackageManagerService.removeKeystoreDataIfNeeded(PackageManagerService.java:9721)
    
    E/AndroidRuntime(318894300):    at com.android.server.pm.PackageManagerService.removePackageDataLI(PackageManagerService.java:9324)
    E/AndroidRuntime(318894300):    at com.android.server.pm.PackageManagerService.deleteInstalledPackageLI(PackageManagerService.java:9429)
    E/AndroidRuntime(318894300):    at com.android.server.pm.PackageManagerService.deletePackageLI(PackageManagerService.java:9535)
    E/AndroidRuntime(318894300):    at com.android.server.pm.PackageManagerService.deletePackageX(PackageManagerService.java:9174)
    E/AndroidRuntime(318894300):    at com.android.server.pm.PackageManagerService.access$3700(PackageManagerService.java:178)
    E/AndroidRuntime(318894300):    at com.android.server.pm.PackageManagerService$7.run(PackageManagerService.java:9108)
    E/AndroidRuntime(318894300):    at android.os.Handler.handleCallback(Handler.java:730)
    E/AndroidRuntime(318894300):    at android.os.Handler.dispatchMessage(Handler.java:92)
    E/AndroidRuntime(318894300):    at android.os.Looper.loop(Looper.java:137)
    E/AndroidRuntime(318894300):    at android.os.HandlerThread.run(HandlerThread.java:61)
    I/Process (318894300): Sending signal. PID: 318894300 SIG: 9
    
    Analysis: Android Runtime completely crashing
    W/Lowmemorykiller(318496900): system server is killed, kill everything ...
    W/Lowmemorykiller(318496900): init is killed, kill everything ...
    E/PPSObject(319488037): Unexpected disconnect /pps/services/android/status?wait,delta,f=fullscreen+keyboardShown+keyboardSize
    As the log shows, a NullPointerException in PackageManager stops the uninstallation process before the files are removed, leaving the files in the runtime. Also we can see, that KeyStore somehow is involved. As the error message indicates, that it is a security related issue, I did some more research and tried to call the security settings of the Android runtime. These setting can be accessed with one of my tools, ie. Blackberry Google ID or Android Settings (Network Settings).

    With the Android runtime from 10.3.2.2813, the Security settings can be called as expected and without any error:

    1. Run cobalt-MobileNetwork app (link is at top of post)
    2. Hit "More Android Settings"
    3. Go to Security and try to open the dialog

    Normally, this will display the Security settings of the Android runtime, as shown below:

    OS 10.3.2.2876 Android Runtime analysis-img_20160113_184512.png

    On OS 10.3.2.2876, the security dialog can not be opened. The dialog immediately crashes with the log entries shown below. Again we have a NullPointerException and again KeyStore is involved.

    Code:
    I/ActivityManager(295309362): START u0 {act=android.intent.action.MAIN cmp=com.android.settings/.SubSettings (has extras)} from pid 300650750
    W/dalvikvm(300650750): threadid=1: thread exiting with uncaught exception (group=112ba970)
    E/AndroidRuntime(300650750): FATAL EXCEPTION: main
    E/AndroidRuntime(300650750): java.lang.RuntimeException: Unable to resume activity {com.android.settings/com.android.settings.SubSettings}: java.lang.NullPointerException
    E/AndroidRuntime(300650750):    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2790)
    E/AndroidRuntime(300650750):    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2819)
    E/AndroidRuntime(300650750):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2266)
    E/AndroidRuntime(300650750):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
    E/AndroidRuntime(300650750):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
    E/AndroidRuntime(300650750):    at android.os.Handler.dispatchMessage(Handler.java:99)
    E/AndroidRuntime(300650750):    at android.os.Looper.loop(Looper.java:137)
    E/AndroidRuntime(300650750):    at android.app.ActivityThread.main(ActivityThread.java:5121)
    E/AndroidRuntime(300650750):    at java.lang.reflect.Method.invokeNative(Native Method)
    E/AndroidRuntime(300650750):    at java.lang.reflect.Method.invoke(Method.java:525)
    E/AndroidRuntime(300650750):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
    E/AndroidRuntime(300650750):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
    E/AndroidRuntime(300650750):    at dalvik.system.NativeStart.main(Native Method)
    E/AndroidRuntime(300650750): Caused by: java.lang.NullPointerException
    E/AndroidRuntime(300650750):    at android.security.KeyStore.isHardwareBacked(KeyStore.java:296)
    E/AndroidRuntime(300650750):    at com.android.settings.SecuritySettings.createPreferenceHierarchy(SecuritySettings.java:249)
    E/AndroidRuntime(300650750):    at com.android.settings.SecuritySettings.onResume(SecuritySettings.java:448)
    E/AndroidRuntime(300650750):    at android.app.Fragment.performResume(Fragment.java:1738)
    E/AndroidRuntime(300650750):    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:919)
    E/AndroidRuntime(300650750):    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1057)
    E/AndroidRuntime(300650750):    at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1039)
    E/AndroidRuntime(300650750):    at android.app.FragmentManagerImpl.dispatchResume(FragmentManager.java:1850)
    E/AndroidRuntime(300650750):    at android.app.Activity.performResume(Activity.java:5297)
    E/AndroidRuntime(300650750):    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2780)
    E/AndroidRuntime(300650750):    ... 12 more
    W/ActivityManager(295309362):   Force finishing activity com.android.settings/.SubSettings
    W/ActivityManager(295309362):   Force finishing activity com.android.settings/.Settings
    W/ActivityManager(295309362): Activity pause timeout for ActivityRecord{155b7038 u0 com.android.settings/.SubSettings}
    W/ActivityManager(295309362): Activity destroy timeout for ActivityRecord{15591798 u0 com.android.settings/.Settings}
    W/ActivityManager(295309362): Activity destroy timeout for ActivityRecord{155b7038 u0 com.android.settings/.SubSettings}
    CONCLUSION
    From this analysis, I must assume that it must be some kind of security issue that prevents Android apps from being uninstalled. Maybe Blackberry tightened security in the runtime, producing unwanted/unforseen effects. Let's hope that Blackberry can fix this asap.

    QUICK FIX
    Community member Conite came up with the solution to revert the Android runtime back to the one from 2813. This will fix the issue and Android app will uninstall normally again. It is highly recommended to implement that quick fix and to turn OFF Auto update in Blackberry Software update until a final solution is available.

    1. Sideload the two files in this package with Sachesi:
    https://mega.nz/#!9JIhFIyJ!GYnFXMeLD...bjpSCZBeHP1ueQ

    2. Turn OFF Autoupdate in Blackberry Settings > Software Update

    BLACKBERRY TAKING ACTION
    Blackberry is now describing the issue in their knowledge base. Thanks to Deckard79 for raising the problem to Blackberry. The currently proposed workaround is to do a security wipe to uninstall Android apps. They also note, that reinstalling an Android application will reintroduce this issue.
    Unable to uninstall Android applications after updating to BlackBerry 10 OS version 10.3.2

    OS 10.3.2.2876 Android Runtime analysis-bug-report.png

    You are welcome to post more findings here.
    Last edited by Cobalt232; 01-23-16 at 06:14 AM.
    01-13-16 12:07 PM
  2. zocster's Avatar
    awesome work, as always ..
    01-13-16 12:11 PM
  3. dream-about-you's Avatar
    U rock dude

    Posted via CB10
    anon(9742832) likes this.
    01-13-16 12:21 PM
  4. hobgoblin1961's Avatar
    yes thanks for your in deep description on how to solve the Android drama.

    Glad I have non Android apps installed at all even the sys-android.shell-xxx.bar ist deleted of my device, so no way any Android app, not even the ports from bbw get a chance to run.

    Biggest mistake BlackBerry ever made was to introduce the ability to run Android apps with BB10 in the 1st place.

    wouldn't even drop a tear if BB would decide to take the A-RT out of the BB10 entirely the way they did with the BBM-Meetings app already.

    Posted via -Classic SQC100-1 / 10.3.++
    gfondeur, Mozdony, acovey and 1 others like this.
    01-13-16 12:22 PM
  5. Lostonline's Avatar
    ...BB would decide to take the A-RT out of the BB10 entirely...
    This is my dream. A BlackBerry phone without android crap.

    I do no use android software on my bb10, so no need for the A-RT. No need for it to exist, or drain my battery waiting to never be used.

    Now that the sheep-level consumers have their Priv (what a stupid, pretentious name imho) and can flappy bird their lives away, give us loyalists a true BlackBerry.

    One without 'droid turds.
    gfondeur, Mozdony, Q10Bold and 3 others like this.
    01-13-16 12:45 PM
  6. conite's Avatar
    Cobalt, that's a great analysis btw!

    For those unfamiliar with Sachesi, this may help:

    1) download from here:
    https://github.com/xsacha/Sachesi/releases

    2) install on your computer

    3) run Sachesi

    4) plug in your device, and wait for connection

    5) unzip the two old Runtime bars linked to in the OP

    6) Unclick "only install newer apps" in Sachesi

    7 ) drag both bar files into Sachesi

    8 ) once complete, reboot device

    Don't forget to turn off auto-updates so the 2876 Runtime does not get put right back on.
    Last edited by conite; 01-21-16 at 08:15 PM.
    01-13-16 12:56 PM
  7. hobgoblin1961's Avatar
    there is one more issue with Android app's...

    well in the beginning of BB OS10 (three years ago) the A-RT was only there to be able to run Android-PORTS made available in BBW as a work around and to extend the amount of app's for the new OS.
    So any Android APK that is installed via SNAP or any other source not supported by BB, is simply not under the responsibility of BlackBerry but by the user who trying to play around with the capabilities of the system to actual install such app's no need to blame BB now for not supporting proper uninstall of non-supported app's .
    Well ok as far it gets to Amazon app installed crap... yeah ok BB made a big mistake as I mentioned before.

    Posted via -Classic SQC100-1 / 10.3.++
    gfondeur and Mozdony like this.
    01-13-16 12:59 PM
  8. hobgoblin1961's Avatar
    Cobalt, that's a great analysis btw!

    For those unfamiliar with Sachesi, this may help:
    1) download from here:
    https://github.com/xsacha/Sachesi/releases
    2) install on your computer
    3) run Sachesi
    4) plug in your device, and wait for connection
    5) unzip the two old Runtime bars linked to in the OP
    6) Unclick "only install newer apps" in Sachesi
    7 ) drag both bar files into Sachesi
    8 ) once complete, reboot device
    thanks for the rescue HowTo for the unaware trapped newbies...
    one of the rare helpful attempted, again thanks for that, hopefully your post will help...

    Posted via -Classic SQC100-1 / 10.3.++
    Ursus Rufus likes this.
    01-13-16 01:15 PM
  9. Ginowine's Avatar
    Okay I'll do it.

    Posted via CB10
    01-13-16 01:23 PM
  10. quizm's Avatar
    We really value your work. Thank you. I hope BlackBerry responds quickly.

    Posted via CB10
    jafrul likes this.
    01-13-16 01:24 PM
  11. cathulu15's Avatar
    Cobalt and Conite thank you!!! You guys are fantastic. You guys related to Conan?

    My fix is to not delete or update any Android apps until the fix is made. Maybe I will resort to Conite's solution if no fix is soon forthcoming.

     Passport SE 
    Ursus Rufus likes this.
    01-13-16 02:21 PM
  12. Mozdony's Avatar
    THE OP is right on with this analysis. I would also add that the new Android Runtime seems to not fully support at least on of the Android apps that I had on my phone, to-wit, WeMo. The WeMo app no longer finds the lights that it is designed to turn on and off and, as stated by the OP, I was unable to delete that app after finding out that it was no longer usable. I ended up having to do a security wipe of the phone and a reload of the OS to get rid of the offending app. While I was at it, I decided to completely discontinue using Android apps. What I then found was a fantastic reduction in the amount of power that the phone uses in a resting state. I do not think I will ever go back to loading Android apps on my Z30. I did not use them very often anyway.
    01-13-16 03:11 PM
  13. jbestman's Avatar
    If you do not have a single Android app installed on your phone, why are you here? You don't need or like Android apps on your phone; that is fine, your prerogative. Some of us do. You believe allowing Android apps is the worst thing BB ever did, that is your opinion. Some of us, actually know how to manage both Android and BBOS native apps. Not an issue for us.
    Again, you have every right to not want Android apps on your phone. Just wondering, why are you here?
    RAMChYLD, d3rd, Mecca EL and 6 others like this.
    01-13-16 07:15 PM
  14. tollfeeder's Avatar
    If you do not have a single Android app installed on your phone, why are you here? You don't need or like Android apps on your phone; that is fine, your prerogative. Some of us do. You believe allowing Android apps is the worst thing BB ever did, that is your opinion. Some of us, actually know how to manage both Android and BBOS native apps. Not an issue for us.
    Again, you have every right to not want Android apps on your phone. Just wondering, why are you here?
    Just chill man, just chill.

    Via Pasta CB10
    gfondeur, DaFoxGrey and wikison like this.
    01-13-16 07:20 PM
  15. bathu's Avatar
    I downloaded some games from snap after installing the games it's get downloading but it's not download. Always shows downloading error. Just now I installed two games(gun ship battle,mission impossible rogue nation) from snap it's also getting error message! I'm using snap and I didn't install stuffs like blackberry google I'd, google play services, play store.

    Thanks guys

    Posted via CB10
    01-13-16 09:10 PM
  16. zocster's Avatar
    I downloaded some games from snap after installing the games it's get downloading but it's not download. Always shows downloading error. Just now I installed two games(gun ship battle,mission impossible rogue nation) from snap it's also getting error message! I'm using snap and I didn't install stuffs like blackberry google I'd, google play services, play store.

    Thanks guys

    Posted via CB10
    Merged with the thread discussing it.
    01-13-16 09:25 PM
  17. ljohnson17's Avatar
    Which Sachresi verison should I pick to download on my PC
    01-13-16 09:38 PM
  18. conite's Avatar
    Which Sachresi verison should I pick to download on my PC
    One says OSX, one says Linux, and the other says Windows. I'm not sure what the confusion might be.
    gfondeur, dev3011 and thedose like this.
    01-13-16 10:22 PM
  19. irsan's Avatar
    My problem is solved...thahks alot
    01-13-16 10:55 PM
  20. Superdupont 2_0's Avatar
    Instead of a downgrade, is it also possible to remove the Android runtime completely?

    For most people probably a bad idea, when you think of the Kindle or Skype, but for a few like me perhaps interesting.

    Posted via CB10
    gfondeur likes this.
    01-13-16 10:59 PM
  21. bathu's Avatar
    I downloaded some games from snap after installing the games it's get downloading but it's not download. Always shows downloading error. Just now I installed two games(gun ship battle,mission impossible rogue nation) from snap it's also getting error message! I'm using snap and I didn't install stuffs like blackberry google I'd, google play services, play store.

    Thanks guys

    Posted via CB10
    01-13-16 11:27 PM
  22. Blackberry7290's Avatar
    My z10 crashed after trying to uninstall an android app, after reboot no android app opens anymore.. normally I receive my new PP SE, wil kot do the update untill solution. For the z10 I will try the quick fix this afternoon. Thanks Cobalt and conine for all your hard work!

    Posted via CB10
    01-14-16 12:35 AM
  23. mihai92_mvp's Avatar
    Thanks alot Cobalt and Conite for the info about this update and how to solve this temporary problem.
    *UPDATE: so I sideloaded the 2 android.bar files to downgrade me back. After that I disable autoupdate from the OS but the phone found me another update of 85MO, my question now is this update is actualy the replace of the corect android.bar files with the other buggy android.bar files?
    Attachment 387712
    Attachment 387713
    Last edited by mihai92_mvp; 01-14-16 at 01:35 AM.
    01-14-16 01:19 AM
  24. Narhim's Avatar
    The 85mb update is the android runtime. Just ignore it until BlackBerry provides a global release of a fix...


    Posted via CB10
    01-14-16 01:36 AM
  25. mihai92_mvp's Avatar
    Thank you for the info.
    cbprkbyn likes this.
    01-14-16 01:48 AM
892 123 ...

Similar Threads

  1. Android Voice Dialer
    By ryengjoe in forum BlackBerry Priv
    Replies: 5
    Last Post: 03-01-16, 09:21 AM
  2. How Can I Root My Android Player?
    By the_radeon in forum More for your BlackBerry 10 Phone!
    Replies: 6
    Last Post: 01-16-16, 11:57 PM
  3. 10.3.2.2836 problem
    By yuezaifengxiao in forum BlackBerry Q10
    Replies: 3
    Last Post: 01-14-16, 12:34 AM
  4. Android Player and Battery Life
    By waxler900 in forum BlackBerry Passport
    Replies: 2
    Last Post: 01-13-16, 12:13 PM
LINK TO POST COPIED TO CLIPBOARD