環境
- Andoroid 13(SDK 33)
- Google Play Console
状況
Google Play Consoleのリリース前レポートで発生しました。
エラーメッセージ
java.lang.SecurityException: No active admin ComponentInfo{com.google.android.apps.mtaas.deviceadmin/com.google.android.apps.mtaas.deviceadmin.DeviceAdminReceiver}
スタックトレース
Exception Process: com.google.android.apps.mtaas.deviceadmin, PID: 6046
java.lang.SecurityException: No active admin ComponentInfo{com.google.android.apps.mtaas.deviceadmin/com.google.android.apps.mtaas.deviceadmin.DeviceAdminReceiver}
at android.os.Parcel.createException (Parcel.java:2088)
at android.os.Parcel.readException (Parcel.java:2056)
at android.os.Parcel.readException (Parcel.java:2004)
at android.app.admin.IDevicePolicyManager$Stub$Proxy.setNetworkLoggingEnabled (IDevicePolicyManager.java:15305)
at android.app.admin.DevicePolicyManager.setNetworkLoggingEnabled (DevicePolicyManager.java:11627)
at com.google.android.apps.mtaas.deviceadmin.EnableNetworkLogging.onStart (EnableNetworkLogging.kt:27)
at android.app.Instrumentation$InstrumentationThread.run (Instrumentation.java:2209)
Caused by android.os.RemoteException: Remote stack trace:
at com.android.server.devicepolicy.DevicePolicyManagerService.getActiveAdminWithPolicyForUidLocked (DevicePolicyManagerService.java:3259)
at com.android.server.devicepolicy.DevicePolicyManagerService.getActiveAdminOrCheckPermissionForCallerLocked (DevicePolicyManagerService.java:3155)
at com.android.server.devicepolicy.DevicePolicyManagerService.getActiveAdminForCallerLocked (DevicePolicyManagerService.java:3136)
at com.android.server.devicepolicy.DevicePolicyManagerService.enforceCanManageScopeOrCheckPermission (DevicePolicyManagerService.java:7218)
at com.android.server.devicepolicy.DevicePolicyManagerService.enforceCanManageScope (DevicePolicyManagerService.java:7204)
原因
こちらはGoogleのテストフレームワークにおけるバグです。(1)
https://issuetracker.google.com/issues/160907013?pli=1#comment144
対応方法
このエラーはアプリ本体には無関係ですので対応の必要がありません。
よって、無視してリリース作業を続けます。
補足
リリース前レポートでエラーはあくまでアプリ改善の分析情報と推奨事項の提示という位置付けになります1。そのため、エラーがあっても以降のリリース作業で進めなくなることはありません。開発者が問題ないと判断できればリリースを継続することができます。実際にエラーが表示されてもそのままリリースできました。
また、このエラーが発生するか否かは運です。同一のビルドで再度テストするだけで消えることがほとんどです。
終わりに
レポートを品質向上に活用することは大切ですが、ユーザーの価値に繋がる範囲を見極めたいですね。
本件を作成するにあたり下記を参考にさせていただきました。