Top Related Projects
Free implementation of Play Services
Android split APKs installer
APKUpdater is an open source tool that simplifies the process of finding updates for your installed apps.
F-Droid client with Material UI.
Quick Overview
YalpStore is an open-source alternative to the Google Play Store for Android devices. It allows users to download and update Android apps without requiring a Google account or the official Play Store app. YalpStore is particularly useful for devices without Google services or for users who prefer to avoid Google's ecosystem.
Pros
- Provides access to Android apps without needing a Google account
- Allows downloading of older versions of apps
- Supports bulk updates and downloads
- Offers a more privacy-focused approach to app management
Cons
- May not have access to all apps available on the official Play Store
- Requires manual installation and updates of the YalpStore app itself
- Potential security risks when downloading apps from unofficial sources
- Some features may require root access on the device
Getting Started
To start using YalpStore:
- Download the latest APK from the releases page on GitHub.
- Enable "Install from unknown sources" in your Android device settings.
- Install the downloaded APK on your device.
- Open YalpStore and follow the initial setup instructions.
- (Optional) Log in with a Google account for full functionality, or use the app anonymously with limited features.
Note: YalpStore is not available on the Google Play Store and must be installed manually.
Competitor Comparisons
Free implementation of Play Services
Pros of GmsCore
- Provides a more comprehensive replacement for Google Play Services
- Offers better integration with Android system and apps
- Supports location services and push notifications
Cons of GmsCore
- More complex setup and installation process
- May require additional system modifications or root access
- Potentially higher battery consumption due to background services
Code Comparison
GmsCore (Java):
public class GmsCore extends Application {
@Override
public void onCreate() {
super.onCreate();
// Initialize GmsCore services
}
}
YalpStore (Java):
public class YalpStoreApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// Initialize YalpStore components
}
}
Both projects use similar application initialization patterns, but GmsCore likely includes more complex service initialization due to its broader scope.
YalpStore focuses on providing an alternative app store, while GmsCore aims to replace Google Play Services entirely. YalpStore is generally easier to install and use, making it more accessible for users who want a simple way to download apps without Google Play. GmsCore, on the other hand, offers a more complete solution for users seeking to remove Google dependencies from their Android devices, but requires more technical knowledge and setup.
Android split APKs installer
Pros of SAI
- More modern and actively maintained UI
- Supports split APK installations
- Faster app installation process
Cons of SAI
- Lacks some advanced features like app sharing
- Requires more permissions for full functionality
- May have compatibility issues with some devices
Code Comparison
SAI (Kotlin):
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == REQUEST_CODE_GET_FILES && resultCode == Activity.RESULT_OK) {
data?.data?.let { handleFileSelection(it) }
}
}
YalpStore (Java):
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_GET_FILE && resultCode == RESULT_OK) {
Uri uri = data.getData();
if (uri != null) {
handleFileSelection(uri);
}
}
}
Both repositories aim to provide alternative app installation methods for Android, but they differ in their approach and feature set. SAI focuses on a modern UI and split APK support, while YalpStore offers a wider range of features for power users. The code comparison shows similar functionality implemented in Kotlin (SAI) and Java (YalpStore), reflecting their different language choices.
APKUpdater is an open source tool that simplifies the process of finding updates for your installed apps.
Pros of APKUpdater
- User-friendly interface with a modern design
- Supports multiple sources for APK updates, including APKMirror and APKPure
- Offers a scheduling feature for automatic update checks
Cons of APKUpdater
- Less frequent updates and maintenance compared to YalpStore
- Lacks some advanced features like delta updates and app installation
Code Comparison
YalpStore:
private void download() {
File apkPath = Paths.getApkPath(context, app.getPackageName(), app.getVersionCode());
if (null != apkPath && apkPath.exists()) {
Log.i(getClass().getSimpleName(), "Downloaded apk found");
install(apkPath);
return;
}
// ... (download logic)
}
APKUpdater:
private void downloadAndInstall(final Update update) {
mProgressDialog = new ProgressDialog(mContext);
mProgressDialog.setTitle(R.string.dialog_downloading);
mProgressDialog.setIndeterminate(false);
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mProgressDialog.setCancelable(true);
mProgressDialog.show();
// ... (download and install logic)
}
Both projects aim to provide alternative app stores and update solutions for Android, but they differ in their approach and feature sets. YalpStore focuses on providing a complete Google Play Store alternative, while APKUpdater is primarily designed for keeping installed apps up-to-date from various sources.
F-Droid client with Material UI.
Pros of Droid-ify
- More modern and actively maintained UI
- Supports F-Droid repositories out of the box
- Better integration with Android's material design guidelines
Cons of Droid-ify
- Smaller community and less established project
- May lack some advanced features present in YalpStore
- Potentially less stable due to being a newer project
Code Comparison
YalpStore:
private fun getDownloadProgressIntent(app: App): Intent {
return Intent(DownloadState.ACTION_DOWNLOAD_PROGRESS).apply {
putExtra(DownloadState.APP_PACKAGE_NAME, app.packageName)
putExtra(DownloadState.APP_VERSION_CODE, app.versionCode)
}
}
Droid-ify:
private fun createDownloadNotification(
context: Context,
product: Product,
progress: Int
): Notification {
return NotificationCompat.Builder(context, CHANNEL_ID)
.setSmallIcon(R.drawable.ic_download)
.setContentTitle(product.name)
.setContentText("Downloading...")
.setProgress(100, progress, false)
.build()
}
Both projects use Kotlin and handle app downloads, but Droid-ify's code appears more focused on creating notifications, while YalpStore's snippet deals with intent creation for download progress.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Yalp Store
What does it do?
Yalp Store lets you download apps from Google Play Store as apk files. It can search for updates of installed apps and lets you search for other apps. Yalp saves downloaded apks to your default download folder. Other features include browsing categories, viewing and leaving reviews, black/whitelisting apps for updates, filtering apps by being free/paid and containing/not containing ads.
To supplement the features related to Google Play, Yalp Store has ordinary package manager features: listing, running, installing and uninstalling local apps.
If root is available, Yalp Store can update your apps in background, install and uninstall system apps.
Yalp Store can be installed as a system app to gain background package installation permission. In this case, the "Unknown sources" setting can be left off. You can let Yalp Store self-install as a system app, or get the OTA zip from the releases page.
Why would I use it?
If you are content with Google Play Store app, you will not need this app.
The point of Yalp Store is to be small and independent from Google Services Framework. As time passed, Google Services Framework and Google Play Store apps grew in size, which made them almost too big for old phones (Nexus One has 150Mb memory available for apps, half of it would be taken by Google apps). Another reason to use Yalp Store is if you frequently flash experimental ROMs. This often breaks gapps and even prevents their reinstallation. In this situation Yalp will still work.
How does it work?
Yalp Store uses the same (protobuf) API the android Play Store app uses. It downloads apks directly from Google servers.
By default Yalp Store connects to Google services using a built-in account, so you do not have to own a Google account to use it. The only reason to use a live Google account is to access the paid apps you own.
Each time you log in a new Google Services Framework id (also known as device id) is generated using your device parameters. The list of parameters Google requires for that is rather long (example). They are used for app filtering and compatibility checks on the server side. It is possible to mimic a different device. In Yalp Store settings you will find a list of bundled device definitions. Note that no personal info is disclosed, only technical information about your device.
When the GSF id is ready, your email and password (if you provided them) are used to generate an authorization token. The authorization token is used to sign all Play Store API requests. Your password is used only once and is not stored, the token is enough for all the requests.
Screenshots
FAQ
Q: What about buying apps, books, music, movies? Is it going to be implemented at some point?
A: No. Only free apps and apps you have purchased are going to be accessible through Yalp Store. Google Play API is not open and is not documented, so Yalp Store is developed through reverse-engineering. To implement features related to anything that requires payment I would have to (very) frequently buy stuff from Google Play Store.
Q: Even though I granted the write permission to Yalp Store, it still says "Downloads directory could not be created or is not writable." How do I download anything?
A: Try force-closing Yalp Store and launching it again. If it doesn't help, read this discussion.
Q: I cannot download files! Or Yalp Store says that there is no network connection.
A: Try turning off VPN or ad-blocking apps.
Q: Some apps are not getting the latest release available on Play Store. What do I do?
A: For different reasons the app developer might choose not to release his app for all users at the same time. This is called a staged rollout. Be patient, the update will come.
Q: I would like to spoof device X. Can you add its definition to Yalp Store?
A: There is an extended library of devices here. If you found your device, put it into your downloads directory and it will appear in Yalp Store spoof device list. Note that the files are named by device codenames which might not be the same as the names with which the devices are sold, for example codename of Nexus 5X is bullhead. Also, the device definitions are simple text files, so if you know exactly what you need to spoof, you can just edit them by hand. Note that all the devices in the above mentioned list were submitted by users, so if you haven't found the device you wanted, you are out of luck. I cannot create a device definition on demand.
Q: Can Yalp Store download region-locked apps?
A: Not directly. But it is easier than with Play Store. Play Store servers detect your location by your ip address, so to appear to be in a different region you are going to need a VPN. Log out of Yalp Store (clearing Yalp Store app data does the same thing). Turn your VPN solution on and choose a desired location. Log in to Yalp Store again. You should be able to download apps from your chosen region now.
Q: Is it legal to use Yalp Store with my own Google account?
A: No. Yalp Store violates §3.3 of Google Play Terms of Service. Your account might be disabled, robbing you of any apps you have purchased.
Q: Is it safe to use Yalp Store with my own Google account?
A: Yes. Software like Yalp Store, Google Play Crawler and Raccoon has been used for years and it seems to be safe. Never heard of any real cases of accounts being disabled.
License
Yalp Store is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
Dependencies
- play-store-api - Google Play Store API wrapper library
- Apache Commons Net - used to send bug reports
- libsuperuser - used to work with root
- javaxdelta - used to work with delta updates
- NetCipher - used to initiate secure network connections and work with proxies
Top Related Projects
Free implementation of Play Services
Android split APKs installer
APKUpdater is an open source tool that simplifies the process of finding updates for your installed apps.
F-Droid client with Material UI.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot