APK не может установить

Наше приложение раньше работало. Последнее обновление опубликовано 2 с половиной недели назад, когда apk-файл создавался и работал правильно.

Последние 2 дня, когда мы пытаемся создать apk (подписано или нет, появляется проблема), никаких ошибок из Android Studio не выдается, но когда apk собирается установить на телефон, приложение не устанавливается с ошибка "Приложение не установлено"

Кроме того, в Android Monitor появляются следующие ошибки.

Class not found when unmarshalling: com.android.packageinstaller.InstallFlowAnalytics
                                           java.lang.ClassNotFoundException: com.android.packageinstaller.InstallFlowAnalytics
                                               at java.lang.Class.classForName(Native Method)
                                               at java.lang.Class.forName(Class.java:324)
                                               at android.os.Parcel.readParcelableCreator(Parcel.java:2404)
                                               at android.os.Parcel.readParcelable(Parcel.java:2358)
                                               at android.os.Parcel.readValue(Parcel.java:2264)
                                               at android.os.Parcel.readArrayMapInternal(Parcel.java:2614)
                                               at android.os.BaseBundle.unparcel(BaseBundle.java:221)
                                               at android.os.BaseBundle.getString(BaseBundle.java:920)
                                               at android.content.Intent.getStringExtra(Intent.java:6183)
                                               at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:2706)
                                               at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:2171)
                                               at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6359)
                                               at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:6127)
                                               at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:170)
                                               at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3999)
                                               at android.os.Binder.execTransact(Binder.java:453)
                                            Caused by: java.lang.ClassNotFoundException: com.android.packageinstaller.InstallFlowAnalytics
                                               at java.lang.Class.classForName(Native Method)
                                               at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
                                               at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
                                               at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
                                               at java.lang.Class.classForName(Native Method) 
                                               at java.lang.Class.forName(Class.java:324) 
                                               at android.os.Parcel.readParcelableCreator(Parcel.java:2404) 
                                               at android.os.Parcel.readParcelable(Parcel.java:2358) 
                                               at android.os.Parcel.readValue(Parcel.java:2264) 
                                               at android.os.Parcel.readArrayMapInternal(Parcel.java:2614) 
                                               at android.os.BaseBundle.unparcel(BaseBundle.java:221) 
                                               at android.os.BaseBundle.getString(BaseBundle.java:920) 
                                               at android.content.Intent.getStringExtra(Intent.java:6183) 
                                               at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:2706) 
                                               at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:2171) 
                                               at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:6359) 
                                               at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:6127) 
                                               at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:170) 
                                               at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3999) 
                                               at android.os.Binder.execTransact(Binder.java:453) 
                                            Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available 

Кто-нибудь сталкивался с подобной проблемой?

Заранее спасибо.


person Giorgos Pippos    schedule 19.03.2017    source источник
comment
Вы используете Android Studio 2.3 для подписи apk?   -  person ATEF    schedule 19.03.2017
comment
Да, и из того, что я вижу, Android Studio обновляется в промежутке между старым apk и новым. Это проблема совместимости? Должны ли мы настраивать что-то еще?   -  person Giorgos Pippos    schedule 19.03.2017
comment
У меня была проблема с выпуском apk, я не смог его установить, это происходило, если проверена подпись v2, поэтому, если вы проверили v2, попробуйте снять ее и использовать только v1 (подпись jar).   -  person ATEF    schedule 19.03.2017
comment
Теперь это работает! Созданный apk установлен на устройстве, и приложение работает правильно! Спасибо за ваш отзыв Atef Hares!   -  person Giorgos Pippos    schedule 19.03.2017
comment
Рад, что смог помочь :)   -  person ATEF    schedule 19.03.2017
comment
@AtefHares, вы должны сделать это ответом. Это работало для меня также в отладке. Кроме того, вот сообщение с дополнительной информацией о различиях   -  person codeMagic    schedule 31.08.2017
comment
@codeMagic готово! рад, что смог помочь и вам :)   -  person ATEF    schedule 31.08.2017


Ответы (2)


У меня была похожая проблема раньше, когда я выпускал apk, я не мог его установить, это происходило, если подпись v2 проверена.

К сожалению, я не совсем уверен, почему это вызывает такие проблемы! в любом случае, если вы отметили v2, попробуйте снять его и использовать только v1 (подпись jar).


Также спасибо @codeMagic за предоставление нам эта ветка STO о различиях между обоими типами.

person ATEF    schedule 31.08.2017

Я исправил то же самое, что упоминалось выше, применив только подпись v1 и отключив подпись v2, более того, это можно сделать через файл сборки gradle, установив значение настроек для v1SigningEnabled и v2SigningEnabled следующим образом:

signingConfigs {
    staging {
        keyAlias *****
        keyPassword *****
        storeFile file(*****)
        storePassword *****
        v1SigningEnabled true
        v2SigningEnabled false
    }
    release {
        keyAlias *****
        keyPassword *****
        storeFile file(*****)
        storePassword *****
        v1SigningEnabled true
        v2SigningEnabled false
    }
}
person Ayman Mahgoub    schedule 21.12.2017