ImranR98 / Obtainium

Get Android app updates straight from the source.
https://obtainium.imranr.dev
GNU General Public License v3.0
7.83k stars 173 forks source link

Other methods of android Github updates. #12

Closed S7venLights closed 2 years ago

S7venLights commented 2 years ago

Firstly, thanks for making Obtanium and giving it such a cool name. Until now I've been using Octodroid https://www.f-droid.org/packages/com.gh4a/ with a Github account to get github updates. If you login on a PC there's a way to use Githubs 'Watch' feature where you only watch for releases. Then Octodroid notifies me of releases.

Disadvantages:

Advantages:

Maybe you can combine obtaniums features with octodroids to have the best of both?

Other alternatives:

ImranR98 commented 2 years ago

Obtainium is mainly for app updates, interacting with the project etc is kind of out of scope.

Regarding the modern SDK, yeah it's annoying not being able to do background updates, but I'm not a native Android dev so sadly limited to what Flutter plugins are available for now.

Also yes, keeping an eye on Accrescent 👀 it could really be the F-droid replacement the FOSS ecosystem needs

jonaharagon commented 2 years ago

This app is nearly exactly what I was just looking for, except I need unattended/background updates. I'm not an Android dev, what exactly would be required for you to be able to add this feature? I'm almost tempted to hire an Android dev that could build a Flutter plugin that would work for this project, because that would make this the perfect app updater 🤔

At a glance though, it seems like replacing install_plugin_v2 with flutter_install_app would provide the functionality you're looking for, is there a reason this plugin couldn't be used?

  • Without user action (Android 12 or higher):

    If set, user action will not be required when all of the following conditions are met:

    • The app being installed targets API 30 or higher and is running on Android 12 or higher:
    • The app is the installer of record of an existing version of the app (in other words, this install session is an app update) or the installer is updating itself.
    • The installer declares the UPDATE_PACKAGES_WITHOUT_USER_ACTION permission.

    AppInstaller.installApk('/sdcard/apk/app-debug.apk', actionRequired: false);

https://pub.dev/packages/flutter_install_app

ImranR98 commented 2 years ago

Thanks for finding this. I tried a few different plugins, but not this one probably because it's in the second page of search results. Have made a separate issue for this, hopefully this plugin will work.

jonaharagon commented 2 years ago

I just searched for "UPDATE_PACKAGES_WITHOUT_USER_ACTION", hope it works 🤞

S7venLights commented 2 years ago

Neostore and Droidify can do unattended updates using something called shizuki if I remember correctly. They say it uses android APIs to achieve install.