IllegalArgumentException Exception de package inconnue dans l'environnement sandbox du plug-in dans la version Android 6.0

Récemment, un certain package de canal a signalé un problème d'exception de package inconnu de bugly. Après avoir analysé le code source de la couche de structure, il a été constaté qu'il s'agissait d'un problème de compatibilité de l'API de plug-in. Le package de canal s'exécutait dans un environnement sandbox (233 Paradis).

Phénomène

Pile d'erreurs Java :
insérez la description de l'image ici
autres appareils, informations de fréquence : se produit actuellement sur le système Android 6.0
insérez la description de l'image ici

Processus d'analyse du code source :

À partir de l'appel de code ApplicationPackageManager#isPermissionRevokedByPolicy() :
insérez la description de l'image ici
mPm est la classe proxy Java générée par IPackageManager.aidl pour le client correspondant, qui est utilisée pour la communication interprocessus avec le système pms.
insérez la description de l'image ici
Ensuite, accédez à isPermissionRevokedByPolicy() dans le service système PMS :
insérez la description de l'image ici
Ensuite, vérifiez la logique de getPermissionFlags() :
insérez la description de l'image ici
car le package 233 canaux du jeu n'est pas directement installé sur le système de téléphonie mobile, donc pms ne peut pas trouver les informations de package pertinentes de le paquet de 233 chaînes du jeu, jetez juste une exception. Correspond à la pile d'appels sur Bugly.

Ensuite, vérifiez la logique de getPermissionFlags() sur android 7.0 et supérieur :
insérez la description de l'image ici
depuis android 7.0 et supérieur, ce problème n'existe pas, et le code source du système a été modifié.

3. Inférence

233 Paradise Dans la version Android 6.0, il existe une faille dans l'appel de l'API PackageManager#isPermissionRevokedByPolicy, ce qui provoquera un plantage.

Je suppose que tu aimes

Origine blog.csdn.net/hexingen/article/details/131942207
conseillé
Classement