Free-Software-for-Android / FasterGPS

With FasterGPS you can select a NTP Server matching your region to speed up the process of getting a GPS fix.
https://www.sufficientlysecure.org/android/
GNU General Public License v3.0
62 stars 20 forks source link

Unable to store the GPS data under Nougat + Systemless Root #40

Open antonywu opened 8 years ago

antonywu commented 8 years ago

It seems that FasterGPS is not able to store the chosen Continent/Region information under Nougat. You can repro this by setting the Continent and Region, and proceed to close the app, and restart it again.

takiainen commented 7 years ago

Noticed this issue too! Any fix ?

David-Guillot commented 7 years ago

I confirm the issue, and it's clearly Nougat related, not systemless root related, since my root is an old /system root, and FasterGPS was working under Marshmallow.

skjnldsv commented 7 years ago

Same!

tuxayo commented 6 years ago

logcat on a Nexus 5 with Android 7.1.2 (LineageOS for microG 14.1)

06-02 19:01:39.356   225   368 D audio_hw_primary: enable_audio_route: usecase(1) apply and update mixer path: low-latency-playback
06-02 19:01:39.389  4414  4414 W InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.
06-02 19:01:39.394   790  1141 W InputMethodManagerService: Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@f7c41c1 attribute=null, token = android.os.BinderProxy@a0d0453
06-02 19:01:39.395  4414  4414 I FasterGPS: Writing gps.conf to private files...
06-02 19:01:39.401  7579  7579 E linker  : normalize_path - invalid input: "null", the input path should be absolute
06-02 19:01:39.401  7579  7579 W linker  : Warning: unable to normalize "null"
06-02 19:01:39.417  7580  7580 D su      : su invoked.
06-02 19:01:39.417  7580  7580 D su      : starting daemon client 10081 10081
06-02 19:01:39.419  7582  7582 D su      : remote pid: 7580
06-02 19:01:39.420  7582  7582 D su      : remote pts_slave: 
06-02 19:01:39.422  7582  7582 D su      : waiting for child exit
06-02 19:01:39.424  7584  7584 D su      : su invoked.
06-02 19:01:39.424  7584  7584 E su      : SU from: u0_a81
06-02 19:01:39.424  7584  7584 D su      : Checking whether app [uid:10081, pkgName: org.fastergps] is allowed to be root
06-02 19:01:39.430  7584  7584 D su      : Privilege elevation allowed by appops
06-02 19:01:39.430  7584  7584 D su      : Allowing via appops.
06-02 19:01:39.430   946   946 I SuControllerImpl: Got change
06-02 19:01:39.430  7584  7584 D su      : 10081 /system/bin/app_process32 executing 0 /system/bin/sh using binary /system/bin/sh : sh
06-02 19:01:39.431  7584  7584 D su      : Waiting for pid 7585.
06-02 19:01:39.448  4414  4414 I FasterGPS: Remounting for RW...
06-02 19:01:39.452  7588  7588 E linker  : normalize_path - invalid input: "null", the input path should be absolute
06-02 19:01:39.453  7588  7588 W linker  : Warning: unable to normalize "null"
06-02 19:01:39.466  7590  7590 D su      : su invoked.
06-02 19:01:39.466  7590  7590 D su      : starting daemon client 10081 10081
06-02 19:01:39.469  7592  7592 D su      : remote pid: 7590
06-02 19:01:39.469  7592  7592 D su      : remote pts_slave: 
06-02 19:01:39.470  7592  7592 D su      : waiting for child exit
06-02 19:01:39.471  7594  7594 D su      : su invoked.
06-02 19:01:39.471  7594  7594 E su      : SU from: u0_a81
06-02 19:01:39.471  7594  7594 D su      : Checking whether app [uid:10081, pkgName: org.fastergps] is allowed to be root
06-02 19:01:39.477  7594  7594 D su      : Privilege elevation allowed by appops
06-02 19:01:39.477  7594  7594 D su      : Allowing via appops.
06-02 19:01:39.477  7594  7594 D su      : 10081 /system/bin/app_process32 executing 0 /system/bin/sh using binary /system/bin/sh : sh
06-02 19:01:39.478   946   946 I SuControllerImpl: Got change
06-02 19:01:39.479  7594  7594 D su      : Waiting for pid 7595.
06-02 19:01:39.552  4414  4414 E RootCommands: Exception
06-02 19:01:39.552  4414  4414 E RootCommands: java.io.FileNotFoundException: /data/local/RootToolsMounts (Permission denied)
06-02 19:01:39.552  4414  4414 E RootCommands:  at java.io.FileInputStream.open(Native Method)
06-02 19:01:39.552  4414  4414 E RootCommands:  at java.io.FileInputStream.<init>(FileInputStream.java:146)
06-02 19:01:39.552  4414  4414 E RootCommands:  at java.io.FileInputStream.<init>(FileInputStream.java:99)
06-02 19:01:39.552  4414  4414 E RootCommands:  at java.io.FileReader.<init>(FileReader.java:58)
06-02 19:01:39.552  4414  4414 E RootCommands:  at org.sufficientlysecure.rootcommands.Remounter.getMounts(Remounter.java:173)
06-02 19:01:39.552  4414  4414 E RootCommands:  at org.sufficientlysecure.rootcommands.Remounter.remount(Remounter.java:66)
06-02 19:01:39.552  4414  4414 E RootCommands:  at org.sufficientlysecure.rootcommands.Toolbox.remount(Toolbox.java:733)
06-02 19:01:39.552  4414  4414 E RootCommands:  at org.fastergps.util.Utils.writeConfig(Utils.java:241)
06-02 19:01:39.552  4414  4414 E RootCommands:  at org.fastergps.ui.BaseActivity$2.onPreferenceChange(BaseActivity.java:250)
06-02 19:01:39.552  4414  4414 E RootCommands:  at android.preference.Preference.callChangeListener(Preference.java:942)
06-02 19:01:39.552  4414  4414 E RootCommands:  at android.preference.ListPreference.onDialogClosed(ListPreference.java:282)
06-02 19:01:39.552  4414  4414 E RootCommands:  at android.preference.DialogPreference.onDismiss(DialogPreference.java:402)
06-02 19:01:39.552  4414  4414 E RootCommands:  at android.app.Dialog$ListenersHandler.handleMessage(Dialog.java:1352)
06-02 19:01:39.552  4414  4414 E RootCommands:  at android.os.Handler.dispatchMessage(Handler.java:102)
06-02 19:01:39.552  4414  4414 E RootCommands:  at android.os.Looper.loop(Looper.java:154)
06-02 19:01:39.552  4414  4414 E RootCommands:  at android.app.ActivityThread.main(ActivityThread.java:6186)
06-02 19:01:39.552  4414  4414 E RootCommands:  at java.lang.reflect.Method.invoke(Native Method)
06-02 19:01:39.552  4414  4414 E RootCommands:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
06-02 19:01:39.552  4414  4414 E RootCommands:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
06-02 19:01:39.552  4414  4414 E FasterGPS: remount failed!
06-02 19:01:39.552  7594  7594 D su      : Finishing su operation for app [uid:10081, pkgName: org.fastergps]
06-02 19:01:39.543  4414  4414 W org.fastergps: type=1400 audit(0.0:14): avc: denied { read } for name="RootToolsMounts" dev="mmcblk0p28" ino=627091 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:system_data_file:s0 tclass=file permissive=0
06-02 19:01:39.554  7594  7594 W IPCThreadState: Calling IPCThreadState::self() during shutdown is dangerous, expect a crash.
06-02 19:01:39.554  7594  7594 W IPCThreadState: Calling IPCThreadState::self() during shutdown is dangerous, expect a crash.
06-02 19:01:39.556   946   946 I SuControllerImpl: Got change
06-02 19:01:39.556  7592  7592 D su      : sending code
06-02 19:01:39.556  7592  7592 D su      : child exited
06-02 19:01:39.557  7590  7590 D su      : client exited 0
devmsv commented 6 years ago

Same issue on 8.1 lineageos with su-addon

takiainen commented 6 years ago

Yup, same problem here too on 8.1. I had to manually edit the /system/etc/gps.conf file in order to add the closest ntp server.

Any news regarding this issue? Otherwise wonderful app is useless until this is fixed.