Estoy usando aapt herramienta para leer el contenido del archivo apk con:

aapt d badging myapk.apk

Pero la salida es demasiado. Solo necesito el nombre del paquete y el nombre de la versión. Cualquier forma de limitarlo?

Actualización: yo tengo que trabajar en la ventana de cmd. Este aspecto:

aapt d badging myapk.apk | find "pack"
InformationsquelleAutor CodeBlue | 2012-03-20

5 Comentarios

  1. 12

    //probar este

    aapt d badging myapk.apk | grep 'pack'

    su muestra para mí como

    [email protected]-desktop:~$ aapt d badging ./Desktop/NhpAndroid_tablet_k4.apk  | grep 'pack'
    package: name='com.ti.et.nspire.android' versionCode='1' versionName='1.0'
    • hmmm… es para linux? ¿cómo puedo obtener el mismo con cmd en windows 7?
    • bonita respuesta, lo que si quiero mostrar package: name='com.**', versionCode='xx', versionName='xx.xx', ((sdkVersion:'xx', lable:'xxxx'))?
  2. 5

    He aquí un truco que funcionan como un encanto para mí.
    Estoy usando Backtrack 5 r2 ; GNU bash, la versión 4.1.5(1) liberación (i486-pc-linux-gnu)

    Suponiendo que «./aapt» ejecutable en el mismo directorio de la Concha o de secuencia de Comandos. Si no acaba de agregar la ruta de acceso al ejecutable o utilizar la exportación aapt=»/ruta/a/aapt» y el uso de la variable path.

    out=$(./aapt volcado de los emblemas de la GameCIH.apk | grep ‘de la aplicación de la etiqueta:’ | awk-F: ‘match($0,»:»){ print substr($0,RSTART+1)}’ | tr -d «‘» )

    De aplicación de etiqueta:’GameCIH’ en apk

    A sólo:

    GameCIH

    Una última cosa. Si desea que el nombre del paquete o el nombre de la versión, a continuación, hacer esto:

    out=$(./aapt volcado de los emblemas de la GameCIH.apk | grep ‘versionName=’ | awk-F: ‘match($0,»versionName=»){ print substr($2,RSTART-8)}’ | tr -d «‘» )

    Esto devolverá por ejemplo:

    versionName=3.0.0

    Acaba de cambiar los valores de versionName a lo que usted necesita.

    Cambio RSTART-8 para algo como esto: RSTART+4 y que regresará:

    3.0.0

    Espero que esto podría ayudar!

  3. 1
    aapt d badging myapk.apk | awk '/package/{print($2)}' | awk '{print(mstr[split($1, mstr, \"=\")])}' | tr -d \"'\"
  4. 1

    Aquí está la función Bash:

    # Display package name and version of APK file(s)
    apk(){
        (
            set -o pipefail
    
            for path in "[email protected]"; do
                aapt dump badging "$path" \
                | awk $'
                    BEGIN {
                        p=""
                        v=""
                    }
    
                    match($0, /^package: name=\'([^\']*)\'/, a) {
                        p=a[1]
                    }
    
                    match($0, /versionName=\'([^\']*)\'/, b) {
                        v=b[1]
                    }
    
                    END {
                        if (length(p) && length(v)) {
                            print p, v
                        }
                    }'
            done
        )
    }

Dejar respuesta

Please enter your comment!
Please enter your name here