2016-05-03 8 views
5

All'avvio la mia app si arresta in modo anomalo per tutti i dispositivi Android Marshmallow arm64. Gli utenti utilizzavano in precedenza l'app su Lollipop sullo stesso dispositivo, ma poi hanno iniziato a segnalare questi arresti anomali dopo l'aggiornamento dei loro dispositivi su Marshmallow. I dispositivi a 32 bit non sono interessati. I rapporti sugli arresti anomali sono tutti così:L'app si arresta in modo anomalo all'avvio su tutti i dispositivi arm64 dopo l'aggiornamento a Marshmallow. Come faccio a eseguire il debug utilizzando solo un offset del PC?

ABI: 'arm64' 
pid: 3531, tid: 3531, name: ompany.myapp >>> com.mycompany.myapp <<< 
signal 4 (SIGILL), code 1 (ILL_ILLOPC), fault addr 0x7f796d9370 
    x0 0000000013087000 x1 0000007f8815da00 x2 0000000000000002 x3 0000000000000004 
    x4 b42e90dfe44ab496 x5 b42e90dfe44ab496 x6 0000000000000000 x7 00000000019b7af0 
    x8 0000000013087000 x9 0000007f87713000 x10 0000000000000601 x11 000000001308700c 
    x12 0000000000002000 x13 0000000000002000 x14 000000006fb18428 x15 00000000013cd010 
    x16 0000000000000000 x17 0000000000002000 x18 0000005594f27e90 x19 0000000000000003 
    x20 0000000013087000 x21 0000007f75e00098 x22 00000000130d6e20 x23 0000000000000601 
    x24 0000000000000000 x25 0000000000000001 x26 0000000000000000 x27 0000000000000000 
    x28 0000000000000000 x29 00000000130d6e20 x30 0000007f796d9350 
    sp 0000007ff8a7bc60 pc 0000007f796d9370 pstate 0000000080000000 

backtrace: 
    #00 pc 0000000000929370 /data/app/com.mycompany.myapp-1/oat/arm64/base.odex (offset 0x486000) 
    #01 pc 000000000092934c /data/app/com.mycompany.myapp-1/oat/arm64/base.odex (offset 0x486000) 

L'offset 0x486000 è coerente in tutti i report.

Posso utilizzare questo offset per eseguire il debug dello schianto? Alcuni maggiori informazioni sul app:

  • Non v'è alcun codice nativo (è tutto Java)
  • Se io decomprimere il apk, la directory assomiglia a questo (non c'è lib directory)

    [res] , [assets], [META-INF], classes.dex, resources.arsc, AndroidManifest.xml

  • che ho letto sui trucchi di filtraggio ABI che alcuni pe ople sta usando le librerie ex64 di esclusione dalle loro build, costringendo il sistema a caricare le librerie a 32 bit, ma non ho codice nativo e nessuna directory libs.

La mia ipotesi è che c'è qualcosa che posso fare con quella offset, ma non sono sicuro da dove cominciare.

+0

con tutti i dispositivi testati – Stallion

+0

LG G4, HTC One M9, Xperia Z5, Lenovo P1 – user2720435

+0

L'errore deriva dallo stack c. Assicurati che i tuoi file .so abbiano il corretto foldering. –

risposta

1

La mia app si è bloccata nei dispositivi arm64 (Nexus 9). Ho provato this answer e mi ha aiutato. Ora funziona su tutti i dispositivi che ho provato finora.

Problemi correlati