Я поддерживаю приложение для компании-друга несколько лет. Когда они недавно обновились с Android 5 до Android 7, приложение перестало работать. Поэтому я портировал на Android Studio и начал исправление. Теперь, после раздавливания кучи ошибок, я не могу установить приложение для установки на свой тестовый телефон, который является Pixel XL под управлением Android 8. Он запускал отладочные изображения, пока я не удалил его, чтобы я мог протестировать установку. (Я думаю, это было из-за Instant Run.)
Теперь я получаю следующее:
$ adb install-multiple -r -t I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_0.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_1.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_7.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_4.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_5.apk I:\Users\...\app\build\intermediates\split-apk\debug\dep\dependencies.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_6.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_3.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_8.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_2.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_9.apk I:\Users\...\app\build\outputs\apk\debug\app-debug.apk
Split APKs installed
$ adb shell am start -n "com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Error while executing: am start -n "com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.pbs.deliverytrack1/.MainActivity }
Error type 3
Error: Activity class {com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity} does not exist.
Error while Launching activity
Выполняется ли com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity?
ДОПОЛНИТЕЛЬНЫЕ ПРИМЕЧАНИЯ: Я смог получить apk для установки по электронной почте на Samsung Edge 7.0 под управлением Nougat 7.0. Я все еще не могу установить его на свой Google Pixel XL, на котором работает Oreo 8.0.
Я пробовал каждую комбинацию версий сборки, о которых я могу думать. Ключ, я думаю, находится в сообщении об ошибке:
$ adb shell am start -n "com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Error while executing: am start -n "com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.pbs.deliverytrack1/.MainActivity }
Error type 3
Error: Activity class {com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity} does not exist.
В разделе, где говорится: cmp = com.pbs.deliverytrack1/.MainActivity, должно быть com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity?
UPDATE После беспорядка с minSDK, maxSDK и targetSDK, а также трех разных версий Android: 7.0, 7.1.1 и 8.0, я нашел способ продолжить работу. Мой клиент использует 7.0 и 7.1.1, поэтому я создал эмулятор под управлением 7.0, который я использовал для отладки моего приложения. (На самом деле, моя жена). Поэтому я снова продвигаюсь вперед.
Я также буду делать то, что я обычно делаю, когда сталкиваюсь с причудливыми проблемами. Я собираюсь пройти через -XLint и исправить каждое предупреждение, которое я могу найти. (Если вы не можете исправить ошибку, которую хотите, детка, исправьте ошибку, которую вы получили.) Помимо очистки некоторых длительных нерешенных проблем, я надеюсь, что это в конечном итоге приведет к раздавливанию этой ошибки.
Спасибо всем за помощь и предложения. Я оставлю это открытым для немного, чтобы увидеть, если кто-то придумает чудо. Я бы предпочел присудить награду, чем просто позволить ей войти в бит-ведро.:)
Итак, еще раз, я смиренно прошу о помощи. Спасибо, Ray