Giter Site home page Giter Site logo

rumboalla / apkupdater Goto Github PK

View Code? Open in Web Editor NEW
2.6K 98.0 215.0 4.67 MB

APKUpdater is an open source tool that simplifies the process of finding updates for your installed apps.

License: GNU General Public License v3.0

Kotlin 100.00%
android open-source apk java play-store kotlin updater installer aptoide apkmirror

apkupdater's Introduction

APKUpdater

APKUpdater is an open source tool that simplifies the process of finding updates for your installed apps.
It provides similar functionality to an app store, but instead of depending on a single source, it aggregates the results from APKMirror, Aptoide, F-Droid, IzzyOnDroid, APKPure, GitLab and GitHub.

The 3.x branch is a full rewrite using modern technologies like Jetpack Compose, Flow and WorkManager.

Features

  • Update Sources: Find updates from APKMirror, Aptoide, F-Droid, IzzyOnDroid, APKPure, GitLab, GitHub and Google Play.
  • Search Sources: Find new apps to install from APKMirror, Aptoide, F-Droid, IzzyOnDroid, APKPure, GitLab, GitHub and Google Play.
  • Schedule background update checks and receive a notification when updates are found.
  • Supports Android 5 (21) to Android 14 (34).
  • Supports Android TV.
  • Material Design 3 with Dark, Light and System theme support.
  • Supports Material You on Android 12+.
  • Direct install of updates for sources that support it.
  • Supports installs without user interaction on Android 12+.
  • Root install of updates.
  • No ads. No tracking.
  • Languages: Albanian, Arabic, Burmese, Dutch, English, German, Hebrew, Indonesian, Italian, Korean, Malay, Portuguese, Romanian, Russian, Simplified Chinese, Spanish, Traditional Chinese, Turkish.

Download

Translations

If you want to help with translations, open a Pull Request or an Issue with the translated strings.xml.

Feedback

  • To give feedback and request new features go to Discussions.
  • To report bugs, crashes, typos and translations go to Issues.

Screenshots

1 2 3 4
5 6

Other Projects

  • CoolRs: A collection of Android RenderScript effects.
  • KryptoPrefs: Kotlin library for handling encrypted SharedPreferences.
  • KryptoStore: A thin wrapper around Jetpack Datastore Preferences that provides useful features.

License

Copyright © 2016-2024 rumboalla.
Licensed under the GNU General Public License v3.

apkupdater's People

Contributors

abc0922001 avatar anonymouswp avatar auroraras avatar bluegradienthorizon avatar crse avatar darkcrypt avatar hazakuraid avatar izzysoft avatar jvr2022 avatar kyawlinnthant avatar kyoyacchi avatar ld892012 avatar mikropsoft avatar nickoehler avatar nriver avatar peat80 avatar petertill avatar rottenpants466 avatar rumboalla avatar samuraikid0 avatar totallyavailable avatar unbranched 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  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

apkupdater's Issues

Avoid Multiple Download if unknown source is turned off

Today I tried to update an app. I have clicked the update button and the download got started, after 100% of download it shows turn on unknown source to install. I have turned on the unknown source and came back. But again I need to start the download process to install the app.
I hope you understand what I mean.

Unable to parse version

When checking for updates, the version name, rather than the version code, is being used.
Android has no forced convention for the version name, so when the code reaches executes VersionUtil.getStringVersionFromString, the app may throw an exception upon finding something unexpected.

I'm reproducing this right now looking for APKMirror updates for Tasker. The version name is 4.9u1, which causes getStringVersionFromString to fail to parse the version.

Instead, in the case of APKMirror, I recommend using the version code, which is always an integer, and a higher number can safely be considered a newer version.
This would mean grabbing the first line of text from the "appspec-value" class div, rather than the heading of the page, and grabbing the number between the brackets.

This might be better left until the APKMirror updates regarding pname and such have been implemented though. A reliable API would be nicer to parse than a web page (the structure of which may change).

APKMirror API key public

Located at UpdaterAPKMirrorAPI.java#L44

Possible solution would be making a seperate java file with the API key like so:

package com.apkupdater.updater;

