¿Dónde se guardan las configuraciones de APN en Android?

Quiero saber dónde se almacenan exactamente los APN que agrega el usuario en Android. Quiero editarlos manualmente usando X-plore (o cualquier otro explorador de archivos raíz).

Sé que se /system/etc/apns-conf.xmlalmacenan los APN que vienen predeterminados con el dispositivo, pero estoy buscando el archivo XML donde se almacenan los APN agregados por el usuario.

Para cualquier otra persona que llegue aquí para descubrir cómo Android recoge automáticamente los APN, las configuraciones preestablecidas de APN ahora se encuentran en /etc/apns-conf.xml, y están vinculadas a una tarjeta SIM insertada por mmc y mnc.
@Bilko /etces un enlace simbólico a /system/etc. Ambos archivos son iguales.

Respuestas (2)

Creo que depende de tu ROM. Revisé la mía recientemente y están en la siguiente carpeta:

/data/data/com.android.providers.telephony/databases/. (telefonía.db). Puede intentar abrir este archivo .db como texto con un explorador de archivos adecuado y ver si puede encontrarlos. ( Estos son apns en la ROM por defecto )

Editar

Creé un apn de prueba manualmente e hice una búsqueda, descubrí que en realidad está almacenado aquí: /data/data/com.android.settings/shared_prefs/com.android.settings_preferences.xml

(Este xml también contiene mucha información que se encuentra en la configuración, pero si usa una búsqueda de palabras clave para intentar encontrar su apn manual, será mucho más rápido)

Algunos de los apns de los operadores se agregan automáticamente cuando inserta una nueva tarjeta SIM, correspondiente al país, es por eso que se almacenan en la base de datos de telefonía, creo. Apenas ingreso estos apns manualmente, incluso cuando cambio una tarjeta SIM.

+1 En Android 9, los APN agregados manualmente solo se agregan a telephony.db, com.android.settings_preferences.x­mlno existe.
Rooteé mi teléfono con Android 10 con Magisk y usé la aplicación SQLite Editor para agregar dun a mi APN y evitar el límite de mi punto de acceso. En la aplicación encontré el APN en: /data/user_de/0/com.android.providers.telephony/databases/telephony.db/carriers Una vez allí, busqué mi operador específico y edité el campo de tipo agregando dun.

Al mirar un dispositivo Pixel 3a con Android 10, la ubicación es el directorio de usuario relacionado con data/user_de/0/com.android.providers.telephony/databases/telephony.db user_de_ d _evice _ euser _ncryption, utilícelo en su lugar si el teléfono no es compatible.

No está estrictamente relacionado con la pregunta sobre la ubicación de almacenamiento proporcionada por el usuario, pero esto podría ser útil para las personas que llegan aquí después de una búsqueda:

Al buscar en TelephonyProvider hay 4 ubicaciones diferentes con prioridad creciente:

  • APN predeterminados: /system/etc/apns-conf.xml
  • APN OEM: /oem/telephony/apns-conf.xml
  • APN de actualización OTA: /data/misc/apns/apns-conf.xml
  • APN del producto: /product/etc/apns-conf.xml

Nota: En Android 10, la partición del sistema no se puede montar en lectura y escritura. Use un módulo Magisk para cambiar los APN o actualice el APN en /data/misc/apns/apns-conf.xml. Esta ruta se puede escribir después de un su.

Los APN finalmente se almacenan en la base de datos /data/user_de/0/com.android.providers.telephony/databases/telephony.db. Como se mencionó anteriormente, sea flexible aquí sobre la user_departe.

También tenga en cuenta que se introdujo un ApnSourceServicemétodo en Android 10 (?). Esta es una implementación específica del proveedor para buscar APN. Este es un servicio no documentado. Si este servicio está activo, se ignorarán todos los XML. Use un módulo Magisk para desactivar este servicio si es necesario.

/data/user_dees correcto, es el dispositivo de almacenamiento cifrado en dispositivos compatibles con FBE. Muchas configuraciones se han movido de /data/user( /data/data) a esta ruta cifrada.
Gracias. He mejorado la respuesta aquí.