Итак, я недавно обновил свое приложение. Это было небольшое обновление, некоторые исправления ошибок, удаление некоторых рекламных сетей и их соответствующих записей Activity
и Service
из манифеста. Linked Fabric с Firebase, в который было внесено еще несколько изменений. Я подробно опишу изменения ниже. Я обновился до Android Studio 3.1, что, как я понимаю, связано с изменением компилятора D8.
На моих тестовых телефонах он устанавливается нормально. У меня было обновление с моими бета-пользователями в течение нескольких недель, никаких сообщений о проблемах, у меня около 25 тысяч бета-пользователей, но, очевидно, не все из них активны или используют его каждый день. Я начал поэтапное развертывание, и, судя по статистике Play Store, на данный момент установлено около 50 000 установок.
У меня было 3 пользователя, которые сообщили о проблеме. Они говорят, что Play Store говорит, что установка не удалась, но приложение все равно устанавливается. Установка занимает от 10 до 20 минут. Если они вернутся к моей старой версии, установка будет работать так же быстро, как обычно. Они возвращаются к новой версии, и она снова говорит, что она не работает, и установка занимает от 10 до 20 минут. Установка прошла успешно, мне прислали скриншоты, показывающие, что это новая версия.
Внесенные изменения (из сравнения с моим последним тегом выпуска):
<meta-data
android:name="com.crashlytics.ApiKey"
android:value="mykey"/>
до
<meta-data
android:name="io.fabric.ApiKey"
android:value="mykey" />
Удалены действия и службы, такие как (сомневаюсь, что это проблема):
<activity
android:name="com.someadnetwork.activity"
android:configChanges="keyboardHidden|orientation|screenSize"/>
Добавлено:
compile('com.crashlytics.sdk.android:crashlytics:2.9.1@aar') {
transitive = true
}
Перешел с gradle
3.0.1 на 3.1.0
Изменено с classpath 'com.google.gms:google-services:3.0.0'
на 'com.google.gms:google-services:3.2.0'
, это был единственный способ заставить работать Fabric после привязки к Firebase.
Я попробовал выпуск без компилятора D8, и один из пользователей, который пробовал его из 3 и сообщил о проблеме, сказал, что установка сократилась с 16 до 10 минут, но по-прежнему выдавала ошибку сбоя. Похоже, виноват D8. Я попросил другого пользователя попробовать это, и отключение D8 исправило это.
Это ошибка:
Так в чем может быть проблема? что еще я мог попробовать? Я временно приостанавливаю обновление на случай, если оно затронет больше людей.
Спасибо.
Редактировать: один пользователь, который активно помогает мне тестировать это, только что попробовал мой старый apk и мой новый apk вручную, и он не получает никаких ошибок при установке, но установка нового apk занимает 10 минут, а старый устанавливается быстро .
Редактировать: у кого-то, кого я знаю, есть проблема с моим приложением, поэтому я отправляю им apks с небольшими изменениями, чтобы посмотреть, смогу ли я изолировать проблему. Последней, которую я отправил им, была моя предыдущая версия кода, та, в которой нет проблемы, но скомпилированная с помощью Android Studio 3.1.1, что потребовало внесения некоторых изменений в gradle, но не так много. Проблема возникает и с этим apk.
Редактировать: Похоже, виноват D8. Я делаю еще несколько тестов, прежде чем подать отчет об ошибке.
Всего 3 из 50 тысяч пользователей или 3 известных случая? Есть ли сходство между пользователями, например, марка устройства, версия API - что-то общее между этими пользователями? Это влияет только на обновления, а не на новые установки?
3 известных случая из 50к пользователей. С помощью Fabric я вижу, что у этой версии много активных пользователей, например, сегодня у нее 6 тысяч пользователей. Так что это может повлиять не только на эти 3. У меня только один из пользователей активно отвечал на мои электронные письма, поэтому я не знаю, есть ли сходство между устройствами.
Похоже, это может быть проблема с версией сервисов Google Play — возможно, она устарела.
Я нахожусь на
11.4.2
из-за ошибкиFirebase
на11.8
. Я пытаюсь вспомнить, в чем был сбой, но это было что-то глубоко внутри кода аутентификацииFirebase
.Теперь я знаю два телефона. Один из них — Samsung A5 с 6.0.1, а другой — LG G4 с 6.0. Я пробовал свой Nexus 5 с 6.0.1 и не могу воспроизвести его.
Похоже, проблема в компиляторе D8.
Это не звучит многообещающе для нового компилятора!
Посмотрим, когда я подам отчет. Я выпустил еще одно обновление приложения с D8, и ни у кого не было проблем с ним, так что, возможно, это то, что я делаю. Я проведу еще несколько тестов, а затем отправлю отчет об ошибке.
Я подал отчет об ошибке, посмотрим, что произойдет issuetracker.google.com/issues/77842465