Bixby porting - Samsung Galaxy J7 Questions & Answers

Hi I'm new on xda. I'm trying to port s8 bixby feature on android marshmallow but bixby stills crash because of this error
06-07 18:24:26.769 24112 24112 E AndroidRuntime: Process: com.samsung.android.app.spage, PID: 24112
06-07 18:24:26.769 24112 24112 E AndroidRuntime: java.lang.RuntimeException: Unable to instantiate application com.samsung.android.app.spage.SPageApplication: java.lang.ClassNotFoundException: Didn't find class "com.samsung.android.app.spage.SPageApplication" on path: DexPathList[[zip file "/data/app/com.samsung.android.app.spage-1/base.apk"],nativeLibraryDirectories=[/data/app/com.samsung.android.app.spage-1/lib/arm, /vendor/lib, /system/lib]]
06-07 18:24:26.769 24112 24112 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.samsung.android.app.spage.SPageApplication" on path: DexPathList[[zip file "/data/app/com.samsung.android.app.spage-1/base.apk"],nativeLibraryDirectories=[/data/app/com.samsung.android.app.spage-1/lib/arm, /vendor/lib, /system/lib]]
06-07 18:24:26.769 24112 24112 E AndroidRuntime: Suppressed: java.lang.ClassNotFoundException: com.samsung.android.app.spage.SPageApplication
Can you help me please?
Thank you

Good bro keep trying

Related

[Q] Market FC after system restore

When I got the Nexus S (9023) I went to root it, put on Clockwork recovery and immediately made a backup. Meanwhile I played with different custom roms and today I went back to the original backup. All seems fine but the market does not work
Any idea what happened and how to get it back?
Code:
--------- beginning of /dev/log/system
05-27 06:23:11.792 2322 2322 E AndroidRuntime: FATAL EXCEPTION: main
05-27 06:23:11.792 2322 2322 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.vending/com.android.vending.TosActivity}: java.lang.NullPointerException
05-27 06:23:11.792 2322 2322 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
05-27 06:23:11.792 2322 2322 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
05-27 06:23:11.792 2322 2322 E AndroidRuntime: at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-27 06:23:11.792 2322 2322 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
05-27 06:23:11.792 2322 2322 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
05-27 06:23:11.792 2322 2322 E AndroidRuntime: at android.os.Looper.loop(Looper.java:130)
05-27 06:23:11.792 2322 2322 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:3683)
05-27 06:23:11.792 2322 2322 E AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
05-27 06:23:11.792 2322 2322 E AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:507)
05-27 06:23:11.792 2322 2322 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-27 06:23:11.792 2322 2322 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-27 06:23:11.792 2322 2322 E AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
05-27 06:23:11.792 2322 2322 E AndroidRuntime: Caused by: java.lang.NullPointerException
05-27 06:23:11.792 2322 2322 E AndroidRuntime: at com.android.vending.TosActivity.onCreate(TosActivity.java:47)
05-27 06:23:11.792 2322 2322 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-27 06:23:11.792 2322 2322 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
05-27 06:23:11.792 2322 2322 E AndroidRuntime: ... 11 more
05-27 06:23:11.796 106 1905 W ActivityManager: Force finishing activity com.android.vending/.TosActivity
05-27 06:23:11.800 106 1905 W ActivityManager: Force finishing activity com.android.vending/.AssetBrowserActivity
05-27 06:23:12.300 106 119 W ActivityManager: Activity pause timeout for HistoryRecord{40875c60 com.android.vending/.TosActivity}
I had a similar problem today after restoring just "system". Doing a Full restore resolved it.
Phew! got it solved without going the wipe-and-reinstall route. Pushing a current vendor.apk on the phone did not help but then I figured that the latest (CM7) gapps package also has a vendor.apk and this is not the very latest version. So I installed this through adb and this indeed downgraded the market and it could be started again!
Problem solved. Althoug I'm still curious what might have cause the broken market in the backup

[Q&A] [ROM][PORT][D2303][4.4.4]Pac-Man-Final Release[Fully Working]

