I've got an Android Studio app that updates itself when new versions come out.
The update uses just fine on a few different older android versions except on Android Version 13.
I'm using a BroadcastReceiver onComplete(Context ctxt, Intent intent) to fire this code after the new APK is downloaded:
Intent install = new Intent(Intent.ACTION_VIEW);
install.setAction(android.content.Intent.ACTION_VIEW);
String sFile = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/myapp.apk";
Uri uri;
File file = new File(sFile);
//For older android versions we must use older API's.
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
uri = Uri.fromFile(file);
} else {
uri = FileProvider.getUriForFile(ctxt, "com.domain.myapp.provider", file);
}
install.setDataAndType(uri,"application/vnd.android.package-archive");
install.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
install.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
install.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
install.putExtra(Intent.ACTION_PACKAGE_REPLACED, "com.domain.myapp");
install.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME, ctxt.getApplicationInfo().packageName);
ctxt.startActivity(install);
< /code>
Использование LogCat для мониторинга процесса обновления дает этот сбой: < /p>
10-06 19:42:20.022 19188-28017/? E/Finsky: [966] VerifyApps: Unexpected exception on background thread
java.lang.NullPointerException: Attempt to read from field 'java.lang.String android.content.pm.PackageInfo.packageName' on a null object reference in method 'awpj axar.i(android.content.pm.PackageInfo)'
at axar.i(PG:97)
at com.google.android.finsky.verifier.impl.installtime.VerifyAppsInstallTask.ml(PG:289)
at com.google.android.finsky.verifier.impl.installtime.VerifyInstallTask.ml(PG:1574)
at awmz.run(PG:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at bhsr.run(PG:59)
at java.lang.Thread.run(Thread.java:1012)
< /code>
Я могу вручную загрузить приложение вручную. Он вылетает только тогда, когда он пытается обновить себя.
работал годами и просто не будет работать на Android 13. < /P>
Спасибо! Майк
Подробнее здесь: https://stackoverflow.com/questions/797 ... tring-andr
Пакет кажется недействительным: попытка чтения из поля «java.lang.String android.content.pm.PackageInfo.packageName» по ⇐ Android
Форум для тех, кто программирует под Android
1759795709
Anonymous
I've got an Android Studio app that updates itself when new versions come out.
The update uses just fine on a few different older android versions except on Android Version 13.
I'm using a BroadcastReceiver onComplete(Context ctxt, Intent intent) to fire this code after the new APK is downloaded:
Intent install = new Intent(Intent.ACTION_VIEW);
install.setAction(android.content.Intent.ACTION_VIEW);
String sFile = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/myapp.apk";
Uri uri;
File file = new File(sFile);
//For older android versions we must use older API's.
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
uri = Uri.fromFile(file);
} else {
uri = FileProvider.getUriForFile(ctxt, "com.domain.myapp.provider", file);
}
install.setDataAndType(uri,"application/vnd.android.package-archive");
install.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
install.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
install.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
install.putExtra(Intent.ACTION_PACKAGE_REPLACED, "com.domain.myapp");
install.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME, ctxt.getApplicationInfo().packageName);
ctxt.startActivity(install);
< /code>
Использование LogCat для мониторинга процесса обновления дает этот сбой: < /p>
10-06 19:42:20.022 19188-28017/? E/Finsky: [966] VerifyApps: Unexpected exception on background thread
java.lang.NullPointerException: Attempt to read from field 'java.lang.String android.content.pm.PackageInfo.packageName' on a null object reference in method 'awpj axar.i(android.content.pm.PackageInfo)'
at axar.i(PG:97)
at com.google.android.finsky.verifier.impl.installtime.VerifyAppsInstallTask.ml(PG:289)
at com.google.android.finsky.verifier.impl.installtime.VerifyInstallTask.ml(PG:1574)
at awmz.run(PG:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at bhsr.run(PG:59)
at java.lang.Thread.run(Thread.java:1012)
< /code>
Я могу вручную загрузить приложение вручную. Он вылетает только тогда, когда он пытается обновить себя.
работал годами и просто не будет работать на Android 13. < /P>
Спасибо! Майк
Подробнее здесь: [url]https://stackoverflow.com/questions/79784146/package-appears-to-be-invalid-attempt-to-read-from-field-java-lang-string-andr[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия