Я создал приложение и установил его на устройство в образе системы Android.
Теперь я добавил несколько новых функций в свое приложение и хочу обновить свое текущее установочное приложение этой новой функцией.
Один из способов сделать это — переустановить ОС Android с новой версией приложения.
Есть ли другой способ сделать это, чтобы я мог обновить приложение без обновления всей операционной системы Android?
Пока у вас есть ключ разблокировки (или любой другой ключ, который вы используете), вы подписываете приложение в /system, вы можете просто быстро загрузить свое приложение:
adb install -r bin/my-signed-app.apk
Обратите внимание на опцию '-r'.
Это обновит приложение, но не удалит/обновит файл apk в /system или очистит данные пользователя.
Возможно, вам придется сначала очистить данные из-за изменений схемы базы данных:
adb shell pm clear my.app.package
Затем вы можете пойти и вручную удалить это «обновление» через действие настроек приложения.
Не существует «прямого» способа сделать это. Вы не можете обновить системное приложение из Play Store — вы можете загрузить обновление, но оно будет установлено как независимое приложение (которое будет работать вместо системного приложения), но системное приложение все равно останется в системе, и его нельзя заменить Play Store или установщиком по умолчанию, присутствующим в системе.
Вы можете сделать это вручную, заменив файл .apk из /system/app (или priv-app) другим .apk и установив соответствующие разрешения.
И это также можно сделать путем обновления системы, либо OTA, либо путем перепрошивки ROM - это полностью заменит старое приложение.
Укорените устройство
Перемонтируйте /system
как доступный для записи (я использую для этого Root Explorer )
Заменить /system/app/NameOfYourApp.apk
на новую версию
Возможно, вам придется очистить кеш/данные приложения и перезагрузиться.
Арун Кумар