I numbers di linea mancanti di Retro Proguard

Sto cercando di deobfucare una traccia di stack dalla mia applicazione Android. Ho usato proguard quando costruisco l'applicazione e l'esecuzione di retrazione sembra funzionare, più o less.

Ciò che non funziona è la decodifica dei numbers di row. Nell'output non vengono visualizzati numbers di row e elenca diverse opzioni per each "at".

  • Come faccio a continuare ad eseguire un servizio tutto il tempo?
  • Google Map Direzione Api con Retrofit
  • Android videoView mi dà l'allerta "Spiacente, questo video non può essere riprodotto"?
  • Come disegnare una rotta tra due geopoints su Android
  • Android: consente all'utente di select l'image o il video dalla Galleria
  • Come aprire solo la metà della tastiera in modalità Paesaggio?
  • Ecco il mio file proguard-project.txt:

    -keepattributes LineNumberTable -assulesssideeffects class android.util.Log { public static int v(...); public static int d(...); } 

    Questa è la mia traccia di stack:

     uncaught exception java.lang.NullPointerException at com.myapp.myapp.dbaccess.ag.a(Unknown Source) at com.myuapp.myapp.dbaccess.xa(Unknown Source) at com.myapp.myapp.dbaccess.xa(Unknown Source) at com.myapp.myapp.main.ab.run(Unknown Source) 

    Ed ecco l'output:

     uncaught exception java.lang.NullPointerException at com.myapp.myapp.dbaccess.ZNodeCache.com.myapp.myapp.dbaccess.ZNode getNodeFromCache(long)(Unknown Source) com.myapp.myapp.dbaccess.ZRoot getRootFromCache() com.myapp.myapp.dbaccess.ZNode getNodeFromDb(long,boolean) com.myapp.myapp.dbaccess.ZNode$Array getChildrenForExport(com.myapp.myapp.dbaccess.ZNode) ... many more ... at com.myapp.myapp.dbaccess.XmlImport.com.myapp.myapp.dbaccess.XmlImport$Results importFile(java.lang.String)(Unknown Source) void _doImport(java.io.InputStream,com.myapp.myapp.dbaccess.XmlImport$Results) void importFile(java.io.InputStream) void importNode(org.xmlpull.v1.XmlPullParser,com.myapp.myapp.dbaccess.ZNode) ... many more ... at com.myapp.myapp.dbaccess.XmlImport.com.myapp.myapp.dbaccess.XmlImport$Results importFile(java.lang.String)(Unknown Source) void _doImport(java.io.InputStream,com.myapp.myapp.dbaccess.XmlImport$Results) void importFile(java.io.InputStream) void importNode(org.xmlpull.v1.XmlPullParser,com.myapp.myapp.dbaccess.ZNode) ... many more ... at com.myapp.myapp.main.MainActivity$3.void run()(Unknown Source) 

    Devo mancare un altro parametro di configuration; qualche idea?

  • Ottenere risultati dei luoghi vicini dalla posizione utente utilizzando API di Google Maps in Android
  • Mostra l'image di formato Tiff in Android
  • HW accelerato attività - come get il limite di dimensione OpenGL texture?
  • Passare Array a rsForEach in Renderscript Compute
  • Cancellare la notifica utilizzando NotificationListenerService
  • Libreria Java di SSH per Android?
  • One Solution collect form web for “I numbers di linea mancanti di Retro Proguard”

    Risulta che la risposta è nella documentazione di Android (credere o no). Credo di averlo perso la prima volta. È necessario specificare il file di origine, ad esempio:

     -renamesourcefileattribute SourceFile -keepattributes SourceFile,LineNumberTable 

    Il file renamsesourcefileattribute farà sì che tutti i file di origine dispongano del nome SourceFile (o di qualsiasi altra cosa). "Retrace" non import quale sia il nome del file di origine, ma se lo lascerai, decide di ignorare i numbers di row.

    Questo va in proguard-project.txt che, se stai utilizzando Android Studio, troverai "il tuo progetto" .app.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.