Спостерігав це дуже дивне поведінку за допомогою програми Android. Орієнтовний сценарій:
- Версія A, встановлена на пристрої
- Додаток працює добре
- Версія B, встановлена на пристрої (B> A)
- Додаток працює добре
- Пристрій вимикається через розряджання акумулятора
- Пристрій увімкнено
- Версія A додатка запускається на пристрої знову
Додаткова інформація:
- Додаток не поширюється через Google Play, але встановлюється в приміщенні через з'єднання USB (ПРИМІТКА: програма запущена у виробництві; вона не встановлена через AndroidStudio).
- Кіоск
- Android 5.1 (API 22)
Я думаю, у мене є два питання:
- Чому пристрій кешував старішу версію APK (і де він її кешував)?
- За яких обставин можна застосувати додатки до попередніх версій?
Редагувати (додаткова інформація):
- Схоже, після повернення APK програма втрачає деякі дозволи (можливо, навіть усі). Функціональність, яка працювала до того, як відкат перестає працювати через викидання SecurityException з API-програм Android. Це трапляється, навіть якщо ця версія Android ще не має дозволів на виконання!
- Після перегляду файлової системи планшета, я дійсно бачу APK - додатків кілька проживає в східних шляхах:
/data/app/com.myapp-2/base.apk,/data/app/com.myapp-3/base.apkі т.д.
Моя поточна гіпотеза полягає в тому, що розряджання акумулятора призводить до того, що планшетний ПК «скине» його стан (наприклад, годинник також скидається), і коли він знову працює, він плутає між APK додатків і завантажує неправильний.
Однак я не маю поняття, чому б це зробити чи як запобігти такій поведінці.