Q&A for [ROM][PORT][D2303][4.4.4]Pac-Man-Final Release[Fully Working]
Some developers prefer that questions remain separate from their main development thread to help keep things organized. Placing your question within this thread will increase its chances of being answered by a member of the community or by the developer.
Before posting, please use the forum search and read through the discussion thread for [ROM][PORT][D2303][4.4.4]Pac-Man-Final Release[Fully Working]. If you can't find an answer, post it here, being sure to give as much information as possible (firmware version, steps to reproduce, logcat if available) so that you can get help.
Thanks for understanding and for helping to keep XDA neat and tidy!
AssoDiPicche said:
The ROM is ready, but not work:Torch and Random reboots.
Sent from my Xperia M2 LTE using XDA Free mobile app
Click to expand...
Click to collapse
link please? work in D2306?
The ROM is ready, i upload in this week, yes work on D2306, (the dual sim works!!)
Sent from my Xperia M2 LTE using XDA Free mobile app
Wont rotate
Hi, mi xperia m2 d2306 wont rotate display
Any ideas why?
Thanks
---------- Post added at 06:09 AM ---------- Previous post was at 05:22 AM ----------
Mi xperia m2 2306 wont rotate display
any ideas?
Thanks
Hey just tested all roms on my D2403 here, first Pac doesn't work. After installing FIUI my recovery changed and I just tried flashing Pac again.
It works, after starting it said com.android.phone and pacconsole stopped but i can call. Camera doesn't work too.
i would like to see everything working on my phone.
my error log
Code:
E/tadif ( 193): Failed to connect to tad.
E/bs_updatemiscta( 277): Read "ro.semc.version.sw": -> ERROR
E/bs_updatemiscta( 277): Read "ro.semc.version.sw_revision": -> ERROR
E/bs_updatemiscta( 277): Read "ro.semc.version.sw_variant": -> ERROR
E/bs_updatemiscta( 277): Read "ro.semc.version.sw_type": -> ERROR
E/bs_updatemiscta( 277): Step Reading version properties information -> ERROR
E/bs_updatemiscta( 277): update_ta_sw_version: SpaceId string length error
E/bs_updatemiscta( 277): Update SW_VERSION information -> ERROR
E/bs_updatemiscta( 277): Read "ro.semc.version.fs": -> ERROR
E/bs_updatemiscta( 277): Read "ro.semc.product.model": -> ERROR
E/bs_updatemiscta( 277): UpdateMiscTa ended with error -> ERROR
E/PackageParser( 707): Package com.cyanogenmod.services has no certificates at entry AndroidManifest.xml; ignoring!
E/EventHub( 707): could not get driver version for /dev/input/mice, Not a typewriter
E/MobileDataStateTracker( 707): default: Ignoring feature request because could not acquire PhoneService
E/MobileDataStateTracker( 707): default: Could not enable APN type "default"
E/DisplayPowerController( 707): *** Keyguard started
E/QCOM PowerHAL( 707): Invalid hint ID.
E/OMXMaster( 262): A component of name 'OMX.qcom.audio.decoder.aac' already exists, ignoring this one.
E/WifiConfigStore( 707): Error parsing configurationjava.io.FileNotFoundException: /data/misc/wifi/ipconfig.txt: open failed: ENOENT (No such file or directory)
E/SELinux ( 1027): SELinux: Loaded file_contexts from /file_contexts
E/SELinux ( 1027): SELinux: Could not open /data/system/packages.list: Permission denied.
E/MediaFocusControl( 707): Error updating focussed RCC to RCD
E/MediaFocusControl( 707): java.util.EmptyStackException
E/MediaFocusControl( 707): at java.util.Stack.peek(Stack.java:57)
E/MediaFocusControl( 707): at android.media.MediaFocusControl.registerRemoteControlDisplay_int(MediaFocusControl.java:2238)
E/MediaFocusControl( 707): at android.media.MediaFocusControl.registerRemoteController(MediaFocusControl.java:217)
E/MediaFocusControl( 707): at android.media.AudioService.registerRemoteController(AudioService.java:4574)
E/MediaFocusControl( 707): at android.media.IAudioService$Stub.onTransact(IAudioService.java:625)
E/MediaFocusControl( 707): at android.os.Binder.execTransact(Binder.java:404)
E/MediaFocusControl( 707): at dalvik.system.NativeStart.run(Native Method)
E/ ( 707): W/open failed: /dev/mdm: No such file or directory
E/LocSvc_afw( 707): W/get_extension: Invalid interface passed in
E/VoldConnector( 707): NDC Command {3 volume mount /storage/sdcard1} took too long (1280ms)
E/LocationManagerService( 707): no fused location provider found
E/LocationManagerService( 707): java.lang.IllegalStateException: Location service needs a fused location provider
E/LocationManagerService( 707): at com.android.server.LocationManagerService.loadProvidersLocked(LocationManagerService.java:420)
E/LocationManagerService( 707): at com.android.server.LocationManagerService.systemRunning(LocationManagerService.java:250)
E/LocationManagerService( 707): at com.android.server.ServerThread$2.run(SystemServer.java:1204)
E/LocationManagerService( 707): at com.android.server.am.ActivityManagerService.systemReady(ActivityManagerService.java:9554)
E/LocationManagerService( 707): at com.android.server.ServerThread.initAndLoop(SystemServer.java:1111)
E/LocationManagerService( 707): at com.android.server.SystemServer.main(SystemServer.java:1386)
E/LocationManagerService( 707): at java.lang.reflect.Method.invokeNative(Native Method)
E/LocationManagerService( 707): at java.lang.reflect.Method.invoke(Method.java:515)
E/LocationManagerService( 707): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
E/LocationManagerService( 707): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
E/LocationManagerService( 707): at dalvik.system.NativeStart.main(Native Method)
E/LocationManagerService( 707): no geocoder provider found
E/LocSvc_flp( 707): I/===> const FlpLocationInterface* get_flp_interface() line 63
E/ ( 707): W/open failed: /dev/mdm: No such file or directory
E/ ( 707): W/open failed: /dev/mdm: No such file or directory
E/LocSvc_api_v02( 707): I/locClientOpen:2189]: Service instance id is -1
E/LocSvc_api_v02( 707): I/---> locClientOpenInstance line 2073 loc client open
E/LocationManagerService( 707): No FusedProvider found.
E/LocationManagerService( 707): no geofence provider found
E/PackageManager( 707): Unable to find icon pack: holo
E/LocSvc_api_v02( 707): I/---> locClientSendReq line 2333 QMI_LOC_REG_EVENTS_REQ_V02
E/LocSvc_IzatApiV02( 707): I/===> virtual bool izat_core::IzatApiV02::getBatchingSupport() line 426
E/LocSvc_api_v02( 707): I/---> locClientSupportMsgCheck line 2433 QMI_LOC_GET_SUPPORTED_MSGS_REQ_V02
E/ActivityThread( 1169): Failed to find provider info for com.android.launcher2.settings
E/NfcAdaptation( 1136): NfcAdaptation::Initialize: ver=NFCDROID_MI_422.10.0.15 nfa=NFA_MI_1.03.62+
E/BluetoothSap( 1071): Could not bind to Bluetooth Sap Service with Intent { act=android.bluetooth.IBluetoothSap }
E/NxpFwDnld( 1136): Freeing Mem for Dnld Context..
E/BrcmNfcNfa( 1136): reset notification nfc_state : #### 1
E/BrcmNfcNfa( 1136): reset notification sending core init
E/BrcmNfcNfa( 1136): UICC[0x0] is not activated
E/BrcmNfcNfa( 1136): UICC[0x0] is not activated
E/BrcmNfcJni( 1136): nfcManager_doDeselectSecureElement: already deselected
E/BluetoothPhoneService( 1115): Could not get a handle on Connection object for the call
E/wpa_supplicant( 1043): wpa_driver_nl80211_driver_cmd: failed to issue private commands
E/WifiStateMachine( 707): Unexpected BatchedScanResults :null
E/wpa_supplicant( 1043): wpa_driver_nl80211_driver_cmd: failed to issue private commands
E/FileUtils( 1071): Could not write to file /sys/devices/virtual/input/lge_touch/touch_gesture
E/FileUtils( 1071): java.io.FileNotFoundException: /sys/devices/virtual/input/lge_touch/touch_gesture: open failed: ENOENT (No such file or directory)
E/FileUtils( 1071): at libcore.io.IoBridge.open(IoBridge.java:409)
E/FileUtils( 1071): at java.io.FileOutputStream.<init>(FileOutputStream.java:88)
E/FileUtils( 1071): at java.io.FileOutputStream.<init>(FileOutputStream.java:128)
E/FileUtils( 1071): at java.io.FileOutputStream.<init>(FileOutputStream.java:117)
E/FileUtils( 1071): at org.cyanogenmod.hardware.util.FileUtils.writeLine(FileUtils.java:65)
E/FileUtils( 1071): at org.cyanogenmod.hardware.TapToWake.setEnabled(TapToWake.java:36)
E/FileUtils( 1071): at com.android.settings.DisplaySettings.restore(DisplaySettings.java:668)
E/FileUtils( 1071): at com.android.settings.cyanogenmod.BootReceiver.onReceive(BootReceiver.java:79)
E/FileUtils( 1071): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2450)
E/FileUtils( 1071): at android.app.ActivityThread.access$1700(ActivityThread.java:144)
E/FileUtils( 1071): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
E/FileUtils( 1071): at android.os.Handler.dispatchMessage(Handler.java:102)
E/FileUtils( 1071): at android.os.Looper.loop(Looper.java:136)
E/FileUtils( 1071): at android.app.ActivityThread.main(ActivityThread.java:5146)
E/FileUtils( 1071): at java.lang.reflect.Method.invokeNative(Native Method)
E/FileUtils( 1071): at java.lang.reflect.Method.invoke(Method.java:515)
E/FileUtils( 1071): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
E/FileUtils( 1071): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
E/FileUtils( 1071): at dalvik.system.NativeStart.main(Native Method)
E/FileUtils( 1071): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
E/FileUtils( 1071): at libcore.io.Posix.open(Native Method)
E/FileUtils( 1071): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
E/FileUtils( 1071): at libcore.io.IoBridge.open(IoBridge.java:393)
E/FileUtils( 1071): ... 18 more
E/DisplaySettings( 1071): Failed to restore tap-to-wake settings.
E/MediaFocusControl( 707): Error updating focussed RCC to RCD
E/MediaFocusControl( 707): java.util.EmptyStackException
E/MediaFocusControl( 707): at java.util.Stack.peek(Stack.java:57)
E/MediaFocusControl( 707): at android.media.MediaFocusControl.registerRemoteControlDisplay_int(MediaFocusControl.java:2238)
E/MediaFocusControl( 707): at android.media.MediaFocusControl.registerRemoteControlDisplay(MediaFocusControl.java:230)
E/MediaFocusControl( 707): at android.media.AudioService.registerRemoteControlDisplay(AudioService.java:4578)
E/MediaFocusControl( 707): at android.media.IAudioService$Stub.onTransact(IAudioService.java:604)
E/MediaFocusControl( 707): at android.os.Binder.execTransact(Binder.java:404)
E/MediaFocusControl( 707): at dalvik.system.NativeStart.run(Native Method)
E/AndroidRuntime( 1115): FATAL EXCEPTION: main
E/AndroidRuntime( 1115): Process: com.android.phone, PID: 1115
E/AndroidRuntime( 1115): java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
E/AndroidRuntime( 1115): at com.android.internal.telephony.cdma.CdmaSubscriptionSourceManager.handleMessage(CdmaSubscriptionSourceManager.java:129)
E/AndroidRuntime( 1115): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 1115): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 1115): at android.app.ActivityThread.main(ActivityThread.java:5146)
E/AndroidRuntime( 1115): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1115): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 1115): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
E/AndroidRuntime( 1115): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
E/AndroidRuntime( 1115): at dalvik.system.NativeStart.main(Native Method)
E/QC-time-services( 304): Daemon:tod_update_ind_cb: Got Update from modem msg_id 39
E/ConnectivityService( 707): Can't set delayed ACK size:java.io.FileNotFoundException: /sys/kernel/ipv4/tcp_use_userconfig: open failed: ENOENT (No such file or directory)
E/ConnectivityService( 707): Can't set delayed ACK size:java.io.FileNotFoundException: /sys/kernel/ipv4/tcp_delack_seg: open failed: ENOENT (No such file or directory)
E/ConnectivityService( 707): Unexpected mtu value: [email protected]
E/ConnectivityService( 707): Can't set delayed ACK size:java.io.FileNotFoundException: /sys/kernel/ipv4/tcp_use_userconfig: open failed: ENOENT (No such file or directory)
E/ConnectivityService( 707): Can't set delayed ACK size:java.io.FileNotFoundException: /sys/kernel/ipv4/tcp_delack_seg: open failed: ENOENT (No such file or directory)
E/ConnectivityService( 707): Unexpected mtu value: [email protected]
E/WiredAccessoryManager( 707): No state change.
E/BluetoothPhoneService( 1625): Could not get a handle on Connection object for the call
E/TelephonyProvider( 1625): Failed setting numeric 'null' to the current operator
E/Nat464Xlat( 707): stopClat: already stopped
E/QC-time-services( 304): Daemon:Update to modem bit set
E/QC-time-services( 707): Receive Passed == base = 2, unit = 1, operation = 0, result = 0
E/QC-time-services( 304): Daemon:tod_update_ind_cb: Got Update from modem msg_id 40
E/QC-time-services( 304): Daemon: Time-services: Waiting to acceptconnection
E/LocSvc_eng( 707): I/===> int loc_eng_inject_time(loc_eng_data_s_type&, GpsUtcTime, int64_t, int) line 1839
E/LocSvc_eng( 707): W/int loc_eng_inject_time(loc_eng_data_s_type&, GpsUtcTime, int64_t, int): log_eng state error: instance not initialized
E/QC-time-services( 304): Daemon:Update to modem bit set
E/QC-time-services( 2000): Receive Passed == base = 2, unit = 1, operation = 0, result = 0
E/QC-time-services( 304): Daemon:tod_update_ind_cb: Got Update from modem msg_id 40
E/QC-time-services( 304): Daemon: Time-services: Waiting to acceptconnection
E/AndroidRuntime( 2067): FATAL EXCEPTION: main
E/AndroidRuntime( 2067): Process: com.pac.console, PID: 2067
E/AndroidRuntime( 2067): java.lang.RuntimeException: Unable to start receiver android.pacstats.ReportingServiceManager: java.lang.NumberFormatException: Invalid long: ""
E/AndroidRuntime( 2067): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2457)
E/AndroidRuntime( 2067): at android.app.ActivityThread.access$1700(ActivityThread.java:144)
E/AndroidRuntime( 2067): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
E/AndroidRuntime( 2067): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 2067): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 2067): at android.app.ActivityThread.main(ActivityThread.java:5146)
E/AndroidRuntime( 2067): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 2067): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 2067): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
E/AndroidRuntime( 2067): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
E/AndroidRuntime( 2067): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 2067): Caused by: java.lang.NumberFormatException: Invalid long: ""
E/AndroidRuntime( 2067): at java.lang.Long.invalidLong(Long.java:124)
E/AndroidRuntime( 2067): at java.lang.Long.parseLong(Long.java:345)
E/AndroidRuntime( 2067): at java.lang.Long.parseLong(Long.java:318)
E/AndroidRuntime( 2067): at java.lang.Long.valueOf(Long.java:476)
E/AndroidRuntime( 2067): at android.pacstats.Utilities.getTimeFrame(Utilities.java:114)
E/AndroidRuntime( 2067): at android.pacstats.ReportingServiceManager.setAlarm(ReportingServiceManager.java:54)
E/AndroidRuntime( 2067): at android.pacstats.ReportingServiceManager.onReceive(ReportingServiceManager.java:41)
E/AndroidRuntime( 2067): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2450)
E/AndroidRuntime( 2067): ... 10 more
E/QC-time-services( 304): Daemon:Update to modem bit set
E/QC-time-services( 1625): Receive Passed == base = 2, unit = 1, operation = 0, result = 0
E/QC-time-services( 304): Daemon:tod_update_ind_cb: Got Update from modem msg_id 40
E/QC-time-services( 304): Daemon: Time-services: Waiting to acceptconnection
E/QC-time-services( 304): Daemon:Update to modem bit set
E/QC-time-services( 2000): Receive Passed == base = 2, unit = 1, operation = 0, result = 0
E/QC-time-services( 304): Daemon: Time-services: Waiting to acceptconnection
E/QC-time-services( 304): Daemon:tod_update_ind_cb: Got Update from modem msg_id 40
After further testing mobile data and Sensors arent working.
How flash?
I mean what recovery i have to use?
I'm on Jellybean 4.3
Device D2303
Unlocked BL
Recovery and final link
How can i enter recovery with this rom? I actually can't do that after installing this rom. And when will appear link to final version?
Recovery problem
I can't get in recovery. How can i do it?
Is it working on d2302..
Edit- ril does not work and the dual sim support as expected is missing.. Else everything is smooth.. Hope the developer will soon make it compatible for d2302
is this work for M2 D2305??
Hopefully not..
Mega Link
I was using this rom but now, I can not download because the link is not working. The rom has been deleted from Mega. So can you upload it to somewheres else? Please, I want this rom as you can't guess...
links
link for ROM is dead