public class APItokens {
    static final String APKmirrorToken = "KEY";
}

Then importing the class in the required files, and replacing the token with APItokens.APKmirrorToken.

Also don't forget to request a new token and add APKtokens.java to the .gitignore file

Sort the app

Can you add an option to sort the app in alphabetical order? Or add a search function?

It is not easy to find a specific app right now.

Add option to hide ignored apps

It can become quite cluttered when they are visible in the main app list and, since the apps seem to be arbitrarily sorted, it makes it difficult to find new ones to add to the ignore list.

Ignore updates/apps from Updates tab

As the title says, a way to can ignore apps from Updates tab to no need to ignore all system apps that not want manually (is bored, so many apps to ignore...) and can ignore just that update or all future updates (current ignore) choosing the desired option.

Add option to download directly from play using googleplaycrawler

It would be great to be able to download directly from play store, instead of going through and relying on 3rd party sites.
Google Play Crawler allows one to download apps from play store directly, example Raccoon: https://github.com/onyxbits/Raccoon/tree/master/src/main/java/com/akdeniz/googleplaycrawler

It works great on desktop using java-api, which should be adaptable for android app.
User will need to use google account, preferrably dummy account not tied to personal account

Android Studio

Need help for building this app in android studio

helpas

why it say rendering problem, which sdk version you use to build this app?

Thanks

APKupdater is not showing all update results

APKupdater is not showing all update results, when I refresh the updates tab It will show the majority of apps that have updated versions available but manually going to the site's I'd see that there is a version available on and APKupdater has simply not received the alert that there is an updated version.

Thanks.

evozi

Could you bring back evozi support? I personally found it very useful.

Hide updates that are not applicable to platform/version

Currently the app suggests downloads for an incorrect platform (x86 vs. ARM/ARM64) and Android version (offers update to an app that requires Android 7 as minimum, while the device runs a lower version).

Please do not list updates that are not applicable to the device.

Ignore app versions

A way to ignore major.minor versions of an app would be ideal in situations where the version in question is still compatible with the requested device's architecture/API but contains unwanted/unneeded features or breaks functionality.

A previous major.minor app version may still continue to receive updates, so a user may want to continue receiving update notifications for this version(s) when they are available.

FC

Whenever I click App Ignore List in settings page, the app just FC.

Search Function

Could you provide a function, that is not only search for updates for installed apps, but also a search function for searching new apps?

For example, if my phone does not have WhatsApp installed, then I can search for the keyword WhatsApp in your app, and then I can choose to download it from Play Store / APKMirror / APK Pure.

I know that in since sense it is not an updater, but a downloader. But it is easier to search and download in one app rather than in three websites / apps.

Apps with dashes in version number don't check properly

Take the Samsung Clock app (or most Samsung apps anyway) as an example: I have version 7.0.70-45 on my phone while there's 7.0.70-46 on APKMirror. In APKupdater the clock app doesn't appear as having an update available when I check for updates, even though it recognizes that it's version 7.0.70-45. The same goes for the Bixby apps.

FLAG_RECEIVER_BOOT_UPGRADE Error

Hello,
I get the following error on the Gigaset QV1030 of my parents. I need it for automatically updating Whatsapp outside of the play store.

whatsapp image 2017-03-16 at 21 54 40

Filter/ignore all system apps option

An option to hide/ignore all system apps would be nice, because most of the updates are shown for them are from a new Android release, hence not all compatible with previous OS versions.

Crash when tries to install an update from Google Play or update APKUpdater itself

The downloaded APKs have got space and no extension, just in case

screenshot_2017-06-29-01-00-42-171_com android providers downloads ui
screenshot_2017-06-29-00-56-43-863_com android providers downloads ui
screenshot_2017-06-29-01-02-55-984_com android settings

