Coder Social home page Coder Social logo

justicerage / apktrack Goto Github PK

View Code? Open in Web Editor NEW
122.0 17.0 27.0 1.97 MB

ApkTrack is an Android app which checks if updates for installed APKs are available.

License: GNU General Public License v3.0

Java 100.00%
android-app apk scraping-websites android

apktrack's Issues

Download and install latest APK

Hi @JusticeRage! First of all: Thanks for publishing your great app on my beloved F-Droid store! 👍 Since I am a privacy geek with a rooted phone digging into Android development myself (see my account here), I also enjoy having freed my phone from anything Google and already use Aptoide and of course F-Droid. Your app now enables me to check multiple stores for updates of all APKs, but I wonder why it cannot fetch and install the latest updates of free APKs yet? If it can't for legal reasons, please recommend me another open source app that can accomplish this task. Thank you for developing this!

Xposed optional

Please make Xposed modules optional? The Xposed installer is decent enough to check for updates.

incompatible versions

ApkTrack currently shows a wrong version as current, if there is a newer one, that is not compatible.
This is at least the case for F-Droid.

To reproduce you can install Jamendo from F-Droid on Android version newer than 2.2.

There is a newer version only available for devices with Android up to 2.2, that is shown by ApkTrack as current, also on newer (and incompatible) versions.

Update applist before background update check

It seems the app don't update the currently installed app version before doing an updatecheck in the background.
So if I updated some apps from another source since the last update of the applist, I get wrong update notifications.

Rework Theme

The app should be updated to support more "modern" themes, like Holo and/or Material.

Ignore frozen apks

It would be really nice if ApkTrack was aware of disabled/frozen packages and didn't check for updates to them. Play Store ignores disabled apps, F-Droid doesn't but that hopefully will change.

(packages are disabled by the adb shell command "pm disable com.package.name", identical to what Titanium Backup calls "Freeze")

App browsing

This will probably be low priority for you but eventually if you could add the ability to browse apps as well, along with permissions etc., that would be fantastic

applist sorting

On first start of the app after initial installation I got an alphabetically ordered applist.
After the first reloading/rerendering of the applist seems to be really chaotic.
It seems to be ordered the following way:

Update searched and result is "null" combined with never searched, all ordered alphabetical with exceptions (why comes "barcoo" after "UC Browser"?).
After that all outdated apps seem to come alphabetical ordered with exceptions (why comes and the end "Worktime" -> "aLogcat Root" -> "ownCloud" -> "Öffi" ?).
Then all current versions come alphabetically ordered, but here also with an break (after "Yubico Authenticator" the list starts again with "aCalendar").
Then all apps with no informations found comes alphabetically ordered.
And at the end there is "Google Text-in-Sprache" (Google Text-to-Speech) checked with result null.

It should remain in an consistent order, prefered completely alphabetically order or by option ordered by state.

Amazon Appstore

I wanted to add Amazon Appstore as source, but recognized that it as 14 independend stores for different regions.

I thought of adding only the us one or all or automaticly the correct one for the user.