[Guide][w/o Root] Bypass Google's Signature Check

Bypass Google's Signature Check​​mod any Google application on your own and bypass Google GMS' signature checks!​
Hello everyone,
After the Pixel Launcher Backport success, today I wanted to share a little bit more on how I bypassed Google's Signature Check, in order to get it working after modding and re-signing it with my own key. Please, do keep in mind that Google's signature checks have nothing to do with standard Android systems keychecking, as those just validate the package is using a valid signature. However, Google's signature check is based on GMS, the commonly named Google Play Services framework, and ensures the application hasn't been previously tampered. For now, this is something (as far as I could see) only present in Google's own apps, but I see it could easily extend to other apps in the future.
However, be warned that by doing the following, the app you're using will believe there's no Google Account linked to your device, and thus will ask you to add it. And even if you add it, it will still not work, since this breaks the link between GMS and the app that's being modded. Keep also in mind that it won't work with all apps providing this reason.
This thread will be composed of: a brief explanation on what's going on, what knowledge you need, what we will do, explained in a brief way (which will be the first post), and many, MANY examples I've prepared for you to understand it, as I've seen it's not enough with just two.
Code:
#include <std/disclaimer.h>
/* No, your warranty doesn't need to be voided!
* The following tutorial will be used exclusively for educational purposes.
* It shall never be used to modify legitimate apps in malicious ways,
* to distribute malware, spyware and such.
*
* The intention is to open the doors to small developers that want to
* theme or add functionality to other apps, but face the Google Signature
* Check problem. Feel free to add suggestions in the comments.
* Oh, and... Sorry Google :P
*/
What you will need:
Medium knowledge of Android's SMALI: Control structures, methods, classes... (basically Java, but ugly ), decompilation of applications, signing applications, etc.
A work environment: Java JDK, APKtool by @iBotPeaches or any other similar tool that supplies baksmali and smali functionality (you can use vanilla JesusFreke's tools too, if you really want to).
Knowledge of Android's logcat: You'll be working with stacktraces and apps giving FCs (Force close) during the tutorial, so you need to know how to find/grab, open, interpret them, and know how to locate something in them.
An application that presents the Google Signature Check crash when you try to open after tampering it. For example:
Code:
05-18 10:57:13.561 9540 9540 E AndroidRuntime: java.lang.SecurityException: Signature check failed for com.google.android.apps.nexuslauncher
05-18 10:57:13.561 9540 9540 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1620)
05-18 10:57:13.561 9540 9540 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1573)
05-18 10:57:13.561 9540 9540 E AndroidRuntime: at com.google.android.gms.common.internal.o.zza(Unknown Source)
05-18 10:57:13.561 9540 9540 E AndroidRuntime: at com.google.android.gms.common.internal.x.fs(Unknown Source)
05-18 10:57:13.561 9540 9540 E AndroidRuntime: at com.google.android.gms.internal.cy.yQ(Unknown Source)
05-18 10:57:13.561 9540 9540 E AndroidRuntime: at com.google.android.gms.internal.bQ.run(Unknown Source)
05-18 10:57:13.561 9540 9540 E AndroidRuntime: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
05-18 10:57:13.561 9540 9540 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
05-18 10:57:13.561 9540 9540 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
05-18 10:57:13.561 9540 9540 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
05-18 10:57:13.561 9540 9540 E AndroidRuntime: at com.google.android.gms.internal.bk.run(Unknown Source)
05-18 10:57:13.561 9540 9540 E AndroidRuntime: at java.lang.Thread.run(Thread.java:818)
05-18 10:57:13.562 2070 2952 W ActivityManager: Force finishing activity com.google.android.apps.nexuslauncher/.NexusLauncherActivity
A WERKIN BRAIN ECKSDEE Meeting the above, I'm sure you already had that.
What are the steps? (briefly explained):
Decompile the application, then tamper it by resigning it with our own key or by adding any modifications you need to it.
Grab a log of what went wrong. Read it and locate the first class after the readException errors. The submethod reference is the one we need to "destroy" in order to know what class is actually invoking the signature verification.
Destroy the method in a way that it's still compilable, but will refuse to work on our phone.
Recompile, sign, install and check the logs it throws. Go to the class/method that is referenced right after the class rejection error, edit it in a way that makes it not to check the signature of the package.
Restore the "destroyed" method to it's original state. Recompile, sign, push, test, test and test a trillion times. If it works, then feel free to publish it.
However, during these steps you can find different situations. For instance:
The classes appear in the root of the smali folder named alphabetically, instead of their respective folders. This happens in: Gmail, YouTube...
The first method (the one you needed to "destroy") that you located in the stacktrace is present in that class over a million times, so you need to check the previous classes in the stacktrace to see the full header of the method where it's actually calling. This happens in: Pixel Launcher, Android Messages...
Once the class is destroyed, the first method that appears in the stacktrace is a onServiceConnected, which is harder to mod than if there was any other before it. This happens in: Gmail, YouTube...
Classification of the thread's posts
2nd post: Pixel Launcher O-3743572
3rd post: Android Messages 2.2.075 (4023518-30.phone)
4th post: Gmail 7.5.7.156101332.release
5th post: YouTube 12.19.56
And a few last words before getting to the thing:
I ain't asking for donations, because I really don't need them this time. This is (one of) my hobby, and I don't mind spending time (endless hours) on making high quality threads and explanations. However, if you really feel like I deserve it, you're free to donate, here. (Or you can also leave Thanks!)
Pixel Launcher O-3743572​​
​
Tamper the app with a new signature and/or code modifications you need, preferably using latest Google's Framework, if possible. This will make the app crash (forced by Google Play Services).
Grab a logcat of the crash. It'll show a code similar to this.
Code:
05-18 22:23:14.104 13300 13300 E AndroidRuntime: java.lang.SecurityException: Signature check failed for com.google.android.apps.nexuslauncher
05-18 22:23:14.104 13300 13300 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1620)
05-18 22:23:14.104 13300 13300 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1573)
05-18 22:23:14.104 13300 13300 E AndroidRuntime: [B]at com.google.android.gms.common.internal.p.zza(Unknown Source)[/B]
05-18 22:23:14.104 13300 13300 E AndroidRuntime: [B]at com.google.android.gms.common.internal.y.eU(Unknown Source)[/B]
05-18 22:23:14.104 13300 13300 E AndroidRuntime: at com.google.android.gms.internal.cr.wV(Unknown Source)
05-18 22:23:14.104 13300 13300 E AndroidRuntime: at com.google.android.gms.internal.bO.run(Unknown Source)
05-18 22:23:14.104 13300 13300 E AndroidRuntime: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
05-18 22:23:14.104 13300 13300 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
05-18 22:23:14.104 13300 13300 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
05-18 22:23:14.104 13300 13300 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
05-18 22:23:14.104 13300 13300 E AndroidRuntime: at com.google.android.gms.internal.bj.run(Unknown Source)
05-18 22:23:14.104 13300 13300 E AndroidRuntime: at java.lang.Thread.run(Thread.java:818)
05-18 22:23:14.105 2070 3515 W ActivityManager: Force finishing activity com.google.android.apps.nexuslauncher/.NexusLauncherActivity
Pay attention to the first two lines that mention com.google.android.gms inside the stacktrace, as we will need to check them later. We need to check those two since the first one presents many references called zza.
Now, we are going to locate the part of the code we need to "destroy" in order to locate the class that calls those functions. This is needed because, as explained, there are many methods called the same way in our code, but with different headers. If the method only appeared once, like in Gmail example, we don't need to do this. But, since it does,
Navigate to the folder that contains the mentioned files. According to the stacktrace, the route should be something like smali/com/google/android/gms/common/internal. With an advanced text editor, like Atom, Notepad++, Kate, etc., open the file mentioned in the second line that contains com.google.android.gms inside the stacktrace. In this case, y.smali.
The part that goes after the last dot inside the stacktrace lines are called methods. Inside the file you've opened, try to search for the method that is referenced in the first line in the stacktrace that mentions com.google.android.gms, which in this case is "zza".
You'll see that, right after the method we've searched for, there is another class mentioned in it, between parenthesis (in fact, it's the header of the method we're trying to find). Copy everything until you see the semicolon that means the end of it. In this case looks like this
Code:
Lcom/google/android/gms/common/internal/zzt;Lcom/google/android/gms/common/internal/GetServiceRequest
Now open the file mentioned in the first line that contains com.google.android.gms inside the stacktrace, which in this case is p.smali.
Inside the file you've just opened, try to search for the method header that you just copied from the other class. There should appear 1 single result.
Once you're finally in this method, you have to "destroy" it. What I did was just changing a const/4 value I found in it from 0x0 to 0x1, and it was more than enough to make my phone reject the class (which is what we're looking for). In case there aren't any const/4 values, you can also cut and paste some portions of the code to a new text document and that will also make our phone reject the class (but, if you do so, please be careful not to lose them and remember the exact spot they were located, since we will need to put them back later).
Using Apktool, build the application, sign it and install it in your device. If Apktool rejects to build the code, try changing other parts as explained in the point above.
Grab a new logcat of the crash. It will look something like this.
Code:
05-18 22:38:13.749 13541 13541 E AndroidRuntime: java.lang.VerifyError: Rejecting class com.google.android.gms.common.internal.p because it failed compile-time verification (declaration of 'com.google.android.gms.common.internal.p' appears in /data/app/com.google.android.apps.nexuslauncher-1/base.apk)
05-18 22:38:13.749 13541 13541 E AndroidRuntime: at [B]com.google.android.gms.common.internal.zzu$zza.zzha[/B](Unknown Source)
05-18 22:38:13.749 13541 13541 E AndroidRuntime: at com.google.android.gms.common.internal.f.onServiceConnected(Unknown Source)
05-18 22:38:13.749 13541 13541 E AndroidRuntime: at com.google.android.gms.common.internal.A.onServiceConnected(Unknown Source)
05-18 22:38:13.749 13541 13541 E AndroidRuntime: at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1224)
05-18 22:38:13.749 13541 13541 E AndroidRuntime: at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1241)
05-18 22:38:13.749 13541 13541 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)
05-18 22:38:13.749 13541 13541 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
05-18 22:38:13.749 13541 13541 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
05-18 22:38:13.749 13541 13541 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5461)
05-18 22:38:13.749 13541 13541 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
05-18 22:38:13.749 13541 13541 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
05-18 22:38:13.749 13541 13541 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
05-18 22:38:13.751 2070 3026 W ActivityManager: Force finishing activity com.google.android.apps.nexuslauncher/.NexusLauncherActivity
Pay attention to the first line of the stacktrace that mentions com.google.android.gms. Thankfully, there was another class/method just before onServiceConnected, so we are lucky to edit it.
Navigate to the folder in which the file is located. In this case, it'll look something like smali/com/google/android/gms/common/internal. Now, open the file mentioned in the stacktrace, which in this case is zzu$zza.smali (as you can see in this example, it can contain a dollar symbol in it).
Find the method referenced in the stacktrace (which could be the first method in the entire class, or even the only one). In my case, it's "zzha".
Inside the method, there are conditional tags, that look something like :cond_X, where X is a number. Find the conditional tag that, right below it, has just a return-object v0, in case it exist. In my case it exists, and it's :cond_1. Inside the method, you will see that there are sentences like if-eqz and if-nez, which make the application jump inside to a :cond_X tag if a variable contains zero in the first case, of if it doesn't contain a zero, like in the second case. Find the if-eqz or if-nez sentence that involves jumping to the :cond_X tag you just located. In my case the line looks something like this
Code:
if-eqz p0, :cond_1
Now that the line is located, change the kind of operation it does. If it's doing a if-eqz like in my case, change it to a if-nez. If it's doing a if-nez, change it to if-eqz. This will make the application jump and exit the code
(As another solution, you can remove the entire method, and just leave the generation of const/4 v0, 0x0 and the return-object v0. I'm not sure if, at this point, it will reject the class or not, but it can also be a solution if the above doesn't work).
Undo the changes you did before you recompiled the code, so you need to go back to the class you "destroyed" and put it back just as it was before (if you didn't close the text editor before, you can always Control+Z it )
Recompile, sign and try if it works. I hope it does
The workspace with the changes made is attached as reference.
Android Messages 2.2.075 (4023518-30.phone)​​
​
If you didn't understand quite well the procedure for the Pixel Launcher, here's a similar one.
Tamper the app and grab a log as explained for the Pixel Launcher, above.
Code:
06-01 11:12:09.077 17538 17538 E AndroidRuntime: java.lang.SecurityException: Signature check failed for com.google.android.apps.messaging
06-01 11:12:09.077 17538 17538 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1620)
06-01 11:12:09.077 17538 17538 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1573)
06-01 11:12:09.077 17538 17538 E AndroidRuntime: at [B]com.google.android.gms.common.internal.zzv$zza$a.zza[/B](Unknown Source)
06-01 11:12:09.077 17538 17538 E AndroidRuntime: at [B]com.google.android.gms.common.internal.zzf.a[/B](Unknown Source)
06-01 11:12:09.077 17538 17538 E AndroidRuntime: at com.google.android.gms.internal.cn$c.a(Unknown Source)
06-01 11:12:09.077 17538 17538 E AndroidRuntime: at com.google.android.gms.internal.cn$f.run(Unknown Source)
06-01 11:12:09.077 17538 17538 E AndroidRuntime: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
06-01 11:12:09.077 17538 17538 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
06-01 11:12:09.077 17538 17538 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
06-01 11:12:09.077 17538 17538 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
06-01 11:12:09.077 17538 17538 E AndroidRuntime: at com.google.android.gms.internal.o.run(Unknown Source)
If you have a glance at the first class mentioned that contains com.google.android.gms in it's name, you will see, like in the Pixel launcher, the first class that appears in the stacktrace presents various methods named the same way, in this case there are only two but we have no idea which one is used, so we will find it via the second class mentioned in the stacktrace.
Just like for the Pixel Launcher, we are going to locate the method we need to destroy by using the second file that appears in the stacktrace.
Navigate to the folder that contains the mentioned files. According to the stacktrace, the route should be something like smali/com/google/android/gms/common/internal. With an advanced text editor, like Atom, Notepad++, Kate, etc., open the file mentioned in the second line that contains com.google.android.gms inside the stacktrace. In this case, zzf.smali.
The part that goes after the last dot inside the stacktrace lines are called methods. Inside the file you've opened, try to search for the method that is referenced in the first line in the stacktrace that mentions com.google.android.gms, which in this case is "zzv".
However, unlike in the Pixel Launcher example, there are many references to zzv in our class, so we need to find the ones that are calling to zza (if you remember, the class is called "zzv$zza$a", so we will take advantage of that).
Now, try to find the occurrence in the search that has in the same line both "zzv" and "zza". You'll see they are joined by a ";->", so to short things out, you can search for "zzv;->zza".
You'll see that, right after the method we've searched for, there is another class mentioned in it, between parenthesis (in fact, it's the header of the method we're trying to find). Copy everything until you see the semicolon that means the end of it. In this case looks like this
Code:
Lcom/google/android/gms/common/internal/zzu;Lcom/google/android/gms/common/internal/r
Now open the file mentioned in the first line that contains com.google.android.gms inside the stacktrace, which in this case is zzv$zza$a.smali.
Inside the file you've just opened, try to search for the method header that you just copied from the other class. There should appear 1 single result.
Once you're finally in this method, you have to "destroy" it. In this case, the file fqn.smali, method zza(Lcom/google/android/gms/common/internal/zzu;Lcom/google/android/gms/common/internal/r;). Since there aren't any const/4 values, you can also cut and paste some portions of the code to a new text document and that will also make our phone reject the class (but, if you do so, please be careful not to lose them and remember the exact spot they were located, since we will need to put them back later).
Using Apktool, build the application, sign it and install it in your device. If Apktool rejects to build the code, try changing other parts as explained in the point above.
Grab a new logcat of the crash. It will look something like this.
Code:
06-01 11:17:25.822 18229 18229 E AndroidRuntime: java.lang.VerifyError: Rejecting class com.google.android.gms.common.internal.zzv$zza$a because it failed compile-time verification (declaration of 'com.google.android.gms.common.internal.zzv$zza$a' appears in /data/app/com.google.android.apps.messaging-2/base.apk)
06-01 11:17:25.822 18229 18229 E AndroidRuntime: at [B]com.google.android.gms.common.internal.zzv$zza.zzdf[/B](Unknown Source)
06-01 11:17:25.822 18229 18229 E AndroidRuntime: at com.google.android.gms.common.internal.zzf$g.onServiceConnected(Unknown Source)
06-01 11:17:25.822 18229 18229 E AndroidRuntime: at com.google.android.gms.common.internal.w$b$a.onServiceConnected(Unknown Source)
06-01 11:17:25.822 18229 18229 E AndroidRuntime: at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1224)
06-01 11:17:25.822 18229 18229 E AndroidRuntime: at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1241)
06-01 11:17:25.822 18229 18229 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)
06-01 11:17:25.822 18229 18229 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
06-01 11:17:25.822 18229 18229 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
06-01 11:17:25.822 18229 18229 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5461)
06-01 11:17:25.822 18229 18229 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
06-01 11:17:25.822 18229 18229 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
06-01 11:17:25.822 18229 18229 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Pay attention to the first line of the stacktrace that mentions com.google.android.gms. Thankfully, and just like for the Pixel Launcher, there was another class/method just before onServiceConnected, so we are lucky to edit it. Rest of the steps proceed just as the Pixel Launcher.
Navigate to the folder in which the file is located. In this case, it'll look something like smali/com/google/android/gms/common/internal. Now, open the file mentioned in the stacktrace, which in this case is zzv$zza.smali.
Find the method referenced in the stacktrace (which could be the first method in the entire class, or even the only one). In my case, it's "zzdf".
Inside the method, there are conditional tags, that look something like :cond_X, where X is a number. Find the conditional tag that, right below it, has just a return-object v0, in case it exist. In my case it exists, and it's :cond_1. Inside the method, you will see that there are sentences like if-eqz and if-nez, which make the application jump inside to a :cond_X tag if a variable contains zero in the first case, of if it doesn't contain a zero, like in the second case. Find the if-eqz or if-nez sentence that involves jumping to the :cond_X tag you just located. In my case the line looks something like this
Code:
if-eqz p0, :cond_1
Now that the line is located, change the kind of operation it does. If it's doing a if-eqz like in my case, change it to a if-nez. If it's doing a if-nez, change it to if-eqz. This will make the application jump and exit the code
(As another solution, you can remove the entire method, and just leave the generation of const/4 v0, 0x0 and the return-object v0. I'm not sure if, at this point, it will reject the class or not, but it can also be a solution if the above doesn't work).
Undo the changes you did before you recompiled the code, so you need to go back to the class you "destroyed" and put it back just as it was before (if you didn't close the text editor before, you can always Control+Z it )
Recompile, sign and try if it works. I hope it does
The workspace with the changes made is attached as reference.
Gmail 7.5.7.156101332.release​​
​
The procedure was very similar to the Pixel Launcher one, but some small parts changed.
Keep in mind, you won't be able to log-in with your Google account, but you can still use it for IMAP/POP3, Exchange and ActiveSync accounts.
Tamper the app and grab a log as explained for the Pixel Launcher.
Code:
05-18 23:47:35.127 14275 14275 E AndroidRuntime: java.lang.SecurityException: Signature check failed for com.google.android.gm
05-18 23:47:35.127 14275 14275 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1620)
05-18 23:47:35.127 14275 14275 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1573)
05-18 23:47:35.127 14275 14275 E AndroidRuntime: at [B]fqn.a[/B](Unknown Source)
05-18 23:47:35.127 14275 14275 E AndroidRuntime: at fox.a(Unknown Source)
05-18 23:47:35.127 14275 14275 E AndroidRuntime: at gpd.a(Unknown Source)
05-18 23:47:35.127 14275 14275 E AndroidRuntime: at gph.run(Unknown Source)
05-18 23:47:35.127 14275 14275 E AndroidRuntime: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
05-18 23:47:35.127 14275 14275 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
05-18 23:47:35.127 14275 14275 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
05-18 23:47:35.127 14275 14275 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
05-18 23:47:35.127 14275 14275 E AndroidRuntime: at gah.run(Unknown Source)
05-18 23:47:35.127 14275 14275 E AndroidRuntime: at java.lang.Thread.run(Thread.java:818)
05-18 23:47:35.128 2070 2951 W ActivityManager: Force finishing activity com.google.android.gm/.welcome.SetupAddressesActivity
05-18 23:47:35.132 2070 2951 W ActivityManager: Force finishing activity com.google.android.gm/.welcome.WelcomeTourActivity
As you can see, the files are not in folders but left outside, in the root of the Smali folder, which probably happens due to a missing framework in Apktool. That however, won't affect the rest of the tutorial.
Since the very first file that appears in logcat's crash only contains 1 single method, we don't need to locate it like we did on the Pixel Launcher, so we can go to it directly.
Open the file mentioned in the stacktrace and then, "destroy" the method that is referenced in it. In this case, the file fqn.smali, method a. (This time, there was no const/4 to change but removing the two first invoke-static and move-result-object lines totally did the trick for me).
Recompile, sign and install. Grab a log and check the first line where it crashes.
Code:
05-18 23:49:59.857 14406 14406 E AndroidRuntime: java.lang.VerifyError: Rejecting class fqn because it failed compile-time verification (declaration of 'fqn' appears in /data/app/com.google.android.gm-1/base.apk)
05-18 23:49:59.857 14406 14406 E AndroidRuntime: at [B]fpf.onServiceConnected[/B](Unknown Source)
05-18 23:49:59.857 14406 14406 E AndroidRuntime: at fpz.onServiceConnected(Unknown Source)
05-18 23:49:59.857 14406 14406 E AndroidRuntime: at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1224)
05-18 23:49:59.857 14406 14406 E AndroidRuntime: at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1241)
05-18 23:49:59.857 14406 14406 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)
05-18 23:49:59.857 14406 14406 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
05-18 23:49:59.857 14406 14406 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
05-18 23:49:59.857 14406 14406 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5461)
05-18 23:49:59.857 14406 14406 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
05-18 23:49:59.857 14406 14406 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
05-18 23:49:59.857 14406 14406 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
As you can see, unfortunately there is no class preceding the onServiceConnected methods, like there was in the Pixel Launcher, so we need to edit them directly.
Open the first file mentioned in the stacktrace, and locate the onServiceConnected method.
Inside it, we need to find where it calls the class we "destroyed" before, which in this case is named "fqn".
Check the name of the conditional tag :cond_X that appears right above. In this case, it is under :cond_2.
Find all the if-eqz and if-nez sentences that do redirect to the :cond_X you've found, and invert them, from if-eqz to if-nez, and from if-nez to if-eqz.
If the class name appears several times, repeat this for all the conditional tags that contain it.
Undo the changes you did to the "destroyed" class (in this case, fqn.smali).
Recompile, sign and try if it works. I hope it does
The workspace with the changes made is attached as reference.
YouTube 12.19.56-1219563300​​
​
Another one, very similar to Gmail example above.
Keep in mind, you won't be able to log-in with your Google account, but you can still play back any videos you want.
Tamper the app and grab a log as explained for the Pixel Launcher.
Code:
06-01 10:56:51.180 16805 16805 E AndroidRuntime: java.lang.SecurityException: Signature check failed for com.google.android.youtube
06-01 10:56:51.180 16805 16805 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1620)
06-01 10:56:51.180 16805 16805 E AndroidRuntime: at android.os.Parcel.readException(Parcel.java:1573)
06-01 10:56:51.180 16805 16805 E AndroidRuntime: at [B]jsb.a[/B](Unknown Source)
06-01 10:56:51.180 16805 16805 E AndroidRuntime: at jqo.a(Unknown Source)
06-01 10:56:51.180 16805 16805 E AndroidRuntime: at kgs.a(Unknown Source)
06-01 10:56:51.180 16805 16805 E AndroidRuntime: at kgw.run(Unknown Source)
06-01 10:56:51.180 16805 16805 E AndroidRuntime: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
06-01 10:56:51.180 16805 16805 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
06-01 10:56:51.180 16805 16805 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
06-01 10:56:51.180 16805 16805 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
06-01 10:56:51.180 16805 16805 E AndroidRuntime: at kiu.run(Unknown Source)
06-01 10:56:51.180 16805 16805 E AndroidRuntime: at java.lang.Thread.run(Thread.java:818)
06-01 10:56:51.181 6035 6346 W ActivityManager: Force finishing activity com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity
As you can see, once again the files are not in folders but left outside, in the root of the Smali folder, which probably happens due to a missing framework in Apktool.
Since the very first file that appears in logcat's crash only contains 1 single method, we don't need to locate it like we did on the Pixel Launcher, so we can go to it directly.
Open the file mentioned in the stacktrace and then, "destroy" the method that is referenced in it. In this case, the file jsb.smali, method a. (Once again, there was no const/4 to change but removing the two first invoke-static and move-result-object lines totally did the trick for me).
Recompile, sign and install. Grab a log and check the first line where it crashes.
Code:
06-01 11:00:57.877 16985 16985 E AndroidRuntime: java.lang.VerifyError: Rejecting class jsb because it failed compile-time verification (declaration of 'jsb' appears in /data/app/com.google.android.youtube-2/base.apk)
06-01 11:00:57.877 16985 16985 E AndroidRuntime: at [B]jqw.onServiceConnected[/B](Unknown Source)
06-01 11:00:57.877 16985 16985 E AndroidRuntime: at jrq.onServiceConnected(Unknown Source)
06-01 11:00:57.877 16985 16985 E AndroidRuntime: at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1224)
06-01 11:00:57.877 16985 16985 E AndroidRuntime: at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1241)
06-01 11:00:57.877 16985 16985 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)
06-01 11:00:57.877 16985 16985 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
06-01 11:00:57.877 16985 16985 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
06-01 11:00:57.877 16985 16985 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5461)
06-01 11:00:57.877 16985 16985 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
06-01 11:00:57.877 16985 16985 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
06-01 11:00:57.877 16985 16985 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
06-01 11:00:57.878 6035 8017 W ActivityManager: Force finishing activity com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity
As you can see, once again there is no class preceding the onServiceConnected methods, like there was in the Pixel Launcher, so we need to edit them directly.
Open the first file mentioned in the stacktrace, "jqw.smali", and locate the onServiceConnected method.
Inside it, we need to find where it calls the class we "destroyed" before, which in this case is named "jsb".
Check the name of the conditional tag :cond_X that appears right above. In this case, it is under :cond_2.
Find all the if-eqz and if-nez sentences that do redirect to the :cond_X you've found, and invert them, from if-eqz to if-nez, and from if-nez to if-eqz.
If the class name appears several times, repeat this for all the conditional tags that contain it.
Undo the changes you did to the "destroyed" class (in this case, jsb.smali).
Recompile, sign and try if it works. I hope it does
The workspace with the changes made is attached here as reference.
After over a year, some people said they found my tutorial useful (up to today's APKs even) and that I should consider on leaving it opened for any kind of doubt or comment someone would like to say here. So I'll keep it opened.
Hello, do you have a solution to get around the waze signature?
Thank you

MIUI 12 keeps restarting

Hi Guys,
Friend asked me for help with his Mi10T Pro.
With no reason phone started to restart MIUI (12) after couple seconds (~10-15secs.) from turning it on.
I got home screen and suddenly it shows "5G MIUI" logo and launcher starts again.
Is there any way to recover the data? I tried using ADB pull - it lets me download around ~100 photos until connections drops.
Maybe there is a way to hold this restarts and let ADB to copy the data? I managed to collect some crash logs.
Any help will be much appreciated. Thx in advance!
09-08 10:49:05.937 1337 1337 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 1337 (init), pid 1337 (init)
09-08 10:49:06.006 1337 1337 F libc : crash_dump helper failed to exec
09-08 10:50:15.442 2041 3482 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: AsyncTask #2
09-08 10:50:15.442 2041 3482 E AndroidRuntime: android.util.proto.WireTypeMismatchException: Current wire type Fixed32 does not match expected wire type Length Delimited at offset 0x1
09-08 10:50:15.442 2041 3482 E AndroidRuntime: mFieldNumber : 0xc
09-08 10:50:15.442 2041 3482 E AndroidRuntime: mWireType : 0x5
09-08 10:50:15.442 2041 3482 E AndroidRuntime: mState : 0x1
09-08 10:50:15.442 2041 3482 E AndroidRuntime: mDiscardedBytes : 0x0
09-08 10:50:15.442 2041 3482 E AndroidRuntime: mOffset : 0x1
09-08 10:50:15.442 2041 3482 E AndroidRuntime: mExpectedObjectTokenStack : null
09-08 10:50:15.442 2041 3482 E AndroidRuntime: mDepth : 0xffffffff
09-08 10:50:15.442 2041 3482 E AndroidRuntime: mBuffer : [[email protected]
09-08 10:50:15.442 2041 3482 E AndroidRuntime: mBufferSize : 0x2000
09-08 10:50:15.442 2041 3482 E AndroidRuntime: mEnd : 0x665
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at android.util.proto.ProtoInputStream.assertWireType(ProtoInputStream.java:929)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at android.util.proto.ProtoInputStream.start(ProtoInputStream.java:494)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at com.android.server.usage.UsageStatsProto.loadCountAndTime(UsageStatsProto.java:157)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at com.android.server.usage.UsageStatsProto.read(UsageStatsProto.java:537)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.readLocked(UsageStatsDatabase.java:887)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.readLocked(UsageStatsDatabase.java:859)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.readLocked(UsageStatsDatabase.java:850)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.queryUsageStats(UsageStatsDatabase.java:659)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at com.android.server.usage.UserUsageStatsService.queryStats(UserUsageStatsService.java:350)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at com.android.server.usage.UserUsageStatsService.queryUsageStats(UserUsageStatsService.java:377)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at com.android.server.usage.UsageStatsService.queryUsageStats(UsageStatsService.java:631)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at com.android.server.usage.UsageStatsService$LocalService.queryUsageStatsForUser(UsageStatsService.java:1810)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at com.android.server.storage.CacheQuotaStrategy.getUnfulfilledRequests(CacheQuotaStrategy.java:178)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at com.android.server.storage.CacheQuotaStrategy.access$200(CacheQuotaStrategy.java:74)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at com.android.server.storage.CacheQuotaStrategy$1$1.run(CacheQuotaStrategy.java:136)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
09-08 10:50:15.442 2041 3482 E AndroidRuntime: at java.lang.Thread.run(Thread.java:919)
09-08 10:50:15.569 3227 3227 E AndroidRuntime: FATAL EXCEPTION: main
09-08 10:50:15.569 3227 3227 E AndroidRuntime: Process: com.google.android.gms.persistent, PID: 3227
09-08 10:50:15.569 3227 3227 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:50:15.569 4269 6891 E AndroidRuntime: FATAL EXCEPTION: [com.google.android.gms.chimera.GmsIntentOperationService$ChimeraService-Executor] idle
09-08 10:50:15.569 4269 6891 E AndroidRuntime: Process: com.google.android.gms, PID: 4269
09-08 10:50:15.569 4269 6891 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:50:15.575 4269 7662 E AndroidRuntime: FATAL EXCEPTION: [com.google.android.gms.chimera.GmsIntentOperationService$ChimeraService-Executor] idle
09-08 10:50:15.575 4269 7662 E AndroidRuntime: Process: com.google.android.gms, PID: 4269
09-08 10:50:15.575 4269 7662 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:50:15.587 4269 7765 E AndroidRuntime: FATAL EXCEPTION: [com.google.android.gms.chimera.GmsIntentOperationService$ChimeraService-Executor] idle
09-08 10:50:15.587 4269 7765 E AndroidRuntime: Process: com.google.android.gms, PID: 4269
09-08 10:50:15.587 4269 7765 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:50:15.591 4269 7566 E AndroidRuntime: FATAL EXCEPTION: [com.google.android.gms.chimera.GmsIntentOperationService$ChimeraService-Executor] idle
09-08 10:50:15.591 4269 7566 E AndroidRuntime: Process: com.google.android.gms, PID: 4269
09-08 10:50:15.591 4269 7566 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:50:15.604 2751 3175 E AndroidRuntime: FATAL EXCEPTION: ToggleManager
09-08 10:50:15.604 2751 3175 E AndroidRuntime: Process: com.android.systemui, PID: 2751
09-08 10:50:15.604 2751 3175 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:50:15.613 4313 7779 E AndroidRuntime: FATAL EXCEPTION: GoogleApiClient
09-08 10:50:15.613 4313 7779 E AndroidRuntime: Process: com.google.android.googlequicksearchbox:search, PID: 4313
09-08 10:50:15.613 4313 7779 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:50:15.621 3227 7684 E AndroidRuntime: FATAL EXCEPTION: lowpool[8]
09-08 10:50:15.621 3227 7684 E AndroidRuntime: Process: com.google.android.gms.persistent, PID: 3227
09-08 10:50:15.621 3227 7684 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:50:15.638 7442 7514 E AndroidRuntime: FATAL EXCEPTION: AsyncTask #2
09-08 10:50:15.638 7442 7514 E AndroidRuntime: Process: com.google.android.gm, PID: 7442
09-08 10:50:15.638 7442 7514 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:50:50.103 7956 9254 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: AsyncTask #2
09-08 10:50:50.103 7956 9254 E AndroidRuntime: android.util.proto.WireTypeMismatchException: Current wire type Fixed32 does not match expected wire type Length Delimited at offset 0x1
09-08 10:50:50.103 7956 9254 E AndroidRuntime: mFieldNumber : 0xc
09-08 10:50:50.103 7956 9254 E AndroidRuntime: mWireType : 0x5
09-08 10:50:50.103 7956 9254 E AndroidRuntime: mState : 0x1
09-08 10:50:50.103 7956 9254 E AndroidRuntime: mDiscardedBytes : 0x0
09-08 10:50:50.103 7956 9254 E AndroidRuntime: mOffset : 0x1
09-08 10:50:50.103 7956 9254 E AndroidRuntime: mExpectedObjectTokenStack : null
09-08 10:50:50.103 7956 9254 E AndroidRuntime: mDepth : 0xffffffff
09-08 10:50:50.103 7956 9254 E AndroidRuntime: mBuffer : [[email protected]
09-08 10:50:50.103 7956 9254 E AndroidRuntime: mBufferSize : 0x2000
09-08 10:50:50.103 7956 9254 E AndroidRuntime: mEnd : 0x665
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at android.util.proto.ProtoInputStream.assertWireType(ProtoInputStream.java:929)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at android.util.proto.ProtoInputStream.start(ProtoInputStream.java:494)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at com.android.server.usage.UsageStatsProto.loadCountAndTime(UsageStatsProto.java:157)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at com.android.server.usage.UsageStatsProto.read(UsageStatsProto.java:537)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.readLocked(UsageStatsDatabase.java:887)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.readLocked(UsageStatsDatabase.java:859)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.readLocked(UsageStatsDatabase.java:850)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.queryUsageStats(UsageStatsDatabase.java:659)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at com.android.server.usage.UserUsageStatsService.queryStats(UserUsageStatsService.java:350)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at com.android.server.usage.UserUsageStatsService.queryUsageStats(UserUsageStatsService.java:377)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at com.android.server.usage.UsageStatsService.queryUsageStats(UsageStatsService.java:631)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at com.android.server.usage.UsageStatsService$LocalService.queryUsageStatsForUser(UsageStatsService.java:1810)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at com.android.server.storage.CacheQuotaStrategy.getUnfulfilledRequests(CacheQuotaStrategy.java:178)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at com.android.server.storage.CacheQuotaStrategy.access$200(CacheQuotaStrategy.java:74)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at com.android.server.storage.CacheQuotaStrategy$1$1.run(CacheQuotaStrategy.java:136)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
09-08 10:50:50.103 7956 9254 E AndroidRuntime: at java.lang.Thread.run(Thread.java:919)
09-08 10:50:50.224 9987 9987 E AndroidRuntime: FATAL EXCEPTION: main
09-08 10:50:50.224 9987 9987 E AndroidRuntime: Process: com.google.android.googlequicksearchbox:search, PID: 9987
09-08 10:50:50.224 9987 9987 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:50:50.234 13966 13966 E AndroidRuntime: FATAL EXCEPTION: main
09-08 10:50:50.234 13966 13966 E AndroidRuntime: Process: com.miui.core, PID: 13966
09-08 10:50:50.234 13966 13966 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:50:50.239 9928 12978 E AndroidRuntime: FATAL EXCEPTION: [com.google.android.gms.chimera.GmsIntentOperationService$ChimeraService-Executor] idle
09-08 10:50:50.239 9928 12978 E AndroidRuntime: Process: com.google.android.gms, PID: 9928
09-08 10:50:50.239 9928 12978 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:50:50.241 8825 8825 E AndroidRuntime: FATAL EXCEPTION: main
09-08 10:50:50.241 8825 8825 E AndroidRuntime: Process: com.google.android.gms.persistent, PID: 8825
09-08 10:50:50.241 8825 8825 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:50:50.243 13860 13860 E AndroidRuntime: FATAL EXCEPTION: main
09-08 10:50:50.243 13860 13860 E AndroidRuntime: Process: com.miui.cloudservice, PID: 13860
09-08 10:50:50.243 13860 13860 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:50:50.254 13910 13910 E AndroidRuntime: FATAL EXCEPTION: main
09-08 10:50:50.254 13910 13910 E AndroidRuntime: Process: com.xiaomi.simactivate.service, PID: 13910
09-08 10:50:50.254 13910 13910 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:50:50.255 8825 8943 E AndroidRuntime: FATAL EXCEPTION: lowpool[0]
09-08 10:50:50.255 8825 8943 E AndroidRuntime: Process: com.google.android.gms.persistent, PID: 8825
09-08 10:50:50.255 8825 8943 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:51:23.411 14173 19696 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: AsyncTask #6
09-08 10:51:23.411 14173 19696 E AndroidRuntime: android.util.proto.WireTypeMismatchException: Current wire type Fixed32 does not match expected wire type Length Delimited at offset 0x1
09-08 10:51:23.411 14173 19696 E AndroidRuntime: mFieldNumber : 0xc
09-08 10:51:23.411 14173 19696 E AndroidRuntime: mWireType : 0x5
09-08 10:51:23.411 14173 19696 E AndroidRuntime: mState : 0x1
09-08 10:51:23.411 14173 19696 E AndroidRuntime: mDiscardedBytes : 0x0
09-08 10:51:23.411 14173 19696 E AndroidRuntime: mOffset : 0x1
09-08 10:51:23.411 14173 19696 E AndroidRuntime: mExpectedObjectTokenStack : null
09-08 10:51:23.411 14173 19696 E AndroidRuntime: mDepth : 0xffffffff
09-08 10:51:23.411 14173 19696 E AndroidRuntime: mBuffer : [[email protected]
09-08 10:51:23.411 14173 19696 E AndroidRuntime: mBufferSize : 0x2000
09-08 10:51:23.411 14173 19696 E AndroidRuntime: mEnd : 0x665
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at android.util.proto.ProtoInputStream.assertWireType(ProtoInputStream.java:929)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at android.util.proto.ProtoInputStream.start(ProtoInputStream.java:494)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at com.android.server.usage.UsageStatsProto.loadCountAndTime(UsageStatsProto.java:157)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at com.android.server.usage.UsageStatsProto.read(UsageStatsProto.java:537)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.readLocked(UsageStatsDatabase.java:887)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.readLocked(UsageStatsDatabase.java:859)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.readLocked(UsageStatsDatabase.java:850)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.queryUsageStats(UsageStatsDatabase.java:659)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at com.android.server.usage.UserUsageStatsService.queryStats(UserUsageStatsService.java:350)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at com.android.server.usage.UserUsageStatsService.queryUsageStats(UserUsageStatsService.java:377)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at com.android.server.usage.UsageStatsService.queryUsageStats(UsageStatsService.java:631)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at com.android.server.usage.UsageStatsService$LocalService.queryUsageStatsForUser(UsageStatsService.java:1810)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at com.android.server.storage.CacheQuotaStrategy.getUnfulfilledRequests(CacheQuotaStrategy.java:178)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at com.android.server.storage.CacheQuotaStrategy.access$200(CacheQuotaStrategy.java:74)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at com.android.server.storage.CacheQuotaStrategy$1$1.run(CacheQuotaStrategy.java:136)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
09-08 10:51:23.411 14173 19696 E AndroidRuntime: at java.lang.Thread.run(Thread.java:919)
09-08 10:51:23.524 15040 15040 E AndroidRuntime: FATAL EXCEPTION: main
09-08 10:51:23.524 15040 15040 E AndroidRuntime: Process: com.google.android.gms.persistent, PID: 15040
09-08 10:51:23.524 15040 15040 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:51:56.668 20329 21438 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: AsyncTask #2
09-08 10:51:56.668 20329 21438 E AndroidRuntime: android.util.proto.WireTypeMismatchException: Current wire type Fixed32 does not match expected wire type Length Delimited at offset 0x1
09-08 10:51:56.668 20329 21438 E AndroidRuntime: mFieldNumber : 0xc
09-08 10:51:56.668 20329 21438 E AndroidRuntime: mWireType : 0x5
09-08 10:51:56.668 20329 21438 E AndroidRuntime: mState : 0x1
09-08 10:51:56.668 20329 21438 E AndroidRuntime: mDiscardedBytes : 0x0
09-08 10:51:56.668 20329 21438 E AndroidRuntime: mOffset : 0x1
09-08 10:51:56.668 20329 21438 E AndroidRuntime: mExpectedObjectTokenStack : null
09-08 10:51:56.668 20329 21438 E AndroidRuntime: mDepth : 0xffffffff
09-08 10:51:56.668 20329 21438 E AndroidRuntime: mBuffer : [[email protected]
09-08 10:51:56.668 20329 21438 E AndroidRuntime: mBufferSize : 0x2000
09-08 10:51:56.668 20329 21438 E AndroidRuntime: mEnd : 0x665
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at android.util.proto.ProtoInputStream.assertWireType(ProtoInputStream.java:929)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at android.util.proto.ProtoInputStream.start(ProtoInputStream.java:494)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at com.android.server.usage.UsageStatsProto.loadCountAndTime(UsageStatsProto.java:157)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at com.android.server.usage.UsageStatsProto.read(UsageStatsProto.java:537)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.readLocked(UsageStatsDatabase.java:887)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.readLocked(UsageStatsDatabase.java:859)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.readLocked(UsageStatsDatabase.java:850)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.queryUsageStats(UsageStatsDatabase.java:659)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at com.android.server.usage.UserUsageStatsService.queryStats(UserUsageStatsService.java:350)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at com.android.server.usage.UserUsageStatsService.queryUsageStats(UserUsageStatsService.java:377)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at com.android.server.usage.UsageStatsService.queryUsageStats(UsageStatsService.java:631)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at com.android.server.usage.UsageStatsService$LocalService.queryUsageStatsForUser(UsageStatsService.java:1810)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at com.android.server.storage.CacheQuotaStrategy.getUnfulfilledRequests(CacheQuotaStrategy.java:178)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at com.android.server.storage.CacheQuotaStrategy.access$200(CacheQuotaStrategy.java:74)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at com.android.server.storage.CacheQuotaStrategy$1$1.run(CacheQuotaStrategy.java:136)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
09-08 10:51:56.668 20329 21438 E AndroidRuntime: at java.lang.Thread.run(Thread.java:919)
09-08 10:51:56.752 26150 26150 E AndroidRuntime: FATAL EXCEPTION: main
09-08 10:51:56.752 26150 26150 E AndroidRuntime: Process: com.miui.cloudservice, PID: 26150
09-08 10:51:56.752 26150 26150 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:51:56.753 22160 22160 E AndroidRuntime: FATAL EXCEPTION: main
09-08 10:51:56.753 22160 22160 E AndroidRuntime: Process: com.google.android.googlequicksearchbox:search, PID: 22160
09-08 10:51:56.753 22160 22160 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:51:56.773 21201 21201 E AndroidRuntime: FATAL EXCEPTION: main
09-08 10:51:56.773 21201 21201 E AndroidRuntime: Process: com.google.android.gms.persistent, PID: 21201
09-08 10:51:56.773 21201 21201 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:51:56.775 26037 26037 E AndroidRuntime: FATAL EXCEPTION: main
09-08 10:51:56.775 26037 26037 E AndroidRuntime: Process: com.miui.bugreport, PID: 26037
09-08 10:51:56.775 26037 26037 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:51:56.791 23207 23207 E AndroidRuntime: FATAL EXCEPTION: main
09-08 10:51:56.791 23207 23207 E AndroidRuntime: Process: com.android.vending, PID: 23207
09-08 10:51:56.791 23207 23207 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:51:56.796 23207 23254 E AndroidRuntime: FATAL EXCEPTION: alyz
09-08 10:51:56.796 23207 23254 E AndroidRuntime: Process: com.android.vending, PID: 23207
09-08 10:51:56.796 23207 23254 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:52:30.474 26344 26779 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: AsyncTask #1
09-08 10:52:30.474 26344 26779 E AndroidRuntime: android.util.proto.WireTypeMismatchException: Current wire type Fixed32 does not match expected wire type Length Delimited at offset 0x1
09-08 10:52:30.474 26344 26779 E AndroidRuntime: mFieldNumber : 0xc
09-08 10:52:30.474 26344 26779 E AndroidRuntime: mWireType : 0x5
09-08 10:52:30.474 26344 26779 E AndroidRuntime: mState : 0x1
09-08 10:52:30.474 26344 26779 E AndroidRuntime: mDiscardedBytes : 0x0
09-08 10:52:30.474 26344 26779 E AndroidRuntime: mOffset : 0x1
09-08 10:52:30.474 26344 26779 E AndroidRuntime: mExpectedObjectTokenStack : null
09-08 10:52:30.474 26344 26779 E AndroidRuntime: mDepth : 0xffffffff
09-08 10:52:30.474 26344 26779 E AndroidRuntime: mBuffer : [[email protected]
09-08 10:52:30.474 26344 26779 E AndroidRuntime: mBufferSize : 0x2000
09-08 10:52:30.474 26344 26779 E AndroidRuntime: mEnd : 0x665
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at android.util.proto.ProtoInputStream.assertWireType(ProtoInputStream.java:929)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at android.util.proto.ProtoInputStream.start(ProtoInputStream.java:494)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at com.android.server.usage.UsageStatsProto.loadCountAndTime(UsageStatsProto.java:157)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at com.android.server.usage.UsageStatsProto.read(UsageStatsProto.java:537)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.readLocked(UsageStatsDatabase.java:887)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.readLocked(UsageStatsDatabase.java:859)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.readLocked(UsageStatsDatabase.java:850)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at com.android.server.usage.UsageStatsDatabase.queryUsageStats(UsageStatsDatabase.java:659)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at com.android.server.usage.UserUsageStatsService.queryStats(UserUsageStatsService.java:350)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at com.android.server.usage.UserUsageStatsService.queryUsageStats(UserUsageStatsService.java:377)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at com.android.server.usage.UsageStatsService.queryUsageStats(UsageStatsService.java:631)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at com.android.server.usage.UsageStatsService$LocalService.queryUsageStatsForUser(UsageStatsService.java:1810)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at com.android.server.storage.CacheQuotaStrategy.getUnfulfilledRequests(CacheQuotaStrategy.java:178)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at com.android.server.storage.CacheQuotaStrategy.access$200(CacheQuotaStrategy.java:74)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at com.android.server.storage.CacheQuotaStrategy$1$1.run(CacheQuotaStrategy.java:136)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:289)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
09-08 10:52:30.474 26344 26779 E AndroidRuntime: at java.lang.Thread.run(Thread.java:919)
09-08 10:52:30.798 27249 31720 E AndroidRuntime: FATAL EXCEPTION: lowpool[14]
09-08 10:52:30.798 27249 31720 E AndroidRuntime: Process: com.google.android.gms.persistent, PID: 27249
09-08 10:52:30.798 27249 31720 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:52:30.801 27249 27249 E AndroidRuntime: FATAL EXCEPTION: main
09-08 10:52:30.801 27249 27249 E AndroidRuntime: Process: com.google.android.gms.persistent, PID: 27249
09-08 10:52:30.801 27249 27249 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:52:30.803 27692 27692 E AndroidRuntime: FATAL EXCEPTION: main
09-08 10:52:30.803 27692 27692 E AndroidRuntime: Process: com.google.android.googlequicksearchbox:interactor, PID: 27692
09-08 10:52:30.803 27692 27692 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
09-08 10:52:30.804 32282 32282 E AndroidRuntime: FATAL EXCEPTION: main
09-08 10:52:30.804 32282 32282 E AndroidRuntime: Process: com.miui.cloudservice, PID: 32282
09-08 10:52:30.804 32282 32282 E AndroidRuntime: DeadSystemException: The system died; earlier logs will point to the root cause
If phone is bootlooping it should be obvious that you can't get a stable USB-connection: adb pull operation aborts when bootloop re-starts.
Assumed phone's Android is rooted, you may use Android's dd command with seek / skip options.
Example:
Code:
adb exec-out "su -c 'dd if=BLOCK seek=NN skip=NN'" >> C:\IMG
Unfortunatelly its not rooted.

Smartphone App doesn't work on Tablet. Pioneer Smart Sync

Hello,
I bought a new Pioneer car stereo (SPH-20DAB), this (and some others from Pioneer) works together with an APP.
There are two Android Apps from Pioneer.
1. Pionneer Smart Sync
2. Pionner Smart Sync for Tablet.
The first smartphone app works great on many tested Smartphones.
The Second App won't work on any Testet Android Tablet.
I can Instal it, but never get any connection to the Stereo, i think it's because this App will exclusive work with with the SPH-t20BT mainunit which has its own Tablet (cheap Crap!)
So i desided to install the Smartphone app on my Tablet, but it is not possible. My Tablet (Lenovo P11 with Android 11) always says when i install the .apk "This App is not for your Device"
After this i tried to Root my P11, after many try's i was succesfull (After downgrading it Back to Android 10), and install TWRP Recovery an Magisk with Root. Now I changed my DeviceID to some other devices like my Oneplus 6T, now it is possible to install the smartphone version of the Pioneer app on my P11 Tablet, but it crashes on every start.
Why will this happen? is there any other difference between Tablets and Smartphones in Android development? Do i have to change some more parameters?.
On the other hand, the tablet version of the Pioneer app runs fine on my Oneplus 6T, but also can't connect (i think because this app only allows the SPH-T20BT tablet unit).
If you get message "This App is not for your Device" then this has good reasons. It's on an app's developer to define on what devices his app should work or not. Some apps only work on phones and not on tablets.
Of course you can try to trick the app, but it doesn't make sense as you could see for yourself.
To get the very reason why app in question crashes do a LOGCAT.
What is the technical Background, the app maybe won't work on tablets? is there an Option the Developer can say "i don't wan't this" so the app will crash ? maybe a reason in my opinion can be the bigger screen an so the app can become optical awfull. Or is there a real difference in the Andrid Api or in the Hardware design?
The Tablet app still exists, but will be not updatet anymore, so that will be no further way for me the solution in this case.
I will test it tommorow with the Logcat, i forget the Tablet somewhere and can't test it now.
I try to install the app on Bluestacks (works fine, but only Phones are availible), and on Genymotion where i can set off a Tablet device with Android 10 an the Same Hardware specs. On the first try i wasn't able to install the .apk (something with ARM native code) but after i install an arm code translator it works fine. Slow, but this is another problem i think.
Maybe a reason, or is this another Problem between 32 Bit an Arm, and has nothing to do with my Problem ?
I made a log an tryed to cut out the necessary parts i think.
Can you maybe explain for which parts i can look? are there any keywords i can search for ?
I attached the log below.
I don't know why, but i can't add files.
I read threw the log an i think it hapens here
11-05 08:36:40.897 30015 30015 E AndroidRuntime: FATAL EXCEPTION: main
11-05 08:36:40.897 30015 30015 E AndroidRuntime: Process: jp.pioneer.carsync, PID: 30015
11-05 08:36:40.897 30015 30015 E AndroidRuntime: java.lang.ExceptionInInitializerError
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.application.di.module.AppModule.provideAppSharedPreference(Unknown Source:0)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.application.di.module.AppModule_ProvideAppSharedPreferenceFactory.provideAppSharedPreference(Unknown Source:0)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.application.di.module.AppModule_ProvideAppSharedPreferenceFactory.get(Unknown Source:10)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.application.di.module.AppModule_ProvideAppSharedPreferenceFactory.get(Unknown Source:0)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at dagger.internal.DoubleCheck.get(Unknown Source:15)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.domain.model.StatusHolder_Factory.get(Unknown Source:4)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.domain.model.StatusHolder_Factory.get(Unknown Source:0)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.infrastructure.repository.StatusHolderRepositoryImpl_Factory.get(Unknown Source:7)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.infrastructure.repository.StatusHolderRepositoryImpl_Factory.get(Unknown Source:0)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at dagger.internal.DoubleCheck.get(Unknown Source:15)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.application.di.component.DaggerAppComponent.injectStatusUpdateListener(Unknown Source:2)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.application.di.component.DaggerAppComponent.getStatusUpdateListener(Unknown Source:4)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.application.di.component.DaggerAppComponent.injectDomainInitializer(Unknown Source:0)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.application.di.component.DaggerAppComponent.getDomainInitializer(Unknown Source:4)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.application.di.component.DaggerAppComponent.injectApp(Unknown Source:0)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.application.di.component.DaggerAppComponent.inject(Unknown Source:0)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.application.App.initialize(Unknown Source:31)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.application.App.onCreate(Unknown Source:5)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1190)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6479)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at android.app.ActivityThread.access$1300(ActivityThread.java:220)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1860)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:107)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at android.os.Looper.loop(Looper.java:214)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7397)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:502)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:935)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: Caused by: android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f08014b
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at android.content.res.ResourcesImpl.getResourceEntryName(ResourcesImpl.java:300)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at android.content.res.Resources.getResourceEntryName(Resources.java:2112)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.presentation.model.MenuKeyItem.<init>(Unknown Source:25)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.application.content.AppSharedPreference$1.<init>(Unknown Source:16)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: at jp.pioneer.carsync.application.content.AppSharedPreference.<clinit>(Unknown Source:323)
11-05 08:36:40.897 30015 30015 E AndroidRuntime: ... 28 more
So after all it works fine, the reason was only a broken .apk
After Severall trys, i was able to download the actuall version (3.5.0) of the Pioneer Smart Sync smartphone .apk and it works fine on my Lenovo P11 Tablet.
DeinOpa said:
So after all it works fine, the reason was only a broken .apk
After Severall trys, i was able to download the actuall version (3.5.0) of the Pioneer Smart Sync smartphone .apk and it works fine on my Lenovo P11 Tablet.
Click to expand...
Click to collapse
Oh Yes it is absolutly cheap Crap and damm slow but thanks for the hint with the Smartphone APP.

Categories

Resources