java.lang.RuntimeException: Could not dispatch event: class com.apkupdater.event.PackageInstallerEvent to handler [EventHandler public void com.apkupdater.activity.MainActivity_.onPackageInstallerEvent(com.apkupdater.event.PackageInstallerEvent)]: No Activity found to handle Intent { act=android.intent.action.VIEW dat=content://downloads/all_downloads/49 typ=application/vnd.android.package-archive flg=0x1 }
	at com.squareup.otto.Bus.throwRuntimeException(Bus.java:460)
	at com.squareup.otto.Bus.dispatch(Bus.java:387)
	at com.squareup.otto.Bus.dispatchQueuedEvents(Bus.java:368)
	at com.squareup.otto.Bus.post(Bus.java:337)
	at com.apkupdater.util.MyBus.access$001(MyBus.java:15)
	at com.apkupdater.util.MyBus$1.run(MyBus.java:34)
	at android.os.Handler.handleCallback(Handler.java:815)
	at android.os.Handler.dispatchMessage(Handler.java:104)
	at android.os.Looper.loop(Looper.java:194)
	at android.app.ActivityThread.main(ActivityThread.java:5562)
	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:968)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:763)
Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=content://downloads/all_downloads/49 typ=application/vnd.android.package-archive flg=0x1 }
	at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1776)
	at android.app.Instrumentation.execStartActivity(Instrumentation.java:1496)
	at android.app.Activity.startActivityForResult(Activity.java:3778)
	at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50)
	at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79)
	at android.app.Activity.startActivityForResult(Activity.java:3739)
	at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:859)
	at com.apkupdater.activity.MainActivity.onPackageInstallerEvent(MainActivity.java:417)
	at com.apkupdater.activity.MainActivity_.access$101(MainActivity_.java:31)
	at com.apkupdater.activity.MainActivity_.onPackageInstallerEvent(MainActivity_.java:130)
	at java.lang.reflect.Method.invoke(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:372)
	at com.squareup.otto.EventHandler.handleEvent(EventHandler.java:89)
	at com.squareup.otto.Bus.dispatch(Bus.java:385)
	... 12 more

Parse errors

I'm getting lots of errors in the log from trying to parse the localised version of the phrase "Varies per device" (German: Variiert nach Gerät), not sure if that helps you in any way.

It does not install anything

Hi

I can get all the updates from Gplay but when I try to install any app or apkupdater itself, it says it downloaded the app but when I click on the ap p in the tray it says it cant find the file. I tried the root install method, it still does not work. With the root method it says the app is updated but actually no update/install happens.

And it crashes like in #200 if no root method isued.

Please see the Yalp app on Fdroid for proper installing from Gplay. That app seems to work for me.

I am on 5.1 Samsung phone

thanks

Separate sections to stable and beta apps

As the title says, can have got a separate sections to can see stable and beta apps together or shows in the app card as:

AppName
PackageName
VersionName

Stable: VersionName [APKMIRROR] [EVOZI]
Beta: VersionName [APKMIRROR] [EVOZI]

If can to be configured if separate section or in the app card, better.

Bump the versioncode

You are happily upping the versionname, but as far as Android is concerned, this is not a new version. Android checks the versioncode integer, if its higher, its an update, if not, its just another flavor of the same version and cannot be upgraded. Upping the version code in ./app/build.gradle should fix that.

Please see https://developer.android.com/studio/publish/versioning.html for more information.

Direct Download Apps from Update Source

Please make an optional option to download apps directly from apkmirror , apkpure etc update source.
When a download is redirected to a site, for a noobie user it is so hard to find the correct apk file.

Example when a download is redirected to apkmirror , it is hard to find the apk download link because there are many other variants/versions etc etc links.
Maybe experts don't have any problems but noobies or girls face problems.

So it will be great if you add direct download option.

Misleading sources: evozi not google play store

Description says source is play store but in fact is evozi?

static final private String BaseUrl = "https://play.google.com/store/apps/details?id=";
    static final private String DownloadUrl = "https://apps.evozi.com/apk-downloader/?id=";

Apps that actually use source, however needs a google account in order to download

Wrong version number in APK

The latest version (1.3.4) carries the wrong version number internally:

package: name='com.apkupdater' versionCode='3' versionName='1.3.3' platformBuildVersionName='7.1.1'

Nothing critical, just as a note. Might cause problems when updating the app on-device.

*IMPORTANT*: APK Mirror hammering

Hey,

