Git Product home page Git Product logo

faketraveler's Introduction

FakeTraveler

Logo

Fake where your phone is located (Mock location for Android).

Sometimes you need to fake the location of your device (for privacy or to test an app). Fake Traveler provides you a map to select the location where you want your phone to be.

Get it on F-Droid

How does it work?

Long press in the map where you want to be located or type the latitude and longitude, and tap the Apply button. Tapping the "..." button you will be shown two settings to mock the location over a period of time.

App image App image

Requirements?

In order to work, you need to allow Fake Traveler to mock locations. You have to enable Developer options and select this app in "Settings/System/Developer options/Select mock location app" option.

App image

Changelogs

See fastlane/metadata/android/en-US/changelogs/

License

Copyright © 2018 Matías Castillo Felmer

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

The icon launcher is derivative of "Location, map, navigation, pointer icon" by First Styles, used under CC 3.0 BY. The icon Launcher was created using Android Asset Studio, and is licensed under CC 3.0 BY, by Matías Castillo Felmer.

faketraveler's People

Contributors

alanblack avatar andileni avatar ferhadnecef avatar hannesa2 avatar iraamaro avatar jonnytech avatar ktprograms avatar leggewie avatar licaon-kter avatar mcastillof avatar netlagina avatar shoddysheep avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

faketraveler's Issues

Screenshots for F-Droid

You can add Screenshots for F-Droid, too, if you want.
https://f-droid.org/en/docs/All_About_Descriptions_Graphics_and_Screenshots/
https://gitlab.com/snippets/1895688
That was simply information about what is still possible. You would then only have to enter the
screenshots in fastlane. This is just one way that you can also add screenshots to the app view
if you can. If you added screenshots (then F-Droid is happy) and if you can't add any -> then
you can close the issue because it was only an info. Thank you that your app is available in
fdroid. Very much for your attention.

Location jumps back and forth between real and fake location

Describe the bug
According to my navigation app, my location jumps back and forth between my real location and the mocked one.

Information:

  • OS: LineageOS 18.1 (Android 11)
  • FakeTraveler version: 1.7

To Reproduce
Steps to reproduce the behavior:

  1. I set "How many times to mock the location" to 0.
  2. I tried different settings for "how many seconds between each mock" including the default 10, 1, and 0.
  3. Open a navigation app. The measured location will jump between the mocked and the real one.

Expected behavior
The measured location should always be the mocked one.

Enhancement : PC Controller server

I'd find it very useful to have a little Linux tool to control where I want my phone to be. I could then play both Minecraft earth and Pokemon Go from my bed :D
Moreover it would be so crazy to be able to move my character on a real map from my phone's game, by pressing arrow keys on my computer :0

Fail during start on Nexux 7 tablet

The application fails during startup on a Nexus 7 tablet.
Android version 5.1.1
Kernel version 3.1.10-gf5d7b8b

E/AndroidRuntime: FATAL EXCEPTION: main
Process: cl.coders.faketraveler, PID: 10887
java.lang.RuntimeException: Unable to start activity ComponentInfo{cl.coders.faketraveler/cl.coders.faketraveler.MainActivity}: android.view.InflateException: Binary XML file line #54: Error inflating class android.webkit.WebView
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: android.view.InflateException: Binary XML file line #54: Error inflating class android.webkit.WebView
at android.view.LayoutInflater.createView(LayoutInflater.java:633)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555)
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
at cl.coders.faketraveler.MainActivity.onCreate(MainActivity.java:64)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
at android.app.ActivityThread.access$800(ActivityThread.java:151) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5254) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at android.view.LayoutInflater.createView(LayoutInflater.java:607)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:55) 
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:682) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:741) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:365) 
at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:555) 
at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161) 
at cl.coders.faketraveler.MainActivity.onCreate(MainActivity.java:64) 
at android.app.Activity.performCreate(Activity.java:5990) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
at android.app.ActivityThread.access$800(ActivityThread.java:151) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5254) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x2040003
at android.content.res.Resources.getText(Resources.java:299)
at android.content.res.Resources.getString(Resources.java:385)
at com.android.org.chromium.content.browser.ContentViewCore.setContainerView(ContentViewCore.java:684)
at com.android.org.chromium.content.browser.ContentViewCore.initialize(ContentViewCore.java:608)
at com.android.org.chromium.android_webview.AwContents.createAndInitializeContentViewCore(AwContents.java:631)
at com.android.org.chromium.android_webview.AwContents.setNewAwContents(AwContents.java:780)
at com.android.org.chromium.android_webview.AwContents.(AwContents.java:619)
at com.android.org.chromium.android_webview.AwContents.(AwContents.java:556)
at com.android.webview.chromium.WebViewChromium.initForReal(WebViewChromium.java:311)
at com.android.webview.chromium.WebViewChromium.access$100(WebViewChromium.java:96)
at com.android.webview.chromium.WebViewChromium$1.run(WebViewChromium.java:263)
at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue.drainQueue(WebViewChromium.java:123)
at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue$1.run(WebViewChromium.java:110)
at com.android.org.chromium.base.ThreadUtils.runOnUiThread(ThreadUtils.java:144)
at com.android.webview.chromium.WebViewChromium$WebViewChromiumRunQueue.addTask(WebViewChromium.java:107)
at com.android.webview.chromium.WebViewChromium.init(WebViewChromium.java:260)
at android.webkit.WebView.(WebView.java:554)
at android.webkit.WebView.<init