Adding all will make the souce chooser much longer, adding only one (US) store could have problems with apps only applied to one region (I don't know if Amazon do something like this) and automaticly determine the correct TLD could not be made with an static sources file.

What do you think is the best way?

Allow users to specify update sources

Users should be able to select between multiple update sources (i.e. Play Store, Xposed Stable / Beta, maybe F-Droid...) to check for updates.

The application already has a hardcoded order in which some sources are checked. It should remember, for each application, which source gave a valid response in order to directly query this source during future checks. This will prevent useless requests from being sent.

Use only broadcast receiver to update applist

If you use broadcasts you don't need an complete applist update anymore, which can make the app much more fast and performant.

You only have to request the complete list after very first start and after force stop, so you can also remove the button for refresh the applist.
This would make the app much more intuitive and easy to use.

You can check on appstart, if the app was force stopped, this way:
http://stackoverflow.com/a/16014057

Put ApkTrack on the Play Store

Some users have requested ApkTrack to be released on Google's Play Store.
While this looks like it kinda defeats the point to me, it seems that there are some use cases where this could be useful (ex: when the Play Store app is put into hibernation).

The Play Store registration costs $25 though, and I'd rather not be paying to release free software. If I reach 25$ in donations, I'll put ApkTrack on the Play Store.
Current money received: $2,50.

Consolidate update notifications

ApkTrack creates a separate notification for each update it finds, if there are many it floods my notification area and lock screen. I propose using a single notification, similar to Play Store. "Updates available: Chrome, Firefox, and 3 others", adding to the list as more are found. Tapping the notification brings up the list of all updates.
Thanks for this project!

Find a way to interact with Raccoon

Following the discussion in #8, and the apparent popularity of Raccoon to download APKs, it would be interesting to be able to interact with it automatically - or at least, as automatically as possible.

I've never used this tool however. What kind of input does it accept? Can we feed it a text file containing all the packages to download? If there is, which syntax is accepted?
And if not, should we request this feature to @onyxbits?

GH-page

A GH-Page should be created, that presents the app and it's features.

Option for choose preferred update source

I want to choose F-Droid as defauls update source.
The most apps on my phone are from F-Droid, but a lot of them are also available in Google Play.
Currently I have to choose F-Droid manually for every App that is available in Google Play.
I want to set it one time in the options, so that it always be used as preferred choose, for currently installed and also new apps.

Choose device type

First of all, this is a fantastic initiative! Thanks a lot

This is more of a query than a bug report. I'm confused
I noticed that many apps say “varies with device”. Are these apps being ignored? If yes, could you implement a feature to choose device type?

F-Droid use current (recommended) version

You should use the current recommended version for F-Droid, as there could be some versions available for manual installation, that are not recommended and are also not supplied by F-Droid as available updates.

For example AFWall+ has an alpha verseion available, but it is not recommended, so it is not supplied as available update, but within the application details to be installed manually.
ApkTrack says, that AFWall is not up to date and there is an new version available.

The current version can be found on the application page:
https://f-droid.org/wiki/page/dev.ukanth.ufirewall#Versions

In the string:
The current (recommended) version is 1.3.4.1 (version code 171).

The download is available at:
https://f-droid.org/repo/dev.ukanth.ufirewall_171.apk
where the version code is used.

I have created an updated section for the sources.json, but I'm not sure if and how the version code can be supplied to the download string.
It should be an common way, that don't need an custom hardcoded way for this repo.

    {
      "name": "F-Droid",
      "version_check_url": "https://f-droid.org/wiki/page/%1$s",
      "download_url": "https://f-droid.org/repo/%2$s_%1$s.apk",
      "version_check_regexp": "<p>The current \(recommended\) version is ([^\s]+?) \(version code ([^\s]+?)\)\.\n</p>"
    }

Merging demaged master

At merging beta to master you have damaged some parts.
Have seen until now, that you removed the WhatsApp and Öffi sources.

Additionally, you have moved F-Droid in the build for me, but why not commited?
Now the most apps are again detected with the more current not FLOSS versions from Google Play.

Hide unknown applications

Add an option to hide applications for which no update source was identified.
Right now, the AppAdapter code is a bit of a mess, so it should probably be cleaned first.

Support more devices

ApkTrack has been compiled with a very conservative API level (who'd have thought it would one day run on another device than mine?). Currently, it won't install on Android < 4.4.

Lower the requested API level as much as possible to allow more people to use the application.

New release

Make a new release with all current changes (also the beta changes) so that Google Play and APKmirror search are working again.

ApkTrack keeps old version even after updating app

I encountered a bug. For example:
I have Telegram installed (v 2.6.0) and made today a check with ApkTrack. It showed me that 2.6.1 is available so i got the new version and installed it. Going back to ApkTrack, and even after a refresh it still shows that 2.6.0 is installed on my device.
The only way to 'fix' this is by going into Android Settings and clear data of ApkTrack.

Improve the way the MainActivity reloads it data

Following this SO thread, I realize that the communication between the MainActivity and the background components of the app can be improved.

Sticky events would be extremely helpful, and some code (the installed application list maintenance) needs to go inside a service.

Add option to ignore app

Could you please add an option to ignore (or even hide) certain apps?
I mostly use F-Droid to download apps. However, I am aware that F-Droid updates are usually a bit behind the official latest release. So, I don't need be informed about updates for apps I got from F-Droid.
Thanks for considering my suggestion!

Multiple Crashes

The app crashes when I try to reload the list of installed apps. As well as when I check for updates. The crashing seems random other then each time I want to reload my installed app list. I am running android 4.4.4 on a Sony Xperia Z1

possibility to search and filter within the applist

I have nearly 300 apps installed and it is terrible to find a specific app or all apps within an specific updatestate.
It would be great, if it would be possible to search apps by Displayname and FQDN within the applist.
Also you should be able to only show apps that are not the current version, which should be the default to show on opening the app via notifition.

Settings activity

A new activity should be implemented to let the user specify his settings.
Hide/show system apps should go in there, as well as the preferred search engine, and an option to disable background update checks.

Add option for custom repositories

Maybe you could add an option to add custom repositories? Some apps or developers offer their own repositories, such as the Guardian project for example (https://guardianproject.info/repo/). People can add these repos to f-droid, but they aren't part of the official f-droid repo, so apktrack doesn't check them.

search at google play

Search at Google Play never gives a result with applied parameters.
I think it should be the direct link to applications detail page with fqn as parameter, like it is done for example for evozi.

Better version comparison

Presently, ApkTrack checks for version mismatches and not version updates.
It is a bit dumb in the sense that it checks for versions mismatches, not version increases. If web sources say the latest version is "1.0" and you have "2.0" installed, it will notify you that the application can be updated.
Detecting version number increases generically is actually a difficult problem because of the diversity. For instance, look at Google Music's version string: 5.8.1810R.1720607. It's a mix of numbers, letters, and points.

Run tests to figure out if alphabetical comparison is sufficient.

Update searches stop after background

If the app was in background while it searchs for updates and comes back to foreground the applist refresh/reload (I think this is the cause) stops the update searches.

Add Orientation Compatibility

On both my tablet and cell phone the screen will only display with the long orientation, not the landscape orientation... this is particularly annoying with tablets.

mark system apps

Mark system apps, that you can clearly distinguish them.
That could prevent some accidents.

One example:
The app "/system/app mover" marks them with an box in the top right of each appline, with red background and "system" as text inside.
This solution doesn't work for ApkTrack because in top right corner is no free space, this is only give an idea.

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.