Primeros pasos
Copia un prompt de configuración con los pasos de instalación y la guía completa en markdown para este plugin.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-is-root`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/is-root/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Instalar
Sección titulada “Instalación”Puedes usar nuestro setup asistido por IA para instalar el plugin. Añade las skills de Capgo a tu herramienta de IA con el siguiente comando:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsLuego usa el siguiente prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-is-root` plugin in my project.Si prefieres la configuración manual, instala el plugin ejecutando estos comandos y sigue las instrucciones de cada plataforma:
bun add @capgo/capacitor-is-rootbunx cap syncImportar
Sección titulada “Importar”import { IsRoot } from '@capgo/capacitor-is-root';Inicio rápido
Sección titulada “Inicio rápido”import { IsRoot } from '@capgo/capacitor-is-root';
const { result } = await IsRoot.isRooted();if (result) { blockSensitiveFlow();}Ejemplo: señal del emulador de Android
Sección titulada “Ejemplo: señal de emulador Android”La detección de emuladores no viene por defecto isRooted(). Llámala explícitamente cuando la política lo requiera.
const { result } = await IsRoot.isRunningOnEmulator();Ejemplo: auditoría de Android más profunda
Sección titulada “Ejemplo: auditoría de Android más profunda”const checks = await Promise.all([ IsRoot.detectRootManagementApps(), IsRoot.checkForSuBinary(),]);Errores comunes
Sección titulada “Errores comunes”- Simulador de iOS: siempre reporta que no tiene jailbreak, prueba en un dispositivo real.
- Falsos positivosCombina las comprobaciones de root con un scoring de riesgo en el servidor, no solo con cierres forzados.
- Política de Play: bloquear a todos los usuarios con root puede entrar en conflicto con tu categoría en la tienda; documenta la UX.
Resumen de API
Sección titulada “Resumen de API”isRooted
Sección titulada “isRooted”Realiza las comprobaciones de detección de root/jailbreak por defecto.
Este es el método recomendado para una detección básica de root/jailbreak. Ejecuta una combinación de las heurísticas de detección más fiables para la plataforma. Funciona tanto en Android como en iOS.
import { IsRoot } from '@capgo/capacitor-is-root';
const { result } = await IsRoot.isRooted();if (result) { console.log('Device is rooted/jailbroken');} else { console.log('Device is not rooted/jailbroken');}isRootedWithBusyBox
Sección titulada “isRootedWithBusyBox”Extiende la detección por defecto con comprobaciones específicas de BusyBox (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isRootedWithBusyBox();console.log(result);detectRootManagementApps
Sección titulada “detectRootManagementApps”Detecta si hay aplicaciones de gestión de root conocidas (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.detectRootManagementApps();console.log(result);detectPotentiallyDangerousApps
Sección titulada “detectPotentiallyDangerousApps”Detecta aplicaciones potencialmente peligrosas comunes en dispositivos con root (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.detectPotentiallyDangerousApps();console.log(result);detectTestKeys
Sección titulada “detectTestKeys”Detecta etiquetas de build de debug/test (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.detectTestKeys();console.log(result);checkForBusyBoxBinary
Sección titulada “checkForBusyBoxBinary”Comprueba si existe un binario de BusyBox en el dispositivo (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkForBusyBoxBinary();console.log(result);checkForSuBinary
Sección titulada “checkForSuBinary”Comprueba si el su binario está presente (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkForSuBinary();console.log(result);checkSuExists
Sección titulada “checkSuExists”Detecta si el su binario se puede ejecutar (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkSuExists();console.log(result);checkForRWPaths
Sección titulada “checkForRWPaths”Detecta rutas del sistema con permisos de escritura (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkForRWPaths();console.log(result);checkForDangerousProps
Sección titulada “checkForDangerousProps”Detecta propiedades peligrosas del sistema (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkForDangerousProps();console.log(result);checkForRootNative
Sección titulada “checkForRootNative”Ejecuta comprobaciones nativas de RootBeer (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkForRootNative();console.log(result);detectRootCloakingApps
Sección titulada “detectRootCloakingApps”Detecta aplicaciones que pueden ocultar el root (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.detectRootCloakingApps();console.log(result);isSelinuxFlagInEnabled
Sección titulada “isSelinuxFlagInEnabled”Comprueba si SELinux está en modo enforcing (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isSelinuxFlagInEnabled();console.log(result);isExistBuildTags
Sección titulada “isExistBuildTags”Detecta etiquetas de build de prueba en la imagen del SO (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isExistBuildTags();console.log(result);doesSuperuserApkExist
Sección titulada “doesSuperuserApkExist”Detecta si hay APKs de superusuario instaladas (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.doesSuperuserApkExist();console.log(result);isExistSUPath
Sección titulada “isExistSUPath”Busca ubicaciones de su binarios conocidos (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isExistSUPath();console.log(result);checkDirPermissions
Sección titulada “checkDirPermissions”Detecta directorios escribibles que deberían protegerse (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkDirPermissions();console.log(result);checkExecutingCommands
Sección titulada “checkExecutingCommands”Ejecuta which su comandos de estilo para detectar root (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkExecutingCommands();console.log(result);checkInstalledPackages
Sección titulada “checkInstalledPackages”Detecta paquetes instalados sospechosos (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkInstalledPackages();console.log(result);checkforOverTheAirCertificates
Sección titulada “checkforOverTheAirCertificates”Detecta certificados OTA manipulados (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkforOverTheAirCertificates();console.log(result);isRunningOnEmulator
Sección titulada “isRunningOnEmulator”Detecta huellas comunes de emuladores (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isRunningOnEmulator();console.log(result);simpleCheckEmulator
Sección titulada “simpleCheckEmulator”Realiza una comprobación ligera de emuladores (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.simpleCheckEmulator();console.log(result);simpleCheckSDKBF86
Sección titulada “simpleCheckSDKBF86”Detecta huellas de emuladores x86 (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.simpleCheckSDKBF86();console.log(result);simpleCheckQRREFPH
Sección titulada “simpleCheckQRREFPH”Detecta builds de teléfonos de referencia QC (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.simpleCheckQRREFPH();console.log(result);simpleCheckBuild
Sección titulada “simpleCheckBuild”Detecta anomalías en el host de build (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.simpleCheckBuild();console.log(result);checkGenymotion
Sección titulada “checkGenymotion”Detecta huellas de emuladores Genymotion (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkGenymotion();console.log(result);checkGeneric
Sección titulada “checkGeneric”Detecta huellas de emuladores genéricos (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkGeneric();console.log(result);checkGoogleSDK
Sección titulada “checkGoogleSDK”Detecta huellas de emuladores SDK de Google (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.checkGoogleSDK();console.log(result);togetDeviceInfo
Sección titulada “togetDeviceInfo”Devuelve la información del dispositivo recolectada durante la detección.
Proporciona contexto y metadatos adicionales del dispositivo gathered durante el proceso de detección de root. Útil para debugging y logs.
import { IsRoot } from '@capgo/capacitor-is-root';
const deviceInfo = await IsRoot.togetDeviceInfo();console.log('Device info:', deviceInfo);isRootedWithEmulator
Sección titulada “isRootedWithEmulator”Extiende la detección por defecto con heurística de emuladores (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isRootedWithEmulator();console.log(result);isRootedWithBusyBoxWithEmulator
Sección titulada “isRootedWithBusyBoxWithEmulator”Extiende la detección de BusyBox con heurística de emuladores (solo Android).
import { IsRoot } from '@capgo/capacitor-is-root';
const result = await IsRoot.isRootedWithBusyBoxWithEmulator();console.log(result);Referencia de tipos
Sección titulada “Referencia de tipos”DetectionResult
Sección titulada “DetectionResult”Resultado devuelto por los métodos de detección de root/jailbreak.
export interface DetectionResult { /** * `true` when the associated heuristic detects root/jailbreak artifacts. * `false` when no root/jailbreak indicators are found. * * @since 1.0.0 */ result: boolean;}DeviceInfo
Sección titulada “DeviceInfo”Información del dispositivo recopilada durante la detección.
export interface DeviceInfo { /** * Arbitrary key/value device metadata populated by the native implementation. * Contents vary by platform and detection methods used. * * @since 1.0.0 */ [key: string]: any;}Fuente de verdad
Sección titulada “Fuente de verdad”Esta página se genera a partir del plugin src/definitions.ts. Vuelve a ejecutar el sync cuando el API público cambie en upstream.
Continúa desde Getting Started
Sección titulada “Continúa desde Primeros pasos”Si estás usando Primeros pasos para planificar las operaciones del dashboard y de API, conéctalo con Uso de @capgo/capacitor-is-root para la capacidad nativa al usar @capgo/capacitor-is-root, Resumen de API para los detalles de implementación en API Overview, Introducción para los detalles de implementación en la Introducción, Claves de API para los detalles de implementación en las claves de API, y Dispositivos para el detalle de implementación en Devices.