Bin4ry / deejayeye-modder

Other
358 stars 143 forks source link

Google Maps in 4.1.22 #165

Open lazariv opened 6 years ago

lazariv commented 6 years ago

Many thanks to Bin4ry and others for a great job!

Any ideas why I can not get google maps on the Go version 4.1.22? It always shows HereMaps.

I do have provided the valid google API key and here are the applied patches: enableCacheControl, enable_MapBox, forceFCC, removeCheckIfRooted, removeNfzUpdate, RemoveUpdateForce.

Btw, the google maps where working fine on 4.1.14.

timopro commented 6 years ago

Go to slack.... how did You create the API, I use the 4.1.22 with Google maps works fine..

lazariv commented 6 years ago

I used the link provided with a script.

ferraript commented 6 years ago

what link and what script?

anyway, I also can't get it to work (DJI GO 4.1.3 + Bin4ry's patches + API key inserted with App Cloner) I still get Here Maps and if I disable them with Disable Service (or block Nokia's IPs in firewall), I get Chinese Amap

lazariv commented 6 years ago

The link, that is generated with RunMe.sh script. It looks like https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend&keyType=CLIENT_SIDE_ANDROID&r=61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81;dji.go.v4&pli=1

I also tried to insert the key to Settings.xml - no luck.

ferraript commented 6 years ago

I installed Linux Mint into VirtualBox and then all those neccessary packages just to try that script I've got the same result, map is not working

I also tried to use defogging on 4.1.9 - it doesn't work neither

Matioupi commented 6 years ago

Map and API key behaviour :

In GO 4 <= 4.1.22

if HereMaps is "valid" it is alway used before Google Maps and Google Maps never shows up, unless you have the new "mapbox patch" applyed and activated it (in device menu of GO App, reboot) then it will use the new Mapbox service afte app restart until you revert the setting again.

To have Google Maps instead of HerMaps, you need to "invalidate" HereMaps.

The Here API key is valid for an android packagename, e.g. the key in nosecneo manifest is valid for dji.go.v4 If you clone and change the package name to anything else then dji.go.v4, this will permantly invalidate HereMap API key and IF the Google Maps API key you provided at clone time is valid, then you will end up with Google Maps (google API key needs a few minutes to become "active" after you generated. You can also invalidate Here Maps Key in AndroidManifest.xml "manually" if you really want to keep dji.go.v4 package name. Do all the process with -k true to keep the files after rebuild. Then edit the AndroidManifest.xml file in your workdir, find the HereMap key and change on char randomly to make it invalid. Rebuild the app : ./runme.sh -k true -d false -p false -c false -i false -r true -w your_work_dir -o newapkname.apk (d false : do not re-decompile : already done p false : do not patch : already done c false : do not clone : already done ... r true : rebuild the apk again (with the additionnal changed key in anifest)

From the Google API key generation link you provide, I see you are not cloning to another package name, so HereMap remains valid and is used.

If you want maps, you need only "partial offline" (full offline will prevent maps from working)

Maybe there are alternative ways like "offlining" Here servers to force switching to Google...

lazariv commented 6 years ago

Many thanks for your detailed reply! Invalidating HereMaps by changing the key in AndroidManifest.xml did returned the GoogleMaps. Your explanation should be definitely put in the Readme-file!!! Or otherwise if possible to make a patch invalidate HereMaps :)

ferraript commented 6 years ago

Google Maps never shows up, unless you have the new "mapbox patch" applyed and activated it

@Matioupi, you mean 4.1.22-3028592/enable_MapBox.patch? if you do, unfortunately there is no MapboxTrialSwitch.smali in DJI GO 4.1.3 sources :( but at least you helped people with 4.1.22, thank you for that

kenhuyang commented 6 years ago

hi, can you show me how to edit the manifest file? i tried unpack it with 7zip, but see some messy codes.

ferraript commented 6 years ago

i tried unpack it with 7zip, but see some messy codes

of course you do as it's obfuscated you need to use apktool

Bin4ry commented 6 years ago

actually it’s not obfuscated but binary xml, still the answer is apktool ;) ferraript notifications@github.com schrieb am Mi. 13. Juni 2018 um 08:53:

i tried unpack it with 7zip, but see some messy codes

of course you do as it's obfuscated you need to use apktool

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Bin4ry/deejayeye-modder/issues/165#issuecomment-396926464, or mute the thread https://github.com/notifications/unsubscribe-auth/AApiLAY6akSdA4HsPJ5pkZqeH-kSWNHWks5t8QtPgaJpZM4TGX17 .

Bird23 commented 5 years ago

Map and API key behaviour :

In GO 4 <= 4.1.22

if HereMaps is "valid" it is alway used before Google Maps and Google Maps never shows up, unless you have the new "mapbox patch" applyed and activated it (in device menu of GO App, reboot) then it will use the new Mapbox service afte app restart until you revert the setting again.

Where can I activate mapbox. I can only find "test map" and this map stays empty after reboot and restart of app. Also Google Maps is empty.....