Welcome to the CrackBerry Forums Create Your Account or Ask a Question Answers in 5 minutes - no registration required!
Page 1 of 28 123411 ... LastLast
Results 1 to 25 of 691
Like Tree76Likes
  1. moneytoo's Avatar
    CrackBerry User

    Posts
    65 Posts
    Global Posts
    71 Global Posts
    Thread AuthorThread Author   #1  

    Lightbulb How to fix any Android app dependent on Google Maps API v1 and make maps working

    Update - There's a automated script by christian-georgescu

    Original post bellow:

    It is possible to make maps work inside various Android apps. For Google Account dependent apps, see my other thread: How to fix Gmail, Ingress and other Google Account dependent apps
    To fix such app you have to do:

    How to find what Google Maps API version apk uses?
    1. Decompile app APK using apktool
    2. Check manifest - does it contain text "com.google.android.maps.v2.API_KEY"? If yes, application uses API v2 otherwise it uses API v1.


    Patch app which uses API v1
    1. Decompile app APK using apktool
    2. Fix or remove Google Maps library dependency in manifest (this one is already known workaround) - the easiest way is to remove line with <uses-library android:name="com.google.android.maps" /> completely
    3. Download gapps from goo.im either for Android 2.3.3 (for OS 10.1) or Android 4.2.2 (for OS 10.2)
    4. Extract framework from /system/framework/com.google.android.maps.jar
    5. Decompile the maps jar using apktool as well
    6. Move decompiled maps smali code to your decompiled app
    7. Extract RSA key from the original APK (inside META-INF)
    8. Convert the key (openssl.exe pkcs7 -inform DER -in *.RSA -print_certs -out cert)
    9. Get MD5 fingerprint (openssl.exe x509 -noout -in cert -fingerprint -md5), remove colons, to lowercase (SHA1 might be necessary for API v2)
    10. Find method setAndroidSignature() (for Android 4.2.2 it's in file DataRequestDispatcher.smali, see post #28 for details)
    11. Current fingerprint is in parameter p1 and it's getting encoded into protobuf. Create new string (const-string v2) with the found fingerprint and use that when invoke-static instead.
    12. Compile it back, sign (jarsigner), convert, deploy, enjoy

    See post #36 for detailed instructions thanks to ATV_Hightower.

    How to deal with API v2
    1. Decompile your app using apktool.
    2. In file GooglePlayServicesUtil.smali find method isGooglePlayServicesAvailable() and replace the whole content of the method with just:
      Code:
          .locals 1
          .param p0, "context"    # Landroid/content/Context;
      
          .prologue
          const/4 v0, 0x0
      	
          return v0
      or (depending on versions you use), the second line might look like:
      Code:
          .parameter "context"
      The method name may be obfuscated - in that case it's the method containing string "com.android.vending".
    3. Change API v2 key to valid value (one you have registered, see https://developers.google.com/maps/d...ing_an_api_key) - otherwise tiles won't load.
    4. Pack your app, sign, convert, and deploy.
    5. Convert and deploy Google Play Services (aka GMS/GMSCore, latest apk is usually required!). com.google.android.gms must be install for maps to work!


    Update (2014/01/28): Here's current version of Google Play Services with few patched verifications: Google Play services 4.1.32 (978161-36) patched.apk

    WIP: I'm going to check if there's any easy way of reusing the authors fingerprint.

    If you only embed framework code into app, it will work but won't load any tiles (app mBank, uses API v1)
    How to fix any Android app dependent on Google Maps API and make maps working-vrvvo3.png

    With correct fingerprint you have it all working (app Pubtran, uses API v1)
    How to fix any Android app dependent on Google Maps API and make maps working-2eobi3l.png

    Another example (app Meteor, also uses API v1)
    How to fix any Android app dependent on Google Maps API and make maps working-img_00000018.png

    Simple test application using API v2.
    How to fix any Android app dependent on Google Maps API and make maps working-img_00000022.png

    lyft also uses API v2.
    How to fix any Android app dependent on Google Maps API and make maps working-img_00000024.png
    Last edited by moneytoo; 01-27-2014 at 06:03 PM.
    Thanked by 15:
    + Show/Hide list of the thanked
    ATV_Hightower (10-21-2013),  christian-georgescu (10-28-2013),  gopi214ever (10-28-2013),  Guyzer (01-11-2014),  jmcmanus26 (11-10-2013),  kratzer999 (10-20-2013),  ladyintensity (01-26-2014),  mhhH4RI (05-16-2014),  mrfreeze574 (11-18-2013),  Otech#CB (11-18-2013),  Ratul Ramchandani (04-15-2014),  slotime (10-24-2013),  snejpa (04-25-2014),  vernigorka (11-18-2013),  Willeonabe (10-25-2013) 
  2. coolhand297's Avatar
    CrackBerry Abuser

    Posts
    128 Posts
    #2  

    Default

    This looks very promising, now let's see if goodereader or one of the other sites steps up to the plate and offers these conversions as this is totally out of my league.

    Posted via CB10
    Dunmanway Emar and Dude_9 like this.
  3. coolhand297's Avatar
    CrackBerry Abuser

    Posts
    128 Posts
    #3  

    Default

    Now all we need to do is bypass BB's no blue tooth for Android apps.

    Posted via CB10
    Thanked by:
    1magine (11-18-2013) 
    1magine likes this.
  4. zocster's Avatar

    Posts
    9,636 Posts
    Global Posts
    11,373 Global Posts
    PIN
    changes way too often
    #4  

    Default

    Thanks for the share op

    Sent from my Z10 using Tapatalk


    Community Rules & Guidelines | Marketplace Rules & Guidelines
    Passport PIN: 2BDD6F5F | Note 3 PIN: 7F4337AD

  5. CatlinFD's Avatar
    CrackBerry Genius

    Posts
    1,599 Posts
    Global Posts
    1,615 Global Posts
    PIN
    24E2B9CC
    #5  

    Default

    Hey OP, will you take app modification requests to remove gmaps or convert it?

    Posted via CB from my BlackBerry Z30
    BlackBerry History: 8220 > 9800 > 9810 > 9900 > DevAlpha A > Z10 > Z30
  6. moneytoo's Avatar
    CrackBerry User

    Posts
    65 Posts
    Global Posts
    71 Global Posts
    Thread AuthorThread Author   #6  

    Default

    I can't promise anything but since I'm definitely going to fix some apps for myself let me know what apps you'd like to fix. Then either me or someone else might fix it. The whole process can be automated so a tool is also possible.

    Posted via CB10
    Thanked by:
    keenwerkz (11-21-2013) 
  7. stabstabdie's Avatar
    CrackBerry Genius

    Posts
    3,146 Posts
    Global Posts
    3,153 Global Posts
    #7  

    Default

    Oh that's all you have to do??
    Lol
    Just kidding. Thanks. Too technical for me.
  8. stabstabdie's Avatar
    CrackBerry Genius

    Posts
    3,146 Posts
    Global Posts
    3,153 Global Posts
    #8  

    Default

    Quote Originally Posted by coolhand297 View Post
    Now all we need to do is bypass BB's no blue tooth for Android apps.

    Posted via CB10
    Don't forget about nfc.

    There are way better nfc apps for Android than what is currently available.
  9. coolhand297's Avatar
    CrackBerry Abuser

    Posts
    128 Posts
    #9  

    Default

    Well here are the first 2 requests, lexus entune and navy Federal credit Union

    Let me know.

    Posted via CB10
  10. coolhand297's Avatar
    CrackBerry Abuser

    Posts
    128 Posts
    #10  

    Default

    I have both apk files if needed

    Posted via CB10
  11. noelito4three's Avatar
    CrackBerry Abuser

    Posts
    289 Posts
    #11  

    Default

    Whoa. My not working banking app need this


    Posted via CB10
  12. coolhand297's Avatar
    CrackBerry Abuser

    Posts
    128 Posts
    #12  

    Default

    I almost forgot Trulia for Agents, I have this apk as well.

    Posted via CB10
  13. lcohen999's Avatar
    CrackBerry Abuser

    Posts
    487 Posts
    Global Posts
    524 Global Posts
    PIN
    27EB5FA6
    #13  

    Default

    Starbucks all, please!

    Posted via CB10
    macaroon9 likes this.
  14. kratzer999's Avatar
    CrackBerry Abuser

    Posts
    108 Posts
    #14  

    Default

    Would need more specific info on how to get this done.

    I've done the removing gmaps method. So if you can explain a bit more simple I would appreciate.

    Posted via CB10
  15. AnimalPak200's Avatar
    CrackBerry Genius

    Posts
    4,505 Posts
    #15  

    Default

    Quote Originally Posted by moneytoo View Post
    I can't promise anything but since I'm definitely going to fix some apps for myself let me know what apps you'd like to fix. Then either me or someone else might fix it. The whole process can be automated so a tool is also possible.

    Posted via CB10
    Perhaps you can collaborate with Sacha and build a module for Sachesi... donations would be earned!
  16. ad19's Avatar
    CrackBerry Master

    Posts
    1,110 Posts
    Global Posts
    1,112 Global Posts
    #16  

    Default

    Please try Glympse if possible.
  17. mapaulo's Avatar
    CrackBerry User

    Posts
    81 Posts
    Global Posts
    83 Global Posts
    #17  

    Default

    Quote Originally Posted by AnimalPak200 View Post
    Perhaps you can collaborate with Sacha and build a module for Sachesi... donations would be earned!
    if someone can do this to the tinder app for me that would be awesome, i can't seem to get the gmap removal to work
    Thanked by:
    ladyintensity (01-26-2014) 
  18. rgarza8's Avatar
    CrackBerry Abuser

    Posts
    267 Posts
    #18  

    Default

    Moneytoo, can you look at the ESPN FFL app and see why it wont work and if you can come up with a fix for that?
  19. Guyzer's Avatar
    CrackBerry Addict

    Posts
    664 Posts
    Global Posts
    680 Global Posts
    #19  

    Default

    you seem like a smart dood. if you can please make it so google maps can allow me to sign in. i need to see my stared locations. i have many other uses for google services framework if you can get it working.
  20. moneytoo's Avatar
    CrackBerry User

    Posts
    65 Posts
    Global Posts
    71 Global Posts
    Thread AuthorThread Author   #20  

    Default

    While the described solution works a lot of apps require Google Play Services. Somehow it worked for me for example in the latest official Geocaching app but I need to find more refined solution so please bear with me.
    tabl likes this.
  21. kratzer999's Avatar
    CrackBerry Abuser

    Posts
    108 Posts
    #21  

    Default

    K. Waiting.

    Hope you can make a video tutorial too

    Posted via CB10
  22. CatlinFD's Avatar
    CrackBerry Genius

    Posts
    1,599 Posts
    Global Posts
    1,615 Global Posts
    PIN
    24E2B9CC
    #22  

    Default

    Quote Originally Posted by moneytoo View Post
    I can't promise anything but since I'm definitely going to fix some apps for myself let me know what apps you'd like to fix. Then either me or someone else might fix it. The whole process can be automated so a tool is also possible.

    Posted via CB10
    My banking application
    au.com.nab.mobile
    Only problem is it uses friggin Google Maps so I get error -9
    BlackBerry History: 8220 > 9800 > 9810 > 9900 > DevAlpha A > Z10 > Z30
    Thanked by:
    mjdimer (11-09-2013) 
  23. bluetroll's Avatar
    CrackBerry Genius

    Posts
    2,228 Posts
    Global Posts
    2,240 Global Posts
    #23  

    Default

    yeah. i've managed to disable the google maps api, but i would love to be able use it if possible.

    i would love a video tutorial.

    edit:

    I attempted this and got to step 6. I assume I'm just supposed to copy and paste the folders into the matching folders in my unpacked apk folders?

    I've also made it to step 7, I've renamed the original .apk to .zip and unzipped the file. I've found the .RSA file.

    Not sure what to do after... help would be great. how to install openssl?
    Last edited by bluetroll; 10-21-2013 at 11:55 AM.
    I LOVE MY 8310 9700 9900 Z10 Z30 Passport!
  24. ATV_Hightower's Avatar
    CrackBerry Abuser

    Posts
    352 Posts
    #24  

    Default

    I havent tried it yet, but does it "just" fix the google maps problem or could the google account problem be fixed thisway? I`m asking because I waiting since the first day with my Z10 to play Ingress..
    Anyway, it is great that you share your knowledge!

    BlackBerry Z10
  25. jmcmanus26's Avatar
    CrackBerry Newbie

    Posts
    9 Posts
    #25  

    Default

    Can you post an example of how you added the signature in DataRequestDispatcher.smali setAndroidSignature()? This is where I am stuck I can't get my apk to recompile.
Page 1 of 28 123411 ... LastLast

Similar Threads

  1. Best Leak to Run on T-Mobile Network???
    By AfroZepher in forum BB10 Leaked/Beta OS
    Replies: 13
    Last Post: 01-26-2014, 08:25 PM
  2. Manually program BB10 device to set MDN and MSID?
    By onlinespending in forum BlackBerry 10 OS
    Replies: 3
    Last Post: 10-20-2013, 01:26 PM
  3. My Z10 updated now I can't hook up to wifi
    By Tony Stashuk in forum BlackBerry Z10
    Replies: 5
    Last Post: 10-20-2013, 12:44 AM
  4. Used sachesi and SR version still says 4181??
    By sinnar in forum BlackBerry 10 OS
    Replies: 4
    Last Post: 10-19-2013, 09:18 PM

Posting Permissions