Strict Canary es una pequeña herramienta para admitir la aplicación suave del «modo estricto». Para obtener más información, consulte Modo estricto de Android. Descripción Creemos que los bloqueos o las ventanas de diálogo del modo estricto pueden ser realmente molestos, especialmente en un proyecto grande, por lo tanto, Strict Canary ofrece una implementación «suave» del modo estricto. Cuando se detecta una infracción, Strict Canary mostrará una notificación pequeña y amigable, como la siguiente notificación: Notificación grupal Además, se puede hacer clic en esta notificación. Al hacer clic, verá la lista de las 150 infracciones más recientes que han ocurrido desde que se inició la aplicación. Sin embargo, si desea tener más control sobre las infracciones, puede dividir esta notificación grupal en notificaciones más pequeñas para cada infracción. Puedes ver un ejemplo de notificaciones independientes a continuación: Contraído Expandido ¿Y qué piensas? ¡También se puede hacer clic en ellas! Haga clic en él para ver la información detallada. Vea los ejemplos de contenidos de notificaciones a continuación: Las infracciones más recientes Pantalla de infracciones detallada Descargar Nota al margen: la biblioteca se publica en mavenCentral, por lo que puede ser necesario agregar mavenCentral a su lista de repositorios en el archivo raíz gradle. allprojects { repositorios { // tus repositorios mavenCentral() } } Maven
com.github.st235
canario estricto
xxx
pompón
Implementación de Gradle ‘com.github.st235:strict-canary:xxx’ Ivy

PD: puede usar el script a continuación o la insignia de arriba para recuperar la última versión de curl -s «https://search.maven.org/solrsearch/select?q=g:com.github.st235+AND+a:strictcanary » | grep -oh ‘.últimaVersión.:.[^»]*’ | grep-oh ‘[0-9|.]*[0-9]$’ Módulo de uso Comencemos con la configuración de su módulo. Como Strict Canary envía notificaciones, no queremos permitir que sus usuarios las vean y arruinen su experiencia. A la luz de este requisito previo, la biblioteca proporciona una implementación no operativa para sustituir Strict Canary por un código auxiliar en las versiones de lanzamiento. Puede utilizar el recorte a continuación para separar la lógica de depuración y liberación. debugImplementation «st235.com.github:strict-canary:xxx» releaseImplementation «st235.com.github:strict-canary-noop:xxx» Configuración Para dejar que la magia ???? sucede que necesitas escribir un pequeño código. Prometo que estos serán sólo unos pocos cambios. Debe modificar su método Application#onCreate y proporcionar StrictCanaryDetectionPolicy a la instancia global de StrictCanary. anular diversión onCreate() { super.onCreate() StrictCanary.setDetectionPolicy( StrictCanaryDetectionPolicy.Builder(this) .detect(StrictCanaryViolation.Type.DISK_READ) .detect(StrictCanaryViolation.Type.DISK_WRITE) .rawBaseline(R.raw.strictcanary_baseline) .showAllViolationsAtOnce () // o .showEveryViolationAsSeparateNotification() .build() ) } La configuración básica parece bastante sencilla. Sin embargo, StrictCanaryDetectionPolicy.Builder admite funciones adicionales, como un archivo de línea base o un conmutador de detección de errores de terceros. Línea de base Quizás se pregunte: «¿Qué debo hacer si hay algunas infracciones que no puedo solucionar en este momento»? Tengo una respuesta para ti: necesitas usar un archivo de referencia. Baseline es un documento especial que le ayuda a ignorar algunas de sus infracciones del modo estricto. Para definir y utilizar el archivo correctamente es necesario seguir unas cuantas reglas sencillas: Cada número debe utilizar etiquetar y utilizar un atributo de ruta que ignore todo el archivo o especificar la entrada del código con la etiqueta; Todos los problemas deben agruparse en un grupo que utilice etiqueta. Sin embargo, no es posible definir un grupo vacío; es necesario especificar un atributo de identificación; Todos los grupos deben estar dentro de una etiqueta parental. .


StrictCanaryApplication.onCreate

PD: Ahora estás listo para comenzar. ¡Hagamos que el hilo principal vuelva a ser genial! Licencia miscelánea Licencia MIT Copyright (c) 2022 Alexander Dadukin Por la presente se concede permiso, de forma gratuita, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el «Software») para operar con el Software sin restricciones, incluso sin limitar los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y permitir que las personas a quienes se proporciona el Software lo hagan, sujeto a las siguientes condiciones: Los derechos de autor anteriores Este aviso y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software. EL SOFTWARE SE PROPORCIONA «TAL CUAL», SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO PERO NO LIMITADO A LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN PROPÓSITO PARTICULAR Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGÚN RECLAMO, DAÑO U OTRA RESPONSABILIDAD, YA SEA EN UNA ACCIÓN CONTRACTUAL, AGRAVIO O DE OTRA MANERA, QUE SURJA DE, FUERA DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS NEGOCIOS EN EL SOFTWARE.

Source link