2017-03-19 36 views
4

私たちのアプリはうまく機能していました。 2週間半前に公開された最新のアップデートは、apkファイルが作成されて正常に動作したときです。APKをインストールできない

apkを作成しようとしている(署名されているかどうかは問題は表示されません)最後の2日間、Androidスタジオからエラーは送信されませんが、apkが電話にインストールされると、 「アプリケーションがインストールされていません」というエラーでインストールする

さらに、Androidモニターには次のエラーが表示されます。

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 

誰も同じような問題に直面しましたか?

ありがとうございます。

+0

Android Studio 2.3を使用してapkに署名していますか? –

+0

はい、私は見ることができるから、Android Studioは古いapkと新しいものの中間で更新されました。 これは互換性の問題ですか?何か別のものを設定する必要はありますか? –

+2

私はリリースapkで問題が発生しました。インストールできませんでした。シグネチャv2がチェックされていれば起こっていましたので、v2にチェックを入れてチェックを外してv1(jar署名)のみを使用してみてください。 –

答えて

5

apkをリリースする前に私が似たような問題を抱えていたのですが、インストールすることができませんでした。これはsignature v2がチェックされている場合に起こりました。

残念ながら、なぜこのような問題が発生するのかはわかりません。とにかくv2にチェックを入れたら、チェックを外してv1(jarの署名)だけを使ってみてください。また


両方のタイプの違いについてthis STOのスレッドを私たちに提供するための@codeMagicに感謝!

0

IのみV1署名を適用することによって、ことを上記た同じ固定し、以下のようにv1SigningEnabled & v2SigningEnabledの設定値によってgradleビルドファイルを介して行うことができる。また、V2の署名をオフ:

signingConfigs { 
    staging { 
     keyAlias ***** 
     keyPassword ***** 
     storeFile file(*****) 
     storePassword ***** 
     v1SigningEnabled true 
     v2SigningEnabled false 
    } 
    release { 
     keyAlias ***** 
     keyPassword ***** 
     storeFile file(*****) 
     storePassword ***** 
     v1SigningEnabled true 
     v2SigningEnabled false 
    } 
} 
関連する問題