I'm the admin of APK Mirror, and your app is hammering our servers pretty badly, especially in the last day, probably because of press coverage https://www.ghacks.net/2017/01/02/apkupdater-keeps-your-sideloaded-android-apps-up-to-date/.

Can we talk about it ASAP (Hangouts? https://plus.google.com/+ArtemRussakovskii) so we don't have to start banning its users entirely? There are at the very least several optimizations that could have colossal effects on performance. Right now, what the app is doing is very resource intensive and highly inefficient.

Thanks,
Artem

Log window is always blank

Pixel XL on O Preview 3, whatever I do, the log viewer is always empty and updates always fail when I hit the "Install" button

feature request

can you please add there features:

1. Built-in app browser to download APK's from APKMIRROR without the need to keep opening chrome each time.

2. a message that says "No new updates were found" when the updater finishes checking for updates and finds none. (i got confused and thought the app was broken) (some like this: http://i.imgur.com/hnxEmGS.png)

3. an option to disable android 8 (API 26) updates. (API 24/25 -> API 26 updates)

Also, thank you for making such a useful app 👍

Scroll not smooth in search fragment

Hi,

when Recycler view gain focus it stops the parent from scrolling smoothly

Try to add this on your child recycler view

android:nestedScrollingEnabled="false"

this option should disable recycler view scrolling. Actually I can't test this change and can't send you a PR. Try Yourself and let me know :P

Galaxy S7 edge Root, Xposed 420 Benutzer Apps

Die App zieht scheinbar zu viel Leistung oder kommt nicht mit der menge der apps zurecht denn das ganze Handy startet neu bei jeder suche nach Updates. Das passiert relativ schnell nach dem suchen nach Updates.

Missing resource

Building from a clean clone of 1.3.2 results in:

:app:compileReleaseJavaWithJavac/home/krt/src/fdroiddata/build/com.apkupdater/app/src/main/java/com/apkupdater/view/LogView.java:76: error: cannot find symbol
            mIcon.setImageResource(R.drawable.ic_error);
                                             ^
  symbol:   variable ic_error
  location: class drawable
1 error
 FAILED

Allow us to update Google Play Services and Play Store

I know APK Updater is supposed to replace the Play Store in a roundabout way, but sometimes we need to update Google Play Services to keep using apps like Youtube and some ROMs don't allow MicroG or we just choose not sign to in with a Google account on certain devices.

Also, it wouldn't hurt to be able to get the new Play Store immediately instead of waiting for Google to silently update it. Opening APK updater is faster than browsing to a certain page on APKMirror.

In other words, just update all system apps if we uncheck "ignore system apps"

Settings' handling of back button is incorrect

Hi, new user to GitHub here so I apologize if what I'm saying makes no sense.

When using the back button on the settings page (the hardware or navigation bar back button), APKUpdater closes. The back button should go to what was open before settings was opened.

Minor issue, but an annoyance. Thank you!

weird bug

after using ur app to update apps (not system apps), my google play store crashes, google play store itself doesn't crash but if i browse apps in the store and click on Read More to see the changelog or description of the apps then it would crash.


Video
Google Play Store Bug

Things i tried to do to fix this issue
Clear app cache & data Didn't Work
Clear dalvik cache from recovery Didn't Work
Remove the app Didn't Work
Reinstall from APKMIRROR Didn't Work

Additional Info
Phone OnePlus 3
Android 7.1.1
OS OxygenOS 4.1.6

Inclusion to F-Droid

We at F-Droid received a packaging request for ApkUpdater. We already included the necessary build and metadata, but we failed at building it reproducible. This is a requirement if we want to re-use upstream binaries.

Right now we have two options:

a) Continue to try to build reproducible
b) Don't care for reproducibility and sign with a f-droid specific key

The issue is, that the app will most likely try to update itself with official binaries, which will fail. So I'd like to discuss how to proceed and what you think is best suited.

checking for wrong variant of same app

On my Samsung Galaxy S6, it checks for some system apps from HTC instead of Samsung. And some apps when updated with target version lower than system version, it will cause boot loops. Happened to me with ANT system apps on my S6.

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.