• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[APP/FRAMEWORK] NOGAPPS Project (NetworkLocation, MapsAPI, Blank Store)

Search This thread

MaR-V-iN

Senior Member
Apr 23, 2011
496
2,276
Introduction:
Most users propably run proprietary apps from Google by one of the three reasons "Stock ROM", "integrated within custom rom" (which may be not entirely legal) or "installed from gapps zip".
Some of the users know that those gapps do track them more than most other apps as they are system-apps and therefor got full rights on android.
Only few users use cyanogenmod or another rom without gapps and leave without it. This solution however is not great as you wont get updates for your apps that regularly and all over googles apps are not bad in functionality (but in privacy)

I am one of those who do they everyday work without google stuff and without gapps. I found out several problems:
  • Some apps do not install because of missing Google Maps API
  • Some apps fc at startup bacause of missing Maps API or market license check issues
  • Some apps hardcoded links to several Google Apps and therefor fc or react unexpectedly on certain cases.
  • No access to Play Store (i tried nearly every alternative market, but nothing is as good for free apps as play store) Meanwhile, F-Droid provides nearly everything you need
So i started developing what i named the NOGAPPS package - a set of applications and frameworks with the goal to fill the gap of missing gapps package.
This project will be continued under the name microG Project.​

Parts of this project:

Maps API v1
A replacement of the often used google maps api with an open source one using OpenStreetMap.
State: Version 0.5 - LEGACY BETA (15.02.2014)
License: GNU LGPL - http://www.gnu.org/licenses/lgpl.html
Used Third-Party-Librarys:
- osmdroid - LGPL​

Network Location
Geolocation using wlan and data from Apple or a database of gsm phone cells at /sdcard/.nogapps/cells.db
State: Version 0.1.3.2 - NO LONGER SUPPORTED (11.12.2013) - use µg UnifiedNlp
License: Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0
Upcoming features:
- Select data sources
- allow disabling wifi based location
- Add support for Mozilla Location Services
- Collect cell/wifi location information on device and allow to submit collected information to several services
Used Third-Party-Librarys:
- Wire Mobile Protocol Buffers - Apache License 2.0​

BlankStore
An open source Google Play Store client
Google may not like this - you're responsible for what you do, i suggest using an extra account for this app :angel:
State: Version 0.7.5 - LEGACY (9.2.2016) - only critical updates, no new features
License: Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0
Used Third-Party-Librarys:
- android-market-api - Apache License 2.0
- protobuf - New BSD License​

Not useable yet:
  • LoginService (used by some Tasks/Feed -Apps) [Development]
  • Services Framework [Development]
  • Maps API v2: This time with onboard map rendering, so we can use it offline even for navigation purposes and search

Downloads:
PROVIDED "AS IS", ... (YOU are responsible for what YOU do!)
NetworkLocation:
Latest Release: Check out microG UnifiedNlp

NetworkLocation Database [Old file format] (copy to /sdcard/.nogapps/cells.db):
-- Based on dumps of opencellid.org and opencellids.org - all credits to those guys there!
Latest release: Version 2013-01-01: World - Africa - Asia - Australia - Europe (Mirror) - North-America - South-America
Version 2012-08-27: World - Africa - Asia - Australia - Europe - North-America - South-America
Version 2012-07-06: World - Africa - Asia - Australia - Europe - North-America - South-America - Germany

Maps API v1
Latest Release: Version 0.5 - Download [FLASHABLE ZIP] BETA 3
Version 0.4 - Download [FLASHABLE ZIP] BETA 2 (fixes minor issues)
Version 0.3 - Download [FLASHABLE ZIP] BETA 1

Blank Store
Latest Release: Version 0.7.5 - Download [APK]
Version 0.7.4 - Download [APK]
Version 0.7.3 - Download [APK]
Version 0.7.2 - Download [APK]
Version 0.7.1 - Download [APK]
Version 0.7.0 - Download [APK]
Version 0.6.6 - Download [SYSTEM-APK] BETA 3
Version 0.6.3 - Download [SYSTEM-APK] BETA 2
Version 0.4.7 - Download [SYSTEM-APK] BETA 1
Version 0.3.7 - Download [SYSTEM-APK]
Version 0.3.1 - Download [SYSTEM-APK]

Installation Instructions:
NetworkLocation
Install on Android 2.3 - 4.3: Copy NetworkLocation.apk to /system/app/NetworkLocation.apk, reboot to recovery and clean dalvik-cache.
Install on Android 4.4 and later: Copy NetworkLocation-gms.apk to /system/priv-app/NetworkLocation.apk, reboot to recovery and clean dalvik-cache.
Use cell locations:: Either download database from above or create your own

