Checks for app updates and automatically updates the current app if the new one in local storage have a different version

Overview

Silent Android App Update Sample

This sample shows how to update Android app silently without user confirmation with a device owner app. It works on Android 6.0 and higher.

For more information see https://sisik.eu/blog/android/dev-admin/update-app

Usage

  1. Build app and install on device
adb install -r -t app.apk

  1. Set app as device owner
 adb shell dpm set-device-owner eu.sisik.devowner/.DevAdminReceiver

For Android 7.0 and higher you also need to set the testOnly flag in AndroidManifest.xml


  1. Increment versionCode of the app and rebuild again.

On Android 7.0 and higher you might need to remove the testOnly flag from AndroidManifest.xml again for the updates


  1. Push the new APK with updated versionCode to the device
adb push app-update.apk /data/local/tmp

  1. Start the device owner app (first version) and click on the button in the app. This should install the new version of the app from the specified location. The app should then automatically restart and show the new version.
You might also like...
A "must-have a look" project for newcomers in android.

PracticeApp Helping the Newbies This app is made with a purpose to help newbies understand core concepts of Android Development. There are very limite

For Kotlin with SpringBoot project that have multi-module-structure template

Goals kotlin + spring-boot + gradle + multi-module building Module-Structure ---root |--- src.main.kotlin.KotlinSpringbootMultiModuleTemplateAppl

A login page where we have a designied login button
A login page where we have a designied login button

Googlesignin This is a login page where we have a designied login button ,when we click the button then it move to further process There will be autom

Explain - An application does not have a dialog box to confirm an event

Explain An application does not have a dialog box to confirm an event. This library is designed in a way that makes it easy for the developer to use a

An library to help android developers working easly with activities and fragments (Kotlin version)
An library to help android developers working easly with activities and fragments (Kotlin version)

AFM An library to help android developer working easly with activities and fragments (Kotlin) Motivation Accelerate the process and abstract the logic

A Gradle plugin providing various utility methods and common code required to set up multi-version Minecraft mods.

Essential Gradle Toolkit A Gradle plugin providing various utility methods and common code required to set up multi-version Minecraft mods via archite

Candroid does things different. The Candroid app store is a library of APK client wrappers (F-Droid, APKPure, etc.) For the main Candroid app store, try visiting the Candroid Market.
Candroid does things different. The Candroid app store is a library of APK client wrappers (F-Droid, APKPure, etc.) For the main Candroid app store, try visiting the Candroid Market.

Candroid App Store Candroid does things different. The Candroid app store is a library of APK client wrappers (F-Droid, APKPure, etc.) For the main Ca

The sample App implements type safe SQL by JOOQ & DB version control by Flyway

The sample App implements type safe SQL by JOOQ & DB version control by Flyway Setup DB(PostgreSQL) $ docker compose up -d Migration $ ./gradlew flywa

The app features real-time chatting between different users on daily topics

DailyDiscuss The app features real-time chatting between different users on daily topics. The app comes with 2 types of user interface: Admin who crea

Owner
Hamdi Guerbej
software engineer by day, software engineer by night.πŸ‘¨πŸ»β€πŸ’» Keep things simple πŸ’™ ( β€’ βˆ€β€’)–Ψ
Hamdi Guerbej
Checks if the given grammar is LL(k) for the given k

LL(k) Checker Checks if the given grammar is LL(k) for the given k Grammars Curr

furetur 1 Dec 19, 2021
This just checks what architecture an installed application is using for its libraries.

Architecture Checker This just checks what architecture an installed application is using for its libraries. About Recently, I've seen that many peopl

Rev 11 Jan 31, 2023
This is our new version of chatkit

ChatKitV4 (This read me is under develop) This is our new version of chatkit. Here we seprate Core Logic and UI sections. You can use it as seprate mo

Hamidreza amz 0 Jan 4, 2022
An Online Meme Sharing app with swipeable vidoes, user can like, share different videos, each viewpager item has one video to show.

MemesSharing An Online Meme Sharing app with swipeable vidoes, user can like, share different videos, each viewpager item has one video to show. 1. Fl

Vikas Bajpayee 13 Aug 6, 2022
An annotation processor library that automatically creates Hilt's `@Binds` functions and modules.

HiltBinder An annotation processor library that automatically creates Hilt's @Binds functions and modules. If you think this library is useful, please

SangMin Park 5 Sep 19, 2022
Automatically filled the declared non-null field is missing or null with default value.

[TOC] Moshi-kotlin-nullsafe δΈ­ζ–‡η‰ˆ 1. moshi-kotlin moshi-kotlin support kotlin type safe check. When parsing json, fields declared as non-null types may

null 4 Oct 26, 2022
Automatically generates UI demos which allow users to call any function with any parameters

Automatically generates UI demos which allow users to call any function (including composable ones) with any parameters. Useful for building demo screens in playground apps of various design systems.

Anton Popov 3 Jul 28, 2022
Attend HoYoLAB Check-in events automatically

Croissant Attend HoYoLAB Check-in events automatically https://play.google.com/store/apps/details?id=com.joeloewi.croissant Stacks Room Database Hilt

joeloewi 2 Nov 23, 2022
A ksp library to automatically generate navigation functions for jetpack compose.

Compose/Navigation/Generator ⚠️ This library is still under development and not considered stable! Content Introduction Usage Example: Single destinat

Steffen Eckardt 4 Sep 13, 2022