Android 11 reforzará las restricciones de API ocultas y eliminará la metarreflexión

click fraud protection

Android 9 Pie introdujo restricciones de API ocultas y ahora, Android 11 reforzará esas restricciones para eliminar la omisión de metarreflexión.

Para aquellos de ustedes que no lo saben, Google introdujo un cambio bastante molesto en Android 9 Pie que preocupa a los desarrolladores entusiastas que buscan ampliar los límites de lo que es posible en Android. Me refiero, por supuesto, a la adición de la lista negra de API ocultas. Con la intención de promover la estabilidad de la aplicación, Google bloqueó el acceso a la mayoría de las API ocultas: API que existen en el marco de Android pero que no están documentadas en el SDK de Android. Se podía acceder a estas API mediante reflexión hasta Android 9 Pie y, actualmente, todavía se puede acceder a ellas mediante la solución alternativa de metarreflexión.

Si no tienes idea de lo que estoy hablando, probablemente deberías lee el artículo que escribí hace unos meses sobre este tema. Explicará todo lo que necesita saber sobre la metarreflexión y cómo funciona. Desafortunadamente, parece que Google se dio cuenta de esta solución (¡vaya!). En un nuevo compromiso con AOSP, Google ha introducido un código para "reforzar" las comprobaciones API ocultas de Android. Básicamente, esto significa que la metarreflexión ya no funcionará.

Por supuesto, esto no afectará a todas las aplicaciones. Al igual que con la lista negra de API original, solo se verán afectadas las aplicaciones orientadas a Android 11 (nivel de API 30) o posterior. Aún puedes apuntar al nivel de API 29 o inferior y usar metarreflexión. Con la Play Store aumentar progresivamente los requisitos mínimos del SDK de destino, sin embargo, esta no será una solución válida por mucho tiempo.

En este momento, no conozco ninguna solución alternativa para las aplicaciones orientadas a API 30. Sin embargo, Android 11 está muy lejos, por lo que es muy probable que alguien encuentre una manera de restaurar el acceso. Mientras tanto, si utiliza API ocultas, es posible que desee presentar una solicitud para que se hagan públicos en Android 11. Si eres bueno analizando C++ y Java y quieres intentar "arreglar" esta pequeña situación de la lista negra, eche un vistazo al compromiso relevante.