Maps API
Install on Android 2.3 and later: Install the flashable zip from recovery​

Blank Store
Install on Android 4.0.4 and later: see here
Generate Android ID: see here

Source Code:
NetworkLocation - GitHub
Maps API - GitHub
BlankStore - GitHub (new dev version: GitHub)
LoginService GitHub
Google Client Library GitHub
Play Store Client Library GitHub

Donations:
Feel free to donate via PayPal.
Donators: @haffenloher, "privacy lawyering"
If your donation is not listed here, this is not because i don't received or honored it, but for privacy reasons. I'll publish only those that explicitly stated that they want to be published (opt-in).​

if anybody is interested in helping me to develop these things or in testing, feel free to leave a pm or comment.
This project's goal is to make android a real open source project - where real means good for everyday use, without stalking google apps.

MaR-V-iN
 

Attachments

  • Screenshot_2012-06-17-17-05-30.jpg
    Screenshot_2012-06-17-17-05-30.jpg
    41.7 KB · Views: 61,506
  • Screenshot_2012-06-17-17-08-20.jpg
    Screenshot_2012-06-17-17-08-20.jpg
    40.3 KB · Views: 59,366
  • Screenshot_2012-08-11-21-58-53.jpg
    Screenshot_2012-08-11-21-58-53.jpg
    39.8 KB · Views: 56,694
  • Screenshot_2012-08-11-21-59-16.jpg
    Screenshot_2012-08-11-21-59-16.jpg
    42.7 KB · Views: 55,291
Last edited:

SifJar

Senior Member
Jul 30, 2009
619
269
Interesting. One would assume these could be legally integrated into a custom ROM as well? Would make things easier for people who install custom ROMs often (switching between different ROMs/builds etc.) I'm sure.
 

MaR-V-iN

Senior Member
Apr 23, 2011
496
2,276
One would assume these could be legally integrated into a custom ROM as well?

Yes. I want this to be as open as possible. I am going to publish the sourcecode under apache license when its ready, so everybody is free to change what he likes. (Some of the upstream librarys i use are licensed under gpl so at the moment it seems like not everything can be apache licensed, however gpl should be enough for most usecases and maybe i will recode some of the stuff if need)
 

r3d4

Member
Jul 11, 2008
19
0
This is really awesome! This would be the ideal addition to custom roms.
It always bothered my that i have to install the gapps only to get access to market.

You think about adding own syncprovider so one can use the calendar without creating a google account. I found a small apk for this purpose but open-source solution is always better.
 

Righteous Joe

Senior Member
Dec 16, 2010
107
10
Adding Gapps to a custom rom is only illegal for developers to do, because that from can be flashed to non licensed android devices. A end user can legally install gapps to any rom he is running as long as his device is licensed to have google apps on it, so if your device comes with gapps in its stock state, than you can re add them to any other rom you put on your devive.

Sent from my HTC Sensation using XDA
 

SifJar

Senior Member
Jul 30, 2009
619
269
Adding Gapps to a custom rom is only illegal for developers to do, because that from can be flashed to non licensed android devices. A end user can legally install gapps to any rom he is running as long as his device is licensed to have google apps on it, so if your device comes with gapps in its stock state, than you can re add them to any other rom you put on your devive.

Sent from my HTC Sensation using XDA

No one ever said otherwise.
 

Empty2k12

Senior Member
Nov 12, 2011
113
187
Berlin
You think about adding own syncprovider so one can use the calendar without creating a google account. I found a small apk for this purpose but open-source solution is always better.

Syncprovider isnt so easy as you think. I tried it myself with the sample at google developers but the ruby-Code isnt visible with their system so he must write the serverside-code himself.

But i think this Projekt is very intresting and the android-market-api sounds intersting to me.:D:D


sent from my icecream.
 

plasmastrike

Senior Member
Aug 16, 2008
146
23
North ogden
dystopiancode.com
cool more diversity in android and more chance for diversity.
and a more open android

Is this going to get rid of the google account from android
aptoide-- is a good marketplace(repository based market) --( think it is open source)
k9mail --open source email client
osmand-- one of the open source map applications-- get the app off the google page for a free pro version)
dragon go-- voice to text-- not open source but an alternative
 

m2xtreme

Senior Member
Sep 5, 2010
132
33
I wish you the best of luck on this project and I hope it is a great success!

I have to ask though, why choose Apple for Network Location? I don't see how Apple is any better than Google. I skimmed through the link you posted but I'm still not convinced... perhaps I'm being too skeptical :laugh:
 

zman0900

