Editor de texto para ver AndroidManifest.xml en GNU/Linux

Editar:

El AndroidManifest.xmlarchivo en un paquete APK no es XML clásico (texto) sino XML binario. Esta afirmación está respaldada por estas fuentes: Infosec , Androguard y salida de file -i:

AndroidManifest.xml: application/octet-stream; charset=binary

mientras que un editor de texto generalmente requiere:

AndroidManifest_new.xml: application/xml; charset=us-ascii 

La conversión a XML clásico se puede lograr en Linux pero requiere Java que, como se menciona a continuación, quiero evitar.


Más temprano:

Estoy buscando un editor de texto que me permita ver fácilmenteAndroidManifest.xml el archivo (por ejemplo , 1 , 2 , 3 ) que se encuentra en los paquetes de Android (APK).

Requisitos

  • El software debe admitir (preferiblemente) Slackware 14.1 (sistema operativo principal; con KDE 4.10).

    Alternativamente, debería ser compatible con Linux Mint 17 (basado en Ubuntu 14.04; ejecutando KDE 4.13).

  • Se requiere una prueba de que el software puede ver dicho archivo XML.

  • Prefiere fuertemente la GUI sobre la CLI (se prefiere la codificación de colores).

  • Se prefiere el software gratuito, pero no se excluyen los pagos o propietarios.

  • No debería requerir WINE.

  • También se invitan sugerencias para extensiones/complementos del navegador.

  • Puede ser un complemento para un editor de texto nativo de Linux como Kate, Kwrite, et al .

  • Puede ser una aplicación de Android que puede exportar dicho archivo a un archivo legible por cualquier editor de texto. Tenga en cuenta que el formato no debería verse afectado en este proceso (desplácese a continuación para obtener más información).

¿Qué he intentado hasta ahora?

Intenté varios archivos XML:

  • Probé XMLcopyeditor (v1.2.1.2) en Slackware pero no muestra una salida legible por humanos paraAndroidManifest.xml
  • Kate y SublimeText 2 también muestran galimatías para dicho archivo XML.
  • No probé ningún visor basado en CLI ya que quiero una GUI.
  • Firefox y Chromium arrojan un error al abrir dicho archivo XML.
  • Conglomerate no se actualiza desde 2013 y, como es obvio, no se compiló en Slackware debido a los requisitos de las bibliotecas antiguas.
  • No probé KXML Editor porque no se ha actualizado desde 2013.
  • XV — XML Viewer tiene críticas muy malas, así que intentarlo estaba fuera de discusión para mí.

( Tenga en cuenta que si está seguro de que su candidato cumpliría con los requisitos antes mencionados, puede sugerir el software independientemente de si lo probé o no).

¿Resultados de búsqueda que encontré?

Las siguientes son algunas preguntas en los sitios SE que encontré pero ninguno funcionó para mí:

¿Qué otra cosa?

Parece que hay dos candidatos fuertes: Oxygen XML Editor y jEdit .

  • No probé el anterior porque es un software pago y no estoy seguro de si funcionaría en dicho archivo XML.
  • No instalé este último porque requiere Java Runtime instalado, lo que seguramente es un desastre desde la perspectiva de la seguridad.

(Avíseme si alguno de estos dos contendientes también puede funcionar para dicho archivo XML).

¿Una forma indirecta?

Actualmente, estoy usando una aplicación llamada Axel en Android que puede guardar dicho archivo XML como un .txtarchivo. Luego lo copio del dispositivo a mi sistema y uso a Kate para ver el archivo. Sin embargo, afecta mucho al formato que quiero evitar.


¡Muchas gracias por cualquier ayuda que puedas ofrecer!

si Kate y SublimeText 2 también muestran galimatías para dicho archivo XML. , ¿no sugiere que el archivo podría tener problemas? ¿Intentaste cattear el archivo?
¿Qué codificación son esos archivos? No parecen ser nada que mi sistema reconozca y no parecen ser XML :/
@ElliotReed Verifique mi edición, verá por qué su/mi sistema no reconoce dicho XML.
A los votantes negativos: ¿Por qué un voto negativo ? Por favor cita una razón en el comentario. Esta pregunta, en mi opinión, muestra los esfuerzos de investigación, es clara y útil, sin mencionar que traté de seguir la guía de preguntas de calidad de este sitio web.

Respuestas (2)

No instalé Java Runtime en todo el sistema, sino que limité el contenido extraído a un directorio jrebajo mi directorio de inicio, descargué AXMLPrinter2.jar ( sugerido en XDA ) y finalmente creé un alias para su uso en .bashrc.

Mi alias era simple:

AXML='~/Downloads/jre/bin/java -jar ~/Downloads/jre/AXMLPrinter2.jar'

y el uso de este alias en cualquier AndroidManifest.xmlarchivo binario dado en cualquier parte del sistema sería:

AXML <Binary_XML> > <New_XML>

P.ej:

AXML ~/AndroidManifest.xml > AndroidMF.xml

Ahora AndroidMF.xmles legible por humanos y se puede abrir con cualquier editor de texto compatible con XML. También puede guardar el archivo en .txtlugar de un .xmlarchivo. Tenga en cuenta que el formato es mucho mejor que el método que mencioné en mi pregunta.

Debido a que Java Runtime está disponible para la mayoría de los sistemas operativos, no debería haber ninguna razón por la que esta respuesta (o las partes más relevantes) no funcione en su sistema (excepto el alias).

Saltaré con Geany y la extensión XML PrettyPrinter . Uso Geany para casi todo, y la extensión XML PrettyPrinter siempre me ha funcionado bien.

Sin embargo, lo que parece estar buscando no es un lector XML, sino un analizador de archivos extraídos de un APK.

APKTool es un buen lugar para comenzar: http://ibotpeaches.github.io/Apktool/install/

El XML que genera (o cualquier otra herramienta) puede no ser perfecto, ¡pero al menos será más útil que el archivo sin formato por mucho! En cuanto a una herramienta GUI, me temo que no estoy seguro de eso (pero como es un analizador que probablemente esté buscando, supongo que no debería ser un gran problema).

¡Gracias! ¿Podría mencionar el hipervínculo para esta extensión de Geany? Me gustaría ver cómo funcionaría en dicho archivo XML. En cuanto a APKTool, necesita Java, lo que significa que solo lo usaré si no veo más recomendaciones.
Instalé Geany con esa extensión/complemento pero, lamentablemente, Geany no reconoce la codificación. ¿Alguna recomendación más?
No reconocerá el archivo a menos que se analice primero: el XML de los paquetes de Android no es un archivo XML "normal".
Si no quiere usar Java, hay muchos otros: stackoverflow.com/questions/2097813/… Aunque JRE no es realmente un problema de seguridad, y si le preocupa, puede ejecutarlo en una cárcel o en un espacio aislado ( o algo así como Firejail: l3net.wordpress.com/projects/firejail )