2011-11-17 4 views

risposta

15

Questa è una di quelle cose "facili una volta che conosci come": usa lo strumento aapt per ispezionare il manifest.

aapt dump xmltree YourApp.apk AndroidManifest.xml | grep debuggable 

questo comando vi darà un dump del modulo compilato del AndroidManifest.xml file- l'output sarà simile

A: android: debuggable (0x0101000f) = (tipo 0x12) 0x0

(Uscita effettiva dal mio prompt dei comandi) in questo esempio, 0x0 indica falso.

+0

Grazie, ho trovato un metodo alternativo con 'l -a' troppo. – kabuko

+2

Se vuoi conoscere lo stato del flag di debugging nel manifest puoi farlo come suggerisce @Alexander. Tuttavia, se vuoi sapere se un apk è effettivamente eseguibile, devi anche vedere se il 'grep' è vuoto. Se il manifest non ha flag di debug, verrà impostato su false. Dai documenti: 'Puoi disabilitare il debug rimuovendo l'attributo android: debuggable dal tag nel file manifest o impostando l'attributo android: debuggable su false nel file manifest. Puoi sempre guardare l'intero manifest rimuovendo '| grep debuggable' dal codice precedente. – tir38

9

Apparentemente aapt può farlo:

aapt l -a app.apk | grep debuggable 

torneranno entrambi:

A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff (means debuggable is true) 

o

A: android:debuggable(0x0101000f)=(type 0x12)0x0 (means debuggable is false) 
2

Per l'utente può usare la finestra di comando seguente:

aapt l -a <apk with path> | findstr debuggable 

tornerà uno:

A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff 
-> this means debuggable is true. 

o

A: android:debuggable(0x0101000f)=(type 0x12)0x0 
-> this means debuggable is false. 
Problemi correlati