Senior Member
Jan 20, 2010
277
230
Columbus, OH
It would be awesome if the contacts / calendar providers were written to allow a configurable server address. Then anyone could run their own server on a home network or vps. Of course the server would have to be open source too, but I'm sure it will.
 

MaR-V-iN

Senior Member
Apr 23, 2011
496
2,276
I have to ask though, why choose Apple for Network Location? I don't see how Apple is any better than Google. I skimmed through the link you posted but I'm still not convinced... perhaps I'm being too skeptical :laugh:
I needed to use a good data source and the only one I know is Google's one (correct me if I'm wrong). Apple uses Google's data, but their API has an completely different approach: Google wants you to send them all wireless and phone networks, your Google account, Android device id, phone number, ... and returns your Geo location. As there is nothing to be cacheable (your wireless networks change probably minutely), you do these requests many times a day. Apple's API let you simply send them one single wifi Mac and they return its location and those in the environment of 250m. The exact location is calculated on the device and you may cache results so you may end up with a database with all necessary data to locate you
here you have been before (or next to this place) without any further data connection.
It would be awesome if the contacts / calendar providers were written to allow a configurable server address. Then anyone could run their own server on a home network or vps. Of course the server would have to be open source too, but I'm sure it will.
I planned to use CardDAV and CalDAV for that. There are several open source servers that support both, including open source Microsoft exchange clone zarafa. (But you probably want to use exchange active sync with zarafa)
 

mattyyey

Senior Member
Mar 28, 2010
204
88
Manchester
what a fantastic idea! I can foresee some problems, as Android versions upgrade again, however I'm all for it!

(I also find it funny Apple's API is more open then Google's LMFAO )
 