Bumble issues

This works with Tinder sort of in that it doesn't need location services on but still thinks I'm in my neighborhood and not on the location that I designated. Also the Bumble dating app asks specifically for location services to be turned on I think. So this app still needs work. Let us know if this gets addressed in the next update. Thanks!

Play Store fake?

While on F-Droid, your app correctly appears as "Fake Traveler" and matches what this repo describes – on Google Play, the same package name seems to be used by some french game.

I know your Readme doesn't point to Play (which is perfectly fine, I only use F-Droid anyway). But maybe you want to report that other app, or take some other action – so this is just to let you know.

Repeated mocked location not applied error after turning off from notification.

Firstly thank you so much for the app. I was pleasantly surprised that it actually works.

Having said that one minor issue, when i stop it from the notification, it turns off but keeps repeating an error "mocked location not applied, must enable mock location in developer settings". This happens only when turning off from notification. It stops when i physically open the app, press start and then stop.

Remember zoom level

It would be useful to have a setting where the user can choose for the app to remember the zoom level they last used.

Feature Request Add Favourite Option

Please add favourite option to the app. Everything else seems to work just fine but to be able to favourite a location would be really helpful.

App don't make a new gps location

Describe the bug
A clear and concise description of what the bug is.

Information:

  • OS: [Android 14.0]
  • FakeTraveler version: [1.6]

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'fakeTraveler app made devloper instructions and click the button 'I got a message the costume gps is set but when i check via mylocation apk from f-droid it shows me always my true gps. Why?`
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots as a video
https://gofile.io/d/R92H16

Logcat
If the app is crashing, a logcat of the error could be very helpful.

Additional context
Add any other context about the problem here.

not sure this is new bug? I try with new google play and it doesn't work.

Describe the bug
I try with latest google play and it doesn't work.

Information:

  • OS: [e.g. Android 7.0]
  • FakeTraveler version: [e.g. 1.6]

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Logcat
If the app is crashing, a logcat of the error could be very helpful.

Additional context
Add any other context about the problem here.

Cannot select mock location provider

I have two mock location providers installed Fake Traveler and Fake GPS but no matter which I select in developer options, it always goes to Fake GPS. Happened sometimes with v1.4 but always with v1.6.

Crash after changing simulation duration

*Describe the bug
After changing simulation duration in settings (e.g. value : 0) and go back to the map to set location, the app chrashes and will be closed.

Information:

  • OS: Android 13, security update 5. April 23
  • FakeTraveler version: 1.9.1

To Reproduce
Steps to reproduce the behavior:

  1. Go to settings
  2. change duration to any value
  3. go back to map
  4. Set location
  5. app will be closed and no location is set

java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String android.content.SharedPreferences.getString

Describe the bug
A clear and concise description of what the bug is.

Information:

  • OS: Lineage 15.1
  • FakeTraveler version: 1.6

To Reproduce
Uncertain. It just gets force closed every once in a while when active.

Expected behavior
Not crash.

Logcat

06-16 23:42:33.668 18143 18143 E AndroidRuntime: FATAL EXCEPTION: main
06-16 23:42:33.668 18143 18143 E AndroidRuntime: Process: cl.coders.faketraveler, PID: 18143
06-16 23:42:33.668 18143 18143 E AndroidRuntime: java.lang.RuntimeException: Unable to start receiver cl.coders.faketraveler.ApplyMockBroadcastReceiver: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String android.content.SharedPreferences.getString(java.lang.String, java.lang.String)' on a null object reference
06-16 23:42:33.668 18143 18143 E AndroidRuntime: 	at android.app.ActivityThread.handleReceiver(ActivityThread.java:3194)
06-16 23:42:33.668 18143 18143 E AndroidRuntime: 	at android.app.ActivityThread.-wrap17(Unknown Source:0)
06-16 23:42:33.668 18143 18143 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1672)
06-16 23:42:33.668 18143 18143 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
06-16 23:42:33.668 18143 18143 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:164)
06-16 23:42:33.668 18143 18143 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6494)
06-16 23:42:33.668 18143 18143 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
06-16 23:42:33.668 18143 18143 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440)
06-16 23:42:33.668 18143 18143 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
06-16 23:42:33.668 18143 18143 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String android.content.SharedPreferences.getString(java.lang.String, java.lang.String)' on a null object reference
06-16 23:42:33.668 18143 18143 E AndroidRuntime: 	at cl.coders.faketraveler.ApplyMockBroadcastReceiver.onReceive(ApplyMockBroadcastReceiver.java:30)
06-16 23:42:33.668 18143 18143 E AndroidRuntime: 	at android.app.ActivityThread.handleReceiver(ActivityThread.java:3187)
06-16 23:42:33.668 18143 18143 E AndroidRuntime: 	... 8 more

Crash when pressing the back button

Launch the app, choose location, press Apply, press the phone's Back button at the right to quit the app. There is the message Fake traveler was closed. Mock location stopped, then there is Android's pop-up notification that Fake Traveler crashed or keeps crashing.

Information:

  • OS: Android 7
  • FakeTraveler version: 1.7 from F-droid

Additional context
This does not happen if Apply was not pressed, or if Stop was pressed.

java.lang.RuntimeException: Unable to destroy activity {cl.coders.faketraveler/cl.coders.faketraveler.MainActivity}: java.lang.IllegalArgumentException: Provider "network" unknown
	at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4670)
	at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4697)
	at android.app.ActivityThread.-wrap7(ActivityThread.java)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1720)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loop(Looper.java:154)
	at android.app.ActivityThread.main(ActivityThread.java:6816)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1563)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451)
Caused by: java.lang.IllegalArgumentException: Provider "network" unknown
	at android.os.Parcel.readException(Parcel.java:1716)
	at android.os.Parcel.readException(Parcel.java:1662)
	at android.location.ILocationManager$Stub$Proxy.removeTestProvider(ILocationManager.java:1212)
	at android.location.LocationManager.removeTestProvider(LocationManager.java:1254)
	at cl.coders.faketraveler.MockLocationProvider.shutdown(MockLocationProvider.java:79)
	at cl.coders.faketraveler.MainActivity.stopMockingLocation(MainActivity.java:371)
	at cl.coders.faketraveler.MainActivity.onDestroy(MainActivity.java:188)
	at android.app.Activity.performDestroy(Activity.java:7255)
	at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1161)
	at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4657)
	... 9 more

position always jumping to real position

Using a Keyone (with Android 7.1.1), I opend Google Maps and the position always jumped to the real position within a few seconds. Depending on the setting it permanentely changed between emulated and real position, but it was not possible at all to hide your real position.

Request: move on change

If i want to change my location, the current process is to long press a new place then stop and reapply the service. Is it possible to move just by long pressing - provided that the service has already been started and is not stopped?

Do we need a v2 of this app?

Hello all,

So, I have been thinking about coding a v2 if there is no other similar free/open source project, working but I will need the help of you guys.

Do you know other free/open source apps that allow you to fake locations? does those app work fine for you?

I see a project called PrivateLocations (https://github.com/wesaphzt/privatelocation), which seems to have a similar fake location functionality plus other features and it is also in F-Droid, but I haven't tested it yet. Its issues page shows that the project have been halted since 2020, just like FakeTraveler, and has some minor and bigger features. Maybe is a better idea to try to fix them, since the GUI is prettier and it seems to have some features that have been requested for FakeTraveler.

Please, let's talk if there is interest in coding a v2 or helping to fix another app.

FakeTraveler app's latest version is not working

I tested this app for study and research purposes only and found out that the latest version of this fake traveller app stops working suddenly and sometimes starts crashing even after enabling the auto background start option, locking the app in the background, and also choosing it as the mock location app in the developer option within the settings. The Android version is 14, and the model is the Mi Note 14.

Android 13 - Crashes on start

Describe the bug
A clear and concise description of what the bug is.

Information:

  • OS: [e.g. Android 7.0] Stacktrace from Android 13 (GrapeheneOS on Pixel6) 2022.08.30 - same Crash on Stock android
  • FakeTraveler version: [e.g. 1.6]

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...' Choose location and press start. then it crashes.
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

works and doesnt crash

type: crash
osVersion: google/oriole/oriole:13/TP1A.220624.021/2022083000:user/release-keys
package: cl.coders.faketraveler:7
process: cl.coders.faketraveler

java.lang.IllegalStateException
	at android.os.Parcel.createExceptionOrNull(Parcel.java:3020)
	at android.os.Parcel.createException(Parcel.java:2996)
	at android.os.Parcel.readException(Parcel.java:2979)
	at android.os.Parcel.readException(Parcel.java:2921)
	at android.location.ILocationManager$Stub$Proxy.addTestProvider(ILocationManager.java:2154)
	at android.location.LocationManager.addTestProvider(LocationManager.java:2113)
	at android.location.LocationManager.addTestProvider(LocationManager.java:2088)
	at android.location.LocationManager.addTestProvider(LocationManager.java:2062)
	at cl.coders.faketraveler.MockLocationProvider.<init>(MockLocationProvider.java:28)
	at cl.coders.faketraveler.MainActivity.applyLocation(MainActivity.java:257)
	at cl.coders.faketraveler.MainActivity$1.onClick(MainActivity.java:81)
	at android.view.View.performClick(View.java:7506)
	at android.view.View.performClickInternal(View.java:7483)
	at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
	at android.view.View$PerformClick.run(View.java:29335)
	at android.os.Handler.handleCallback(Handler.java:942)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:201)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7904)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
	at com.android.internal.os.ExecInit.main(ExecInit.java:49)
	at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
	at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:355)
Caused by: android.os.RemoteException: Remote stack trace:
	at com.android.internal.util.Preconditions.checkState(Preconditions.java:215)
	at com.android.internal.util.Preconditions.checkState(Preconditions.java:200)
	at com.android.server.location.LocationManagerService.addLocationProviderManager(LocationManagerService.java:350)
	at com.android.server.location.LocationManagerService.getOrAddLocationProviderManager(LocationManagerService.java:342)
	at com.android.server.location.LocationManagerService.addTestProvider(LocationManagerService.java:1314)


Screenshots
If applicable, add screenshots to help explain your problem.

Logcat
If the app is crashing, a logcat of the error could be very helpful.

Additional context
Add any other context about the problem here.

Unable to change location on some apps

I am unable to change my location on some apps when using FakeTraveler. It does change the location on some apps but not on others. (eg. It shows the spoofed location on Google maps but not on Grindr, etc.). I have made sure to enable location, disable precise location, and set the mock time on the app to infinite but it still doesn't seem to work for some reason.

  • OS: Android 11
  • FakeTraveler version: 1.7 (latest)

Steps to reproduce the behavior:

  1. Go to FakeTraveler
  2. Select your location
  3. Click on Apply
  4. Open another app (eg Grindr)
  5. Try to refresh top see profiles
  6. See error - unable to get location

Expected behaviour
The location on the app should be changed.

gradle build --stacktrace --warning-mode all error

info

gradle -v

------------------------------------------------------------
Gradle 6.9.1
------------------------------------------------------------

Build time:   2021-08-20 11:15:18 UTC
Revision:     f0ddb54aaae0e44f0a7209c3c0274d506ea742a0

Kotlin:       1.4.20
Groovy:       2.5.12
Ant:          Apache Ant(TM) version 1.10.9 compiled on September 27 2020
JVM:          11.0.12 (Homebrew 11.0.12+0)
OS:           Mac OS X 11.5.2 x86_64

bash

gradle build --stacktrace --warning-mode all

error msg

Configure project :
The RepositoryHandler.jcenter() method has been deprecated. This is scheduled to be removed in Gradle 8.0. JFrog announced JCenter's sunset in February 2021. Use mavenCentral() instead. Consult the upgrading guide for further information: https://docs.gradle.org/6.9.1/userguide/upgrading_version_6.html#jcenter_deprecation
        at org.gradle.api.internal.artifacts.dsl.DefaultRepositoryHandler.deprecateJCenter(DefaultRepositoryHandler.java:129)
        at org.gradle.api.internal.artifacts.dsl.DefaultRepositoryHandler.jcenter(DefaultRepositoryHandler.java:113)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.gradle.internal.extensibility.MixInClosurePropertiesAsMethodsDynamicObject.tryInvokeMethod(MixInClosurePropertiesAsMethodsDynamicObject.java:34)
        at build_borvjo9neymayfmvzxfbrb7bc$_run_closure1$_closure2.doCall(/Users/51pwn/MyWork/app/FakeTraveler/build.gradle:5)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.Closure.call(Closure.java:405)
        at groovy.lang.Closure.call(Closure.java:421)
        at org.gradle.util.ClosureBackedAction.execute(ClosureBackedAction.java:71)
        at org.gradle.util.ConfigureUtil.configureTarget(ConfigureUtil.java:154)
        at org.gradle.util.ConfigureUtil.configureSelf(ConfigureUtil.java:130)
        at org.gradle.api.internal.artifacts.DefaultArtifactRepositoryContainer.configure(DefaultArtifactRepositoryContainer.java:65)
        at org.gradle.api.internal.artifacts.DefaultArtifactRepositoryContainer.configure(DefaultArtifactRepositoryContainer.java:35)
        at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:103)
        at org.gradle.api.internal.initialization.DefaultScriptHandler.repositories(DefaultScriptHandler.java:110)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at build_borvjo9neymayfmvzxfbrb7bc$_run_closure1.doCall(/Users/51pwn/MyWork/app/FakeTraveler/build.gradle:3)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.Closure.call(Closure.java:405)
        at groovy.lang.Closure.call(Closure.java:421)
        at org.gradle.util.ClosureBackedAction.execute(ClosureBackedAction.java:71)
        at org.gradle.util.ConfigureUtil.configureTarget(ConfigureUtil.java:154)
        at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:105)
        at org.gradle.api.internal.project.DefaultProject.buildscript(DefaultProject.java:1256)
        at org.gradle.api.internal.project.ProjectScript.buildscript(ProjectScript.java:47)
        at org.gradle.api.Script$buildscript.callCurrent(Unknown Source)
        at build_borvjo9neymayfmvzxfbrb7bc.run(/Users/51pwn/MyWork/app/FakeTraveler/build.gradle:1)
        at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:91)
        at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:111)
        at org.gradle.configuration.BuildOperationScriptPlugin$1.run(BuildOperationScriptPlugin.java:65)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
        at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
        at org.gradle.configuration.BuildOperationScriptPlugin.lambda$apply$0(BuildOperationScriptPlugin.java:62)
        at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.apply(DefaultUserCodeApplicationContext.java:43)
        at org.gradle.configuration.BuildOperationScriptPlugin.apply(BuildOperationScriptPlugin.java:62)
        at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0(DefaultProjectStateRegistry.java:250)
        at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState(DefaultProjectStateRegistry.java:277)
        at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState(DefaultProjectStateRegistry.java:249)
        at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:42)
        at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:26)
        at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:35)
        at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.lambda$run$0(LifecycleProjectEvaluator.java:100)
        at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$applyToMutableState$0(DefaultProjectStateRegistry.java:250)
        at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.lambda$withProjectLock$3(DefaultProjectStateRegistry.java:310)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:213)
        at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withProjectLock(DefaultProjectStateRegistry.java:310)
        at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.fromMutableState(DefaultProjectStateRegistry.java:291)
        at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.applyToMutableState(DefaultProjectStateRegistry.java:249)
        at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.run(LifecycleProjectEvaluator.java:91)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
        at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
        at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:63)
        at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:721)
        at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:151)
        at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:41)
        at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:67)
        at org.gradle.configuration.DefaultProjectsPreparer.prepareProjects(DefaultProjectsPreparer.java:46)
        at org.gradle.configuration.BuildTreePreparingProjectsPreparer.prepareProjects(BuildTreePreparingProjectsPreparer.java:57)
        at org.gradle.configuration.BuildOperationFiringProjectsPreparer$ConfigureBuild.run(BuildOperationFiringProjectsPreparer.java:52)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
        at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
        at org.gradle.configuration.BuildOperationFiringProjectsPreparer.prepareProjects(BuildOperationFiringProjectsPreparer.java:40)
        at org.gradle.initialization.DefaultGradleLauncher.prepareProjects(DefaultGradleLauncher.java:226)
        at org.gradle.initialization.DefaultGradleLauncher.doClassicBuildStages(DefaultGradleLauncher.java:163)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:148)
        at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:124)
        at org.gradle.internal.invocation.GradleBuildController$1.create(GradleBuildController.java:72)
        at org.gradle.internal.invocation.GradleBuildController$1.create(GradleBuildController.java:67)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:213)
        at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:67)
        at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:56)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:31)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:63)
        at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
        at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:77)
        at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:41)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:49)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:44)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
        at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:44)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.lambda$execute$0(InProcessBuildActionExecuter.java:59)
        at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:86)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:58)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
        at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.lambda$execute$0(BuildTreeScopeLifecycleBuildActionExecuter.java:33)
        at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:53)
        at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.execute(BuildTreeScopeLifecycleBuildActionExecuter.java:32)
        at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.execute(BuildTreeScopeLifecycleBuildActionExecuter.java:27)
        at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:104)
        at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:55)
        at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:64)
        at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:37)
        at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.lambda$execute$0(SessionScopeLifecycleBuildActionExecuter.java:54)
        at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:67)
        at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.execute(SessionScopeLifecycleBuildActionExecuter.java:50)
        at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.execute(SessionScopeLifecycleBuildActionExecuter.java:36)
        at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
        at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
        at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:59)
        at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31)
        at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55)
        at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:41)
        at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:47)
        at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:31)
        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:65)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:29)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:78)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75)
        at org.gradle.util.Swapper.swap(Swapper.java:38)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:84)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)
        at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
        at java.base/java.lang.Thread.run(Thread.java:829)

[question] Mock location on google search possible ?

Possible with a VPN. But with location mocking possible ?
Google search uses my IP address to serve the search results. Even if I change the location from advanced search settings of google search, it still uses my IP to serve the results.
Tried mocking the location, but didn't work at all.

No lat-long for long press

First of thanks for this wonderful app. I was really excited to use it but I couldn't because lat-long value was not found when long tap.

Step to reproduce:

  • open the app
  • zoom in to a place
  • tap and hold on a place until a popup appears
  • click apply

Expected result:

Lat-Long appears in Lat-Lng field on the top bar and clicking 'Apply' should activate fake GPS.

Acctual result:

No Lat-Long appears on the top bar and clicking 'Apply' returns 'No Lat or Lng value. Long press in the map where you want to be located'

Please look into it. Thanks in advance!

Favorites

A feature request: It would be nice if you could set some favorites you can chose easily.
I guess most of the time you'll emulate the same places, which takes some time if you have to zoom into the map from full earth view. Favorites could help making this process faster.

Doesn't seem to work

Hi, I'm on andriod 11 and when I use this (enabled in mock developer) it says it set the location, but when I check with OsmAnd~ it shows my actual location.

App crash right after applying location.

Describe the bug
App crashes right after applying selected location

Information:

  • OS: Android 12
  • FakeTraveler version: 1.9.1

To Reproduce
Steps to reproduce the behavior:
After selecting desired location, click on apply and the app crashes.

Bug report; I couldn't locate the settings to enable the developer options needed to use the app

Actual behavior

When I long press on the location I wanted to fake on the map and clicked on 'Apply', I got a message which says " Mock location not applied. You must enable developer option settings. Service stopped". I tried to locate the developer option but it isn't available on the screen.

Expected behavior

I should be able to locate the developer option on the screen. Developer option allows you to configure system behavior in other to profile and debug your app performance. The app cannot work without turning on the developer option so, my expectation was to be able to locate developer option and toggle it on enable me apply my mock location.

How to reproduce

  • Download fake travelers

  • launch it and pick a location by long pressing the point on the screen or typing the longitude and latitude.

  • Click on "Apply"

  • A message will appear on the screen telling you to turn on developer option.(" Mock location not applied. You must enable developer option settings. Service stopped".)

  • Search the entire app for it. You won't find it.

As stated in the developer Android studio( the link you dropped in the read me file). "the developer option will be available by default on Android 4.1 and below and Android above 4.1 will have to go through some steps to locate the developer option through the app settings. I couldn't see anything like that on my device

Device used - Tekno spark

Version - Android 7.0

Reproducing the bug

https://youtu.be/Uxr6YM35lB0

request functions

Hello, first of all, I want to congratulate for your app. In other hand I want to request two functions, 1) one remote control to control the position, that supersede another apps, 2) one option to load gpx route, to simule transit's. Thanks for your efforts!

Google Map Dont Change

Location in change some apps but at google map app still own location. How it can solved?

A confusing icon on FakeTraveler's UI

@mcastillof

Hello, I found a problem with the app's UI design. At first sight, I thought the widget in the upper right corner would open a menu as usual. But when I clicked on it, it took me to a new page. This icon seems to have something to do with "More options", but the page this icon opened seems to be related to "Help" or "Information". As a suggestion, if you can design a more intuitive icon for this, it may greatly improve the user experience. Could you fix this issue?

Fake Traveler-github

App stops fake location after a while silently

Describe the bug
When the fake location is enabled, after a while, the app is terminated, even though all power saving options for this app are disabled. Other applications, which are configured the same way, properly run indefinitely in the background. To give an idea concerning the timespan, the app seems to be terminated within 5 to 10 minutes.

Information

  • OS: Android 9
  • FakeTraveler version: 1.9.1

To Reproduce
Steps to reproduce the behavior:

  1. Disable all power saving options and allow running Fake Traveller in the backround
  2. Start Fake Traveller
  3. Apply fake location
  4. Let it run in the background while doing other things.
  5. When opening the application later on, the APPLY button is shown again, meaning, the location is not active anymore.

Expected behavior
The set fake location defined with Fake Traveler should persist, until the fake location is stopped from within the app.

Screenshots

Logcat

Additional context

Does not function on Huawei phones

Tested on Mate 8. Most recent updates.

Real location is detected; possible explanations:

  • Huawei ignores settings and detects location using wifi networks, even if disabled in Location Access and Scan Settings.

Issue 2; spoofing fails; possible explanations:

  • Huawei or specific applications (Chinese; Baidu Maps) may be detecting that location spoofing is being used, and refuse to accept the spoofed data. When the phone is in airplane mode, the spoofed location is still not functional.
  • When a non-Huawei-Approved application goes into the background on a Huawei phone, many functions are disabled, such as data access, and possibly other things. Can not be overridden via settings. Settings ignored again.

Solution:

  • Do not buy Huawei.

long press don't add longitude

The bug

When I do a long press on the map, the latitude change , but not the longitude.
If I enter longitude manually, the mocked location work fine.

My configuration

Wiko pulp 4G
Android 5.1.1

Tell me if you need more informations

No longer works with Lineage 17 (microG)

FakeTraveler does not work as expected in LineageOS 17.
The app itself works correctly, but I cannot Apply the location.
This worked fine on Lineage 16.

Information:

  • OS: Lineage4microG (https://download.lineage.microg.org/tissot/)
  • Platform: Tissot
  • FakeTraveler version: latest from F-Droid and the AndroidX PR
  • Developer mode enabled, and FakeTraveler set as location mocking app.

To Reproduce
Steps to reproduce the behavior:

  1. Go to main view
  2. Click on Apply
  3. The Stop button never appears and third party apps confirm that the location is not set.
  4. See error log

Expected behavior
Pressing the Apply button would result in the button becoming Stop and the location being mocked.

Logcat

10-19 10:52:14.947  1483  1483 V SettingsProvider: Notifying for 0: content://settings/secure/location_providers_allowed
10-19 10:52:14.950  2900  2939 V ULocation: onSetRequest: ProviderRequest[OFF] by WorkSource{}
10-19 10:52:14.950  2900  2939 V ULocation: using autoUpdate=false autoTime=9223372036854775807
10-19 10:52:14.951  2900  2967 D ULocClient: Disable automatic updates
10-19 10:52:14.952  2969  2992 D ULocService: setUpdateInterval[com.google.android.gms] interval: 0
10-19 10:52:14.952  2969  2992 D ULocService: Disable location updates
10-19 10:52:14.952  2900  2967 D ULocClient: updateBinding - current: true, refs: 1, reqs: 0, avail: true
10-19 10:52:14.966  2900  2939 V ULocation: onSetRequest: ProviderRequest[ON interval=+1d0h0m0s0ms] by WorkSource{1000 android}
10-19 10:52:14.966  2900  2939 V ULocation: using autoUpdate=true autoTime=86400000
10-19 10:52:14.968  2900  2967 D ULocClient: Set update interval to 86400000
10-19 10:52:14.969  2969  2992 D ULocService: setUpdateInterval[com.google.android.gms] interval: 86400000
10-19 10:52:14.969  2969  2992 D ULocService: Set merged location interval to 86400000 (com.google.android.gms:86400000ms)
10-19 10:52:14.969  2900  2967 D ULocClient: updateBinding - current: true, refs: 1, reqs: 1, avail: true

Additional context
I am using the microG version of Lineage 17.

Map is blank

When I open the app, it shows the title bar, coordinates, zoom buttons and copyright info, but no map.

Screenshot_20210120-234555

Pixel 4a/Android 11, Nokia 6.1/Android 10
git master 2021-01-20 (6602b38)

Only works if refresh not 1

With location refesh count set to 1 (the default) the mock location is not updated. Setting to 100 or 0 works.

Also, the apply button does not change to stop once started.

Map blank

When opening the application, all that is visible is a blank grey screen and no map is visible. The last time this happened was when mapbox changed its API.

Can someone please take a look at this? Just making sure if I'm the only one experiencing this.

The latest version of this app is not working

I tested this app for study and research purposes only and found out that the latest version of this fake traveller app stops working suddenly and sometimes starts crashing even after enabling the auto background start option, locking the app in the background, and also choosing it as the mock location app in the developer option within the settings. The Android version is 14, and the model is the Mi Note 14.

Append fake in satellite,notification,forgery history into fake traveler

Component
Fake traveler is an app to falsify location of device.decent for personal necessity or other purposes like a test or an experiment in routine days.user guide only
Clicking or long press on a location map and afterwards press on apply button and your locality has been mocking or switch over.
And before mock the location,a user have to access to developer option which in settings android.in analysis there are two
usability of this app.first for development and second for cheating.we can see in development greatly helpful for reproducing system surroundings without leaving the home for example we have some error on the route in GPS log,when refinement we only run the log then the app acting up like it was travelling on distinctive road.
And on section cheating visible usefulness when playing a game like POKEMON or others,we forge our location to gain something we incapable to.

Proposal.
Since using the app in recent time,evidently so practical to use on mocking GPS system,Only several feature is incomplete and I as a client want to distribute some of my idea to enhance or complement the quality of the app,as a PO might want his project more exquisite.
My proposal is following below.
1.fake in satellite
2.notification
3.forgery history
Fake in Satellite is a component that be required in fake or mocking map which will give anyone to mocking location in a visual nature object in space, beginning from continent to a country,county and area or organization,the satellite will collecting any information of the map.and with 2d image we can see every part of the world.
Notification is a safety feature which give caution to a user in case something happens or going on.for example in the feature will notify train schedules or
circumstances of traffic on the route that we pass frequently,Traffic conditions in a place are difficult to predict, can change suddenly in hours or in minutes.
forgery history is a feature which display all the activity of fake location that has been used,will showed every detail of place like when the time we mocking location or the spot(point)of place we mocking.

Mock up
I've been design fake in setellite will be placed in angle of main map.we can see the object clearly.
PicsArt_08-09-08.38.09.png
This is how working.
PicsArt_08-08-10.22.28.png

Notification looks goodly be placed in under''time interval in seconds between every mock''and neatly arranged with the others.
PicsArt_08-09-08.45.18.png

Forgery history will be affix under notification feature.
PicsArt_08-09-08.54.51.png

Benefits.
I've been gather and accumulate all my analysis that features I recommend very useful for PO.the following is usefulness of feature

1.fake in satellite
With affix fake in satellite it will give a natural visual for user and in utilization the satellite will clarify an existing object in the map even we zoom to closest distance,I thought this is very good idea
in mocking or fake our location,we can put our position in a gap or in a small object like a tree, on a sidewalk or other.

2.notification
when we mocking or fake our position in an area like in traffic on the street, notification will notify us about all details in that position for example traffic is on jams or about plan road closures that can affect the traffic.this allows us to choose the right way(road) to take our destination
.in another side with notification we will receive info that in a nearby there's taxi service, so can help to a trip so quick to get aim.this a great argument for this feature is very useful in application.

3.forgery history
Forgery history will display all information about our fake location history.with all of data covered by GPS,usability of this feature is users could re-select the position or place that they have been mocking in the past so not hardship to find a spot of area in future,this will simplify for client.
these three features are has great valuable for the application,I wish the PO
Would be pleasure to affix these.

keeps crashing

as soon as I hit the apply button it crashes. I have interval at 0 and I never had this issue on my old device. but I'm now using a motor g8 power and I downloaded it from fdroid not play store. please help. thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.