Under both Android KitKit 4.4 and now 4.4.2, when I reboot my Galaxy S4 Google Play Edition phone, I am getting an error box as soon as the lock screen shows up that says "Unfortunately, the process com.android.phone has stopped." I hit okay and continue and am seeing no other problems, but it is annoying and a bit disturbing. This happened both before and after rooting and installing CWM recovery. I am running a stock installation.
Has anyone else seen this and/or know of a fix? Thanks much
Try cache wipe. If that doesn't work try factory reset. If that still doesn't work, try reflashing back to stock
Sent from my GT-I9505G using Tapatalk
I wanted to follow up with what I did to fix this problem. As suggested, I did wipe cache, which didn't help. I then did a factory reset via CWM recovery. To my surprise, this didn't fix the problem initially. Upon boot, I still received the app stopping message. But I found a thread in another forum that showed others having this problem, also noting that a factory reset didn't fix the problem. But one report said that continuing through to sign into Google after the reset had fixed this person's problem. Sure enough, the same worked for me. There is another report that says just resetting app preferences would also fix the problem, but I had already done the factory reset and thus didn't have a chance to test this.
The thread in the other forum is here:
http://forums.androidcentral.com/samsung-galaxy-s4-google-edition/338363-galaxy-s4-google-play-edition-official-android-4-4-kit-kat-rolling-out-now.html
Also, here is the logcat stack dump indicating the problem with com.android.phone:
I/BrcmNfcNfa( 1368): GKI TASK_DEAD received. exit thread 3...
D/AndroidRuntime( 1363): Shutting down VM
W/dalvikvm( 1363): threadid=1: thread exiting with uncaught exception (group=0x4159ad40)
E/AndroidRuntime( 1363): FATAL EXCEPTION: main
E/AndroidRuntime( 1363): Process: com.android.phone, PID: 1363
E/AndroidRuntime( 1363): java.lang.NullPointerException
E/AndroidRuntime( 1363): at com.android.internal.telephony.BaseCommands.unSetOnSs(BaseCommands.java:464)
E/AndroidRuntime( 1363): at com.android.internal.telephony.gsm.GSMPhone.dispose(GSMPhone.java:266)
E/AndroidRuntime( 1363): at com.android.internal.telephony.PhoneProxy.deleteAndCreatePhone(PhoneProxy.java:261)
E/AndroidRuntime( 1363): at com.android.internal.telephony.PhoneProxy.phoneObjectUpdater(PhoneProxy.java:217)
E/AndroidRuntime( 1363): at com.android.internal.telephony.PhoneProxy.handleMessage(PhoneProxy.java:127)
E/AndroidRuntime( 1363): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 1363): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 1363): at android.app.ActivityThread.main(ActivityThread.java:5050)
E/AndroidRuntime( 1363): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1363): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 1363): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1264)
E/AndroidRuntime( 1363): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1080)
E/AndroidRuntime( 1363): at dalvik.system.NativeStart.main(Native Method)
highvista said:
I wanted to follow up with what I did to fix this problem. As suggested, I did wipe cache, which didn't help. I then did a factory reset via CWM recovery. To my surprise, this didn't fix the problem initially. Upon boot, I still received the app stopping message. But I found a thread in another forum that showed others having this problem, also noting that a factory reset didn't fix the problem. But one report said that continuing through to sign into Google after the reset had fixed this person's problem. Sure enough, the same worked for me. There is another report that says just resetting app preferences would also fix the problem, but I had already done the factory reset and thus didn't have a chance to test this.
The thread in the other forum is here:
http://forums.androidcentral.com/samsung-galaxy-s4-google-edition/338363-galaxy-s4-google-play-edition-official-android-4-4-kit-kat-rolling-out-now.html
Also, here is the logcat stack dump indicating the problem with com.android.phone:
I/BrcmNfcNfa( 1368): GKI TASK_DEAD received. exit thread 3...
D/AndroidRuntime( 1363): Shutting down VM
W/dalvikvm( 1363): threadid=1: thread exiting with uncaught exception (group=0x4159ad40)
E/AndroidRuntime( 1363): FATAL EXCEPTION: main
E/AndroidRuntime( 1363): Process: com.android.phone, PID: 1363
E/AndroidRuntime( 1363): java.lang.NullPointerException
E/AndroidRuntime( 1363): at com.android.internal.telephony.BaseCommands.unSetOnSs(BaseCommands.java:464)
E/AndroidRuntime( 1363): at com.android.internal.telephony.gsm.GSMPhone.dispose(GSMPhone.java:266)
E/AndroidRuntime( 1363): at com.android.internal.telephony.PhoneProxy.deleteAndCreatePhone(PhoneProxy.java:261)
E/AndroidRuntime( 1363): at com.android.internal.telephony.PhoneProxy.phoneObjectUpdater(PhoneProxy.java:217)
E/AndroidRuntime( 1363): at com.android.internal.telephony.PhoneProxy.handleMessage(PhoneProxy.java:127)
E/AndroidRuntime( 1363): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 1363): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 1363): at android.app.ActivityThread.main(ActivityThread.java:5050)
E/AndroidRuntime( 1363): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1363): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 1363): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1264)
E/AndroidRuntime( 1363): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1080)
E/AndroidRuntime( 1363): at dalvik.system.NativeStart.main(Native Method)
Click to expand...
Click to collapse
I have the same problem and a factory reset didn't fixed it. Can you explain me better how to fix this problem without doing a factory reset again please? Thanks
Ok, I restored apps preferences but the problem is still there.
MattyDip said:
I have the same problem and a factory reset didn't fixed it. Can you explain me better how to fix this problem without doing a factory reset again please? Thanks
Ok, I restored apps preferences but the problem is still there.
Click to expand...
Click to collapse
For me, it was the factory reset and logging into Google that fixed the problem, so I can't give any more details on the non-reset fix, unfortunately.
highvista said:
For me, it was the factory reset and logging into Google that fixed the problem, so I can't give any more details on the non-reset fix, unfortunately.
Click to expand...
Click to collapse
I did a factory reset, logged with Google and the problem is still there
I dont have the message popping up but I did notice when i try to go to settings to check my connection to sprint that I get com.android.phone crashing when I hit carrier settings. I have been very annoyed by this as it also affects my text messaging where I am limited to only sending one text. Like I get the countdown for remaining words and it wont let me type anymore.
I am so annoyed at this and not being able to fix it that I might boot back to stock ROM. But is this an issue with version 4.4 kitkat or is this a cwm recovery error? I am a bit confused from reading different peoples problems of where this error is actually coming from. Will going back to stock actually fix the problem? or am I screwed since I rooted my phone and installed a aftermarket ROM already?
Thank You
Thanks highvista! I had the same problem on my S4 GPE and resetting app preferences and rebooting fixed it. Didn't have to hard reset the phone. <rant>Now if only I can figure out how to get my app store to download apps, and G maps to speak out street names in turn by turn nav, I'll be a happy customer. And this is stock android 4.4.2 without any rooting or custom ROMs. Sometimes I wonder why I switched from iphone.</rant>
Wont read SIM
Greetings..
I see that I'm not the only one with this issue although mine has kinda resolved now, but I cant get the SIM to work.. Android just wont read it..
It actually happende after I rooted my GS4/I9506(which went fine and I uninstalled alot of apps with link2SD), after restart the com.android.phone has stopped msg kept on popping up on the screen in addition to 'Unfortunately, Messages has stopped' when trying to send sms. So I re-rooted it again, still wouldnt stop. Rebooted with vol. up key + power button, selected to reset to factory, and it doesnt pop up anymore (the com.android.phone has stopped msg) but I still get the Messages has stopped when I'm trying to write messages.
Another thing is that it wont read the SIM, so I suspect an issue lies with reading the micro-SIM. As mentioned elsewhere in this forum, I've tried to select Mobile Networks through the Settings, but it says 'Insert SIM card to access network services'.
If anyone has come with a solution to this, let us know.
I want to cherry-pick "custom notification led settings" from purity to my aosp build.
So I went ahead and picked up these two commits
https://github.com/KitKatPurity/pla...mmit/c85834ed460ec99e0752f1f13e58cad74abf844e
and
https://github.com/KitKatPurity/pla...mmit/b37fdf4238b11b0232b12f218294131ea77ec309
The framework part ran well and there was no conflict. The settings part returned a small conflict which I solved myself. Now as I go on compiling, everything compiled good but then at the time of Settings.apk compiling it returned this error.
Code:
packages/apps/Settings/src/com/android/settings/DisplaySettings.java:119: cannot find symbol
symbol : variable mDisplayManager
location: class com.android.settings.DisplaySettings
mDisplayManager = (DisplayManager)getActivity().getSystemService(
^
packages/apps/Settings/src/com/android/settings/DisplaySettings.java:119: cannot find symbol
symbol : class DisplayManager
location: class com.android.settings.DisplaySettings
mDisplayManager = (DisplayManager)getActivity().getSystemService(
^
packages/apps/Settings/src/com/android/settings/DisplaySettings.java:121: cannot find symbol
symbol : variable mWifiDisplayStatus
location: class com.android.settings.DisplaySettings
mWifiDisplayStatus = mDisplayManager.getWifiDisplayStatus();
^
packages/apps/Settings/src/com/android/settings/DisplaySettings.java:121: cannot find symbol
symbol : variable mDisplayManager
location: class com.android.settings.DisplaySettings
mWifiDisplayStatus = mDisplayManager.getWifiDisplayStatus();
^
packages/apps/Settings/src/com/android/settings/DisplaySettings.java:122: cannot find symbol
symbol : variable mWifiDisplayPreference
location: class com.android.settings.DisplaySettings
mWifiDisplayPreference = (Preference)findPreference(KEY_WIFI_DISPLAY);
^
packages/apps/Settings/src/com/android/settings/DisplaySettings.java:122: cannot find symbol
symbol : variable KEY_WIFI_DISPLAY
location: class com.android.settings.DisplaySettings
mWifiDisplayPreference = (Preference)findPreference(KEY_WIFI_DISPLAY);
^
packages/apps/Settings/src/com/android/settings/DisplaySettings.java:123: cannot find symbol
symbol : variable mWifiDisplayStatus
location: class com.android.settings.DisplaySettings
if (mWifiDisplayStatus.getFeatureState()
^
packages/apps/Settings/src/com/android/settings/DisplaySettings.java:124: cannot find symbol
symbol : variable WifiDisplayStatus
location: class com.android.settings.DisplaySettings
== WifiDisplayStatus.FEATURE_STATE_UNAVAILABLE) {
^
packages/apps/Settings/src/com/android/settings/DisplaySettings.java:125: cannot find symbol
symbol : variable mWifiDisplayPreference
location: class com.android.settings.DisplaySettings
getPreferenceScreen().removePreference(mWifiDisplayPreference);
^
packages/apps/Settings/src/com/android/settings/DisplaySettings.java:126: cannot find symbol
symbol : variable mWifiDisplayPreference
location: class com.android.settings.DisplaySettings
mWifiDisplayPreference = null;
^
packages/apps/Settings/src/com/android/settings/purity/notificationlight/ApplicationLightPreference.java:170: method does not override or implement a method from a supertype
@Override
^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
11 errors
make: *** [out/target/common/obj/APPS/Settings_intermediates/classes-full-debug.jar] Error 41
make: *** Waiting for unfinished jobs....
Here are the link of the 2 files where the error is shown:
ApplicationLightPreference.java
DisplaySettings.java
I tried the following combination to solve it:
in ApplicationLightPreference.java, I deleted the line which returned the error.
in DisplaySettings.java I deleted the line which returned the error.
The build compiles fine, boot fines but but when I select display settings, it force closes.
Any help in solving this error is appreciated.
Since this is a question why not post in the section clearly marked for questions??
Sent from my Nexus 4 using xda premium
brajesh.sharma87 said:
I tried the following combination to solve it:
in ApplicationLightPreference.java, I deleted the line which returned the error.
in DisplaySettings.java I deleted the line which returned the error.
The build compiles fine, boot fines but but when I select display settings, it force closes.
Any help in solving this error is appreciated.
Click to expand...
Click to collapse
Find the commit that added the missing variable(s) and method(s)
pull a log for the force close.
MBQ_ said:
Find the commit that added the missing variable(s) and method(s)
pull a log for the force close.
Click to expand...
Click to collapse
Not sure what to do about the first line but here's the log
Code:
I/ActivityManager( 647): Displayed com.android.settings/.Settings: +631ms
I/ActivityManager( 647): START u0 {act=android.intent.action.MAIN cmp=com.android.settings/.SubSettings (has extras)} from pid 9823
D/audio_hw_primary( 170): select_devices: out_snd_device(2: speaker) in_snd_device(0: )
D/ACDB-LOADER( 170): ACDB -> send_afe_cal
D/SubSettings( 9823): Launching fragment com.android.settings.DisplaySettings
D/AndroidRuntime( 9823): Shutting down VM
W/dalvikvm( 9823): threadid=1: thread exiting with uncaught exception (group=0x415adba8)
E/AndroidRuntime( 9823): FATAL EXCEPTION: main
E/AndroidRuntime( 9823): Process: com.android.settings, PID: 9823
E/AndroidRuntime( 9823): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.SubSettings}: java.lang.NullPointerException
E/AndroidRuntime( 9823): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
E/AndroidRuntime( 9823): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
E/AndroidRuntime( 9823): at android.app.ActivityThread.access$800(ActivityThread.java:135)
E/AndroidRuntime( 9823): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
E/AndroidRuntime( 9823): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 9823): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 9823): at android.app.ActivityThread.main(ActivityThread.java:5017)
E/AndroidRuntime( 9823): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 9823): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 9823): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
E/AndroidRuntime( 9823): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
E/AndroidRuntime( 9823): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 9823): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 9823): at com.android.settings.DisplaySettings.onCreate(DisplaySettings.java:134)
E/AndroidRuntime( 9823): at android.app.Fragment.performCreate(Fragment.java:1678)
E/AndroidRuntime( 9823): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:859)
E/AndroidRuntime( 9823): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1062)
E/AndroidRuntime( 9823): at android.app.BackStackRecord.run(BackStackRecord.java:684)
E/AndroidRuntime( 9823): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1447)
E/AndroidRuntime( 9823): at android.app.Activity.performStart(Activity.java:5240)
E/AndroidRuntime( 9823): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2168)
E/AndroidRuntime( 9823): ... 11 more
W/ActivityManager( 647): Force finishing activity com.android.settings/.SubSettings
W/ActivityManager( 647): Force finishing activity com.android.settings/.Settings
W/ActivityManager( 647): Activity pause timeout for ActivityRecord{41e72210 u0 com.android.settings/.SubSettings t14 f}
W/Sidekick_LocationOracleImpl( 2543): Best location was null
I/Process ( 9823): Sending signal. PID: 9823 SIG: 9
V/SearchControllerCache( 2543): creating SearchController
W/Sidekick_LocationOracleImpl( 2543): Best location was null
W/GCoreFlp( 8127): No location to return for getLastLocation()
I/ActivityManager( 647): Process com.android.settings (pid 9823) has died.
I/WindowState( 647): WIN DEATH: Window{419b9318 u0 com.android.settings/com.android.settings.Settings}
D/dalvikvm( 2543): GC_FOR_ALLOC freed 1110K, 57% free 5133K/11704K, paused 27ms, total 27ms
I/MicroHotwordRecognitionRunner( 2543): Starting hotword detection.
D/audio_hw_primary( 170): select_devices: out_snd_device(0: ) in_snd_device(34: voice-rec-mic)
E/ACDB-LOADER( 170): Error: ACDB AudProc vol returned = -8
D/dalvikvm( 2543): GC_CONCURRENT freed 6K, 51% free 5756K/11704K, paused 2ms+3ms, total 32ms
I/SearchController( 2543): #onHotwordDetectorStarted
brajesh.sharma87 said:
Not sure what to do about the first line but here's the log
Click to expand...
Click to collapse
Something is wrong in the onCreate method of DisplaySettings.java
Hi, I checked and you miss the declaration in the Android Manifest in the packages_apps_settings. Go and check my Github commits. You do not need the modifcation in the proguard.flags though.
https://github.com/GeyerA/platform_...mmit/347e74714f0c6efa2dbd3ba49b5612e1cc11bf4f
For completeness also check the commits in the frameworks_base
https://github.com/GeyerA/platform_frameworks_base/commit/a77810164cb1bcb1d449f603f31a97939d9f9b3b
Also, make sure you got these...
https://github.com/PSX-PureSpeed/an...mmit/3e29b10a377f0985ee221aaa4fe10838733ed3df
https://github.com/PSX-PureSpeed/an...mmit/2ae7fbb6134f6831fba8184d0dd1092f5bee1f7a
This should fix your issues, just let me know or PM me as I am not always checking on your thread.
Nice week to everbody. Calo
GeyerA said:
Hi, I checked and you miss the declaration in the Android Manifest in the packages_apps_settings. Go and check my Github commits. You do not need the modifcation in the proguard.flags though.
https://github.com/GeyerA/platform_...mmit/347e74714f0c6efa2dbd3ba49b5612e1cc11bf4f
For completeness also check the commits in the frameworks_base
https://github.com/GeyerA/platform_frameworks_base/commit/a77810164cb1bcb1d449f603f31a97939d9f9b3b
Also, make sure you got these...
https://github.com/PSX-PureSpeed/an...mmit/3e29b10a377f0985ee221aaa4fe10838733ed3df
https://github.com/PSX-PureSpeed/an...mmit/2ae7fbb6134f6831fba8184d0dd1092f5bee1f7a
This should fix your issues, just let me know or PM me as I am not always checking on your thread.
Nice week to everbody. Calo
Click to expand...
Click to collapse
Thanks for the answer. I discarded all the commits which I took from purity.
Started fresh and picked up the commits from your github. There was 1 conflict in DisplaySettings.java, I solved it and compiled. It then gave me error during compile about volume wake. I deleted those lines in question and compiled again. It compiled fine but after installing the output rom I still got FC when clicking on "Display Settings".
I didn't give up. I discarded all the previous commits again and this time picked up the volume wake commits first and then the LED customization commits and then from PSX commits which you advised. Everything ran well, there was not a single conflict this time. Even there was no error at the time of compilation. BUT as always on installing the rom I got the same FC on clicking Display settings.
Now I have deleted the entire out directory and this time will build fresh lets see if that can help, but for that I can only do it after 8-10 days as I am going out of station.
Thanks for all the help.
brajesh.sharma87 said:
Thanks for the answer. I discarded all the commits which I took from purity.
Started fresh and picked up the commits from your github. There was 1 conflict in DisplaySettings.java, I solved it and compiled. It then gave me error during compile about volume wake. I deleted those lines in question and compiled again. It compiled fine but after installing the output rom I still got FC when clicking on "Display Settings".
I didn't give up. I discarded all the previous commits again and this time picked up the volume wake commits first and then the LED customization commits and then from PSX commits which you advised. Everything ran well, there was not a single conflict this time. Even there was no error at the time of compilation. BUT as always on installing the rom I got the same FC on clicking Display settings.
Now I have deleted the entire out directory and this time will build fresh lets see if that can help, but for that I can only do it after 8-10 days as I am going out of station.
Thanks for all the help.
Click to expand...
Click to collapse
Hello, good that you have some progress although you might feel disappointed that it does not work. Here is one reason why I personally do not cherry-pick complex commits as it will also add the lines which are not part of that commit but part of my code.
Anyhow, I believe you missed one small thing which is in android_device_hammerhead. Sorry I forgot that one.
https://github.com/KitKatPurity/pla...mmit/217378d3e6a7a5370e7c1583fcfb4ae1e7a9ac7c
Especially this one in overlay/frameworks/base/core/res/res/values/config.xml
Code:
+ <!-- Is the battery LED intrusive? Used to decide if there should be a disable option -->
+ <bool name="config_intrusiveBatteryLed">true</bool>
+
+ <!-- Does the battery LED support multiple colors? Used to decide if the user can change the colors -->
+ <bool name="config_multiColorBatteryLed">true</bool>
+
I am sure it will work then. Please do not delete everything again when something does not work, post the question first :silly:
GeyerA said:
........I am sure it will work then. Please do not delete everything again when something does not work, post the question first :silly:
Click to expand...
Click to collapse
Thanks but as i said, i wont have access to my laptop for next 8-10 days, will continue once i come back.
Sent from my Nexus 4 using Tapatalk
@GeyerA you're a genius. I've been working on this for last 1 month and finally succeeded.
As I didnt have access to my laptop and the resolution that u you gave was also possible through apk tool, I sent the framework-res.apk to a friend and asked him to just change those two values to 'true' he did so and sent the same to me and boom it worked. Thank you so very much.
Sent from my Nexus 4 using Tapatalk
Hello. I am happy to hear; great satisfaction that I could help. But the credit is Dario's from Kitkatpurity and Martin_Ro's from PSX. They helped me a lot and I suffered much more than you. No biggie but please use the thanks button ....
Sent from my AOSP on HammerHead using xda app-developers app
Guys, I did a short analysis on the apps in firmwares 1.2.3 and 1.3.0n. The results were pretty surprising:
The Chinese one is more advanced adn much newer (as was already known)
The Watchfaces app contains the SAME drawings in both versions (except the English one having less watchfaces). That means: The Chinese version does have e.g. English weekdays available (stored at the same locations) as the English version has. It probably was just disabled in the code to use the right coding!
One gets the clear indication that they worked on a joint firmware and then at some 70% got the strategic directions to split the firmware.
I am currently doing some tests to modify the apps and load them on the Chinese version. Maybe a Chinese version with English translation is better than the official English version.
Yes, in this moment i think that the china version with hack is better that English version
Wonder if it's worth flashing Chinese ROM to English version and then changing to English?
or, would you expect English version will catch up soon?
I'm disappointed so far with this watch (or rather the very very simple support from the APP on your phone)
You can't even look at the step or sleep data on your phone?!?!?
Nothing wrong with the hardware but it seems they rushed out this awesome device not really thinking about the supplementary app to go with it.
shayne77 said:
Wonder if it's worth flashing Chinese ROM to English version and then changing to English?
or, would you expect English version will catch up soon?
I'm disappointed so far with this watch (or rather the very very simple support from the APP on your phone)
You can't even look at the step or sleep data on your phone?!?!?
Nothing wrong with the hardware but it seems they rushed out this awesome device not really thinking about the supplementary app to go with it.
Click to expand...
Click to collapse
To sync sleep and steps on phone, you need Chinese Amazfit and MiFit apps, login with same Xiaomi account
Inviato dal mio D6633 utilizzando Tapatalk
Pi3rluigi said:
To sync sleep and steps on phone, you need Chinese Amazfit and MiFit apps, login with same Xiaomi account
Inviato dal mio D6633 utilizzando Tapatalk
Click to expand...
Click to collapse
I saw that tutorial on YouTube but I couldn't get MiFit to show data (it seemed to read it, sync ok but not display anything?)
Need help from app developer
Ok, I decompiled one of the Huami apps ("WearSports"), changed a small text in the resources ("Trail Run" -> "Berg Run"), compiled the app again (using apktool), signed the apk and exchanged the original apk with the modded one.
The watch starts ok. When swiping left, one gets to the Sports app, which does indeed show "Berg Run" instead of "Trail Run" (hurray). But when I want to enter one of the sports, the app force closes with the following error:
Code:
D/HmSport ( 9704): HmSportProvider -- today distance:0.0
I/slog ( 9704): 已经有文件存在于: /sdcard/.springchannel/com.huami.watch.sport , 旧文件可能被覆盖或删除呢.
E/DatabaseUtils( 9128): Writing exception to parcel
E/DatabaseUtils( 9128): java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.checkWritePermissions(SettingsProvider.java:313)
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.insertForUser(SettingsProvider.java:1110)
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:801)
E/DatabaseUtils( 9128): at android.content.ContentProvider$Transport.call(ContentProvider.java:370)
E/DatabaseUtils( 9128): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:283)
E/DatabaseUtils( 9128): at android.os.Binder.execTransact(Binder.java:446)
E/AndroidRuntime( 9704): FATAL EXCEPTION: global-work-thread
E/AndroidRuntime( 9704): Process: com.huami.watch.sport, PID: 9704
E/AndroidRuntime( 9704): java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
E/AndroidRuntime( 9704): at android.os.Parcel.readException(Parcel.java:1546)
E/AndroidRuntime( 9704): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185)
E/AndroidRuntime( 9704): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137)
E/AndroidRuntime( 9704): at android.content.ContentProviderProxy.call(ContentProviderNative.java:645)
E/AndroidRuntime( 9704): at android.provider.Settings$NameValueCache.putStringForUser(Settings.java:1094)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putStringForUser(Settings.java:3173)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putFloatForUser(Settings.java:3459)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putFloat(Settings.java:3453)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.DataManager.setTodayDistance(DataManager.java:370)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider.updateTodayDistance(SportContentProvider.java:95)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider.access$000(SportContentProvider.java:24)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider$1.run(SportContentProvider.java:57)
E/AndroidRuntime( 9704): at android.os.Handler.handleCallback(Handler.java:739)
E/AndroidRuntime( 9704): at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime( 9704): at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime( 9704): at android.os.HandlerThread.run(HandlerThread.java:61)
The mentioned permission is in the AndroidManifest.xml (as it was decompiled from the original app).
I need help from an experienced developer. If we could get this fixed, we can setup our own custom ROM, based on the most current Chinese version, including all English translations and what else we want to.
Neuer_User said:
Ok, I decompiled one of the Huami apps ("WearSports"), changed a small text in the resources ("Trail Run" -> "Berg Run"), compiled the app again (using apktool), signed the apk and exchanged the original apk with the modded one.
The watch starts ok. When swiping left, one gets to the Sports app, which does indeed show "Berg Run" instead of "Trail Run" (hurray). But when I want to enter one of the sports, the app force closes with the following error:
Code:
D/HmSport ( 9704): HmSportProvider -- today distance:0.0
I/slog ( 9704): 已经有文件存在于: /sdcard/.springchannel/com.huami.watch.sport , 旧文件可能被覆盖或删除呢.
E/DatabaseUtils( 9128): Writing exception to parcel
E/DatabaseUtils( 9128): java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.checkWritePermissions(SettingsProvider.java:313)
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.insertForUser(SettingsProvider.java:1110)
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:801)
E/DatabaseUtils( 9128): at android.content.ContentProvider$Transport.call(ContentProvider.java:370)
E/DatabaseUtils( 9128): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:283)
E/DatabaseUtils( 9128): at android.os.Binder.execTransact(Binder.java:446)
E/AndroidRuntime( 9704): FATAL EXCEPTION: global-work-thread
E/AndroidRuntime( 9704): Process: com.huami.watch.sport, PID: 9704
E/AndroidRuntime( 9704): java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
E/AndroidRuntime( 9704): at android.os.Parcel.readException(Parcel.java:1546)
E/AndroidRuntime( 9704): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185)
E/AndroidRuntime( 9704): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137)
E/AndroidRuntime( 9704): at android.content.ContentProviderProxy.call(ContentProviderNative.java:645)
E/AndroidRuntime( 9704): at android.provider.Settings$NameValueCache.putStringForUser(Settings.java:1094)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putStringForUser(Settings.java:3173)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putFloatForUser(Settings.java:3459)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putFloat(Settings.java:3453)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.DataManager.setTodayDistance(DataManager.java:370)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider.updateTodayDistance(SportContentProvider.java:95)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider.access$000(SportContentProvider.java:24)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider$1.run(SportContentProvider.java:57)
E/AndroidRuntime( 9704): at android.os.Handler.handleCallback(Handler.java:739)
E/AndroidRuntime( 9704): at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime( 9704): at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime( 9704): at android.os.HandlerThread.run(HandlerThread.java:61)
The mentioned permission is in the AndroidManifest.xml (as it was decompiled from the original app).
I need help from an experienced developer. If we could get this fixed, we can setup our own custom ROM, based on the most current Chinese version, including all English translations and what else we want to.
Click to expand...
Click to collapse
UPDATE:
I can grant the app the WRITE_SECURE_SETTINGS permission, and then it indeed works (command "pm grant <package name> android.permission.WRITE_SECURE_SETTINGS"). The question is now, why do I need to grant that manually, when this is in already in the AndroidManifest.xml???
Is possible change millas to km??? Thanks for you work
sakilxda said:
Is possible change millas to km??? Thanks for you work
Click to expand...
Click to collapse
With this approach, yes. I need to get this running first, though...
Perfect, many people hope this
And do you think is possible put the original Chinesse firmware?
Change the English to Chinese after of Chinese to english
Return to previus version again
I am currently working on a "non-intrusive" custom-rom. That is using the Chinese version on the watch, booting with a special (temporary) boot image and running translated (and modded, if needed) apps. So, a simple reboot, and you would have back the original Chinese version.
I think I can get this running. I exchanged one app with this method, so It could be done with all apps. But I am still having some problems to solve first. And I don't have much time (actually, currently, nearly no time at all ).
Neuer_User said:
I am currently working on a "non-intrusive" custom-rom. That is using the Chinese version on the watch, booting with a special (temporary) boot image and running translated (and modded, if needed) apps. So, a simple reboot, and you would have back the original Chinese version.
I think I can get this running. I exchanged one app with this method, so It could be done with all apps. But I am still having some problems to solve first. And I don't have much time (actually, currently, nearly no time at all ).
Click to expand...
Click to collapse
Really appreciate your work for our watch, I'm willing to help in translating this watch into some language, but I'm not a developer, and it would be nice if we can enable language setting in option for our future custom rom, so we can choose the language we want.
big thanks Neuer!
Neuer_User said:
Ok, I decompiled one of the Huami apps ("WearSports"), changed a small text in the resources ("Trail Run" -> "Berg Run"), compiled the app again (using apktool), signed the apk and exchanged the original apk with the modded one.
The watch starts ok. When swiping left, one gets to the Sports app, which does indeed show "Berg Run" instead of "Trail Run" (hurray). But when I want to enter one of the sports, the app force closes with the following error:
Code:
D/HmSport ( 9704): HmSportProvider -- today distance:0.0
I/slog ( 9704): 已经有文件存在于: /sdcard/.springchannel/com.huami.watch.sport , 旧文件可能被覆盖或删除呢.
E/DatabaseUtils( 9128): Writing exception to parcel
E/DatabaseUtils( 9128): java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.checkWritePermissions(SettingsProvider.java:313)
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.insertForUser(SettingsProvider.java:1110)
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:801)
E/DatabaseUtils( 9128): at android.content.ContentProvider$Transport.call(ContentProvider.java:370)
E/DatabaseUtils( 9128): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:283)
E/DatabaseUtils( 9128): at android.os.Binder.execTransact(Binder.java:446)
E/AndroidRuntime( 9704): FATAL EXCEPTION: global-work-thread
E/AndroidRuntime( 9704): Process: com.huami.watch.sport, PID: 9704
E/AndroidRuntime( 9704): java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
E/AndroidRuntime( 9704): at android.os.Parcel.readException(Parcel.java:1546)
E/AndroidRuntime( 9704): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185)
E/AndroidRuntime( 9704): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137)
E/AndroidRuntime( 9704): at android.content.ContentProviderProxy.call(ContentProviderNative.java:645)
E/AndroidRuntime( 9704): at android.provider.Settings$NameValueCache.putStringForUser(Settings.java:1094)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putStringForUser(Settings.java:3173)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putFloatForUser(Settings.java:3459)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putFloat(Settings.java:3453)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.DataManager.setTodayDistance(DataManager.java:370)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider.updateTodayDistance(SportContentProvider.java:95)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider.access$000(SportContentProvider.java:24)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider$1.run(SportContentProvider.java:57)
E/AndroidRuntime( 9704): at android.os.Handler.handleCallback(Handler.java:739)
E/AndroidRuntime( 9704): at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime( 9704): at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime( 9704): at android.os.HandlerThread.run(HandlerThread.java:61)
The mentioned permission is in the AndroidManifest.xml (as it was decompiled from the original app).
I need help from an experienced developer. If we could get this fixed, we can setup our own custom ROM, based on the most current Chinese version, including all English translations and what else we want to.
Click to expand...
Click to collapse
So, I now got the the cause of the problem:
Code:
W/PackageManager( 432): System package com.huami.watch.sport signature changed; retaining data.
W/PackageManager( 432): Package com.huami.watch.sport desires unavailable shared library com.google.android.wearable; ignoring!
W/PackageManager( 432): Unknown permission com.huami.watch.companion.permission.READ_SETTINGS in package com.huami.watch.sport
W/PackageManager( 432): Unknown permission com.huami.watch.companion.permission.WRITE_SETTINGS in package com.huami.watch.sport
W/PackageManager( 432): Not granting permission android.permission.WRITE_SECURE_SETTINGS to package com.huami.watch.sport (protectionLevel=50 flags=0x8be45)
W/PackageManager( 432): Not granting permission android.permission.CHANGE_CONFIGURATION to package com.huami.watch.sport (protectionLevel=50 flags=0x8be45)
W/PackageManager( 432): Not granting permission android.permission.DEVICE_POWER to package com.huami.watch.sport (protectionLevel=2 flags=0x8be45)
W/PackageManager( 432): Not granting permission com.huami.watch.permission.READ_USER_SETTINGS to package com.huami.watch.sport (protectionLevel=2 flags=0x8be45)
W/PackageManager( 432): Unknown permission com.huami.watch.companion.permission.READ_SETTINGS in package com.huami.watch.sport
W/PackageManager( 432): Unknown permission com.huami.watch.companion.permission.WRITE_SETTINGS in package com.huami.watch.sport
W/PackageManager( 432): Not granting permission android.permission.WRITE_SECURE_SETTINGS to package com.huami.watch.sport (protectionLevel=50 flags=0x8be45)
W/PackageManager( 432): Not granting permission android.permission.CHANGE_CONFIGURATION to package com.huami.watch.sport (protectionLevel=50 flags=0x8be45)
W/PackageManager( 432): Not granting permission android.permission.DEVICE_POWER to package com.huami.watch.sport (protectionLevel=2 flags=0x8be45)
W/PackageManager( 432): Not granting permission com.huami.watch.permission.READ_USER_SETTINGS to package com.huami.watch.sport (protectionLevel=2 flags=0x8be45)
So, that is why the application is force closing, ok. Now the question is, how to solve this. I would like to have an experienced ROM developer help me here.
OK, if someone is interested: I now understand why the permissions are not granted. It is the signature of the apk (which I needed to resign). For some permissions this signature must be identical with the signature of the platform. This key only Huami has.
So, what can be done? I am currently thinking of patching the PackageManager, so that it will not deny the permission. Not sure, if this is possible, but I will try.
Neuer_User said:
OK, if someone is interested: I now understand why the permissions are not granted. It is the signature of the apk (which I needed to resign). For some permissions this signature must be identical with the signature of the platform. This key only Huami has.
So, what can be done? I am currently thinking of patching the PackageManager, so that it will not deny the permission. Not sure, if this is possible, but I will try.
Click to expand...
Click to collapse
I can't help you to develop, I have no knowledge, but I can be a tester when ready!
Inviato dal mio D6633 utilizzando Tapatalk
Pi3rluigi said:
I can't help you to develop, I have no knowledge, but I can be a tester when ready!
Inviato dal mio D6633 utilizzando Tapatalk
Click to expand...
Click to collapse
Thanks for the offer. Main work currently is getting the knowledge on howto deodex files, mod them, re-odex them. Then I can try to exchange the Package Manager on my watch. All of this is only temporary, so even if nothing will work afterwards, a simple reboot will fix it.
Some more info, on how my planned "non-intrusive" changes will work:
- The watch will need to be booted via a fastboot command. That loads a customized boot image. The boot image will mount all filesystems and then start the processes.
- However, after all filesystems have been mounted, it will mount the custom rom over the system partition. So, instead of using the system image, the watch will use the custom ROM.
- The custom ROM will reside as one single file on the /sdcard. So there are no modifications to the system partition (and neither to the boot partition).
- After a reboot, the normal boot image is booted again, which will also not mount the custom ROM.
- If you reboot via fastboot, the modded boot.img can be booted, which will mount the custom ROM again.
The nice thing with this is, that all modifications are temporary. If something is borked up, the device cannot boot or goes into a boot loop, it doesn't matter. You simply turn the watch off and on again, and everything is back to unmodified.
So far, this seems to be working. I now need to get a working custom ROM. That is, I need to understand how to modify the apps, so deodexing, decompiling, recompiling, signing, etc.
I will probably open an open source GitHub project, as soon as I have something usable. Then people can contribute translating and modding.
Neuer_User said:
Some more info, on how my planned "non-intrusive" changes will work:
So far, this seems to be working. I now need to get a working custom ROM. That is, I need to understand how to modify the apps, so deodexing, decompiling, recompiling, signing, etc.
Click to expand...
Click to collapse
Hi!
I've just translated chinese fw to russian and switched watch to kilometers everywhere and resolve some interface bugs. )) It was easy and i can give some advices if you need.
silver-alx said:
Hi!
I've just translated chinese fw to russian and switched watch to kilometers everywhere and resolve some interface bugs. )) It was easy and i can give some advices if you need.
Click to expand...
Click to collapse
If you could describe, how you did it, that would be very helpful. Maybe even upload your original and modified firmware, so we can take a look at the differences?
Thanks!