Top Liked Posts

  • There are no posts matching your filters.
  • 422
    Introduction:
    Most users propably run proprietary apps from Google by one of the three reasons "Stock ROM", "integrated within custom rom" (which may be not entirely legal) or "installed from gapps zip".
    Some of the users know that those gapps do track them more than most other apps as they are system-apps and therefor got full rights on android.
    Only few users use cyanogenmod or another rom without gapps and leave without it. This solution however is not great as you wont get updates for your apps that regularly and all over googles apps are not bad in functionality (but in privacy)

    I am one of those who do they everyday work without google stuff and without gapps. I found out several problems:
    • Some apps do not install because of missing Google Maps API
    • Some apps fc at startup bacause of missing Maps API or market license check issues
    • Some apps hardcoded links to several Google Apps and therefor fc or react unexpectedly on certain cases.
    • No access to Play Store (i tried nearly every alternative market, but nothing is as good for free apps as play store) Meanwhile, F-Droid provides nearly everything you need
    So i started developing what i named the NOGAPPS package - a set of applications and frameworks with the goal to fill the gap of missing gapps package.
    This project will be continued under the name microG Project.​

    Parts of this project:

    Maps API v1
    A replacement of the often used google maps api with an open source one using OpenStreetMap.
    State: Version 0.5 - LEGACY BETA (15.02.2014)
    License: GNU LGPL - http://www.gnu.org/licenses/lgpl.html
    Used Third-Party-Librarys:
    - osmdroid - LGPL​

    Network Location
    Geolocation using wlan and data from Apple or a database of gsm phone cells at /sdcard/.nogapps/cells.db
    State: Version 0.1.3.2 - NO LONGER SUPPORTED (11.12.2013) - use µg UnifiedNlp
    License: Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0
    Upcoming features:
    - Select data sources
    - allow disabling wifi based location
    - Add support for Mozilla Location Services
    - Collect cell/wifi location information on device and allow to submit collected information to several services
    Used Third-Party-Librarys:
    - Wire Mobile Protocol Buffers - Apache License 2.0​

    BlankStore
    An open source Google Play Store client
    Google may not like this - you're responsible for what you do, i suggest using an extra account for this app :angel:
    State: Version 0.7.5 - LEGACY (9.2.2016) - only critical updates, no new features
    License: Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0
    Used Third-Party-Librarys:
    - android-market-api - Apache License 2.0
    - protobuf - New BSD License​

    Not useable yet:
    • LoginService (used by some Tasks/Feed -Apps) [Development]
    • Services Framework [Development]
    • Maps API v2: This time with onboard map rendering, so we can use it offline even for navigation purposes and search

    Downloads:
    PROVIDED "AS IS", ... (YOU are responsible for what YOU do!)
    NetworkLocation:
    Latest Release: Check out microG UnifiedNlp

    NetworkLocation Database [Old file format] (copy to /sdcard/.nogapps/cells.db):
    -- Based on dumps of opencellid.org and opencellids.org - all credits to those guys there!
    Latest release: Version 2013-01-01: World - Africa - Asia - Australia - Europe (Mirror) - North-America - South-America
    Version 2012-08-27: World - Africa - Asia - Australia - Europe - North-America - South-America
    Version 2012-07-06: World - Africa - Asia - Australia - Europe - North-America - South-America - Germany

    Maps API v1
    Latest Release: Version 0.5 - Download [FLASHABLE ZIP] BETA 3
    Version 0.4 - Download [FLASHABLE ZIP] BETA 2 (fixes minor issues)
    Version 0.3 - Download [FLASHABLE ZIP] BETA 1

    Blank Store
    Latest Release: Version 0.7.5 - Download [APK]
    Version 0.7.4 - Download [APK]
    Version 0.7.3 - Download [APK]
    Version 0.7.2 - Download [APK]
    Version 0.7.1 - Download [APK]
    Version 0.7.0 - Download [APK]
    Version 0.6.6 - Download [SYSTEM-APK] BETA 3
    Version 0.6.3 - Download [SYSTEM-APK] BETA 2
    Version 0.4.7 - Download [SYSTEM-APK] BETA 1
    Version 0.3.7 - Download [SYSTEM-APK]
    Version 0.3.1 - Download [SYSTEM-APK]

    Installation Instructions:
    NetworkLocation
    Install on Android 2.3 - 4.3: Copy NetworkLocation.apk to /system/app/NetworkLocation.apk, reboot to recovery and clean dalvik-cache.
    Install on Android 4.4 and later: Copy NetworkLocation-gms.apk to /system/priv-app/NetworkLocation.apk, reboot to recovery and clean dalvik-cache.
    Use cell locations:: Either download database from above or create your own

    Maps API
    Install on Android 2.3 and later: Install the flashable zip from recovery​

    Blank Store
    Install on Android 4.0.4 and later: see here
    Generate Android ID: see here

    Source Code:
    NetworkLocation - GitHub
    Maps API - GitHub
    BlankStore - GitHub (new dev version: GitHub)
    LoginService GitHub
    Google Client Library GitHub
    Play Store Client Library GitHub

    Donations:
    Feel free to donate via PayPal.
    Donators: @haffenloher, "privacy lawyering"
    If your donation is not listed here, this is not because i don't received or honored it, but for privacy reasons. I'll publish only those that explicitly stated that they want to be published (opt-in).​

    if anybody is interested in helping me to develop these things or in testing, feel free to leave a pm or comment.
    This project's goal is to make android a real open source project - where real means good for everyday use, without stalking google apps.

    MaR-V-iN
    34
    As promised: here is a public testing release for Play Store Client (alias BlankStore)
    Download in OP
    On Android 4.4 replace /system/app with /system/priv-app in the following instructions!
    Installation instructions Requires Android 4.0.4+:
    1. Remove old PlayStore/Market files if needed (using adb shell or as you like):
      • /system/app/Vending.apk
      • /system/app/Phonesky.apk
      • /system/app/com.android.vending.apk
      • /data/app/com.android.vending-*.apk
      • /data/data/com.android.vending (folder)
    2. Copy new com.android.vending.apk to /system/app with permission 644 or rw-r--r--
    3. Reboot
    4. Generate an Android ID
    5. Create an "Google Play Store for BlankStore"-Account via Settings/Accounts&Sync
    6. Launch BlankStore from your Launcher.
    If you get fc while searching, you propably used non-working login data. Delete the account and retry or post a logcat.
    23
    To generate an android id:
    1. On your PC:
    2. Install Java (if not already done)
    3. Download android-checkin-1.0.jar from here
      • On Windows: Download bla.bat into the same folder as android-checkin-1.0.jar and double click it
      • On Linux/OSX: Open a Terminal in the folder where android-checkin-1.0.jar is located and run
        Code:
        java -jar android-checkin-1.0.jar <email> <password>
    22
    One would assume these could be legally integrated into a custom ROM as well?

    Yes. I want this to be as open as possible. I am going to publish the sourcecode under apache license when its ready, so everybody is free to change what he likes. (Some of the upstream librarys i use are licensed under gpl so at the moment it seems like not everything can be apache licensed, however gpl should be enough for most usecases and maybe i will recode some of the stuff if need)
    13
    C'mon @MaR-V-iN give us a sign that new Playstore project isn't dead. Please?

    It's not dead, but development is paused for the moment. Im focussing on GmsCore right now, which is getting more important every day. I'm pretty sure I won't continue work on Playstore this month, but maybe during July. I'll let you know once a first preview version is out :)