android – Proguard回溯缺少行号

android – Proguard回溯缺少行号,第1张

概述我正试图从我的 Android应用程序中去除堆栈跟踪.我在构建应用程序时使用了proguard,并且运行回溯似乎工作,或多或少. 什么是行不通的是解码行号.输出中没有显示行号,它列出了每个“at”的几个选项. 这是我的proguard-project.txt文件: -keepattributes LineNumberTable-assumenosideeffects class android. @H_404_1@我正试图从我的 Android应用程序中去除堆栈跟踪.我在构建应用程序时使用了proguard,并且运行回溯似乎工作,或多或少.

什么是行不通的是解码行号.输出中没有显示行号,它列出了每个“at”的几个选项.

这是我的proguard-project.txt文件:

-keepattributes lineNumbertable-assumenosIDeeffects class androID.util.Log {    public static int v(...);    public static int d(...);}

这是我的堆栈跟踪:

uncaught exceptionjava.lang.NullPointerExceptionat com.myapp.myapp.dbaccess.ag.a(UnkNown Source)at com.myuapp.myapp.dbaccess.x.a(UnkNown Source)at com.myapp.myapp.dbaccess.x.a(UnkNown Source)at com.myapp.myapp.main.ab.run(UnkNown Source)

这是输出:

uncaught exceptionjava.lang.NullPointerExceptionat 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.ZNode)                                             ... many more ...at com.myapp.myapp.main.MainActivity.voID run()(UnkNown Source)

我必须缺少另一个配置参数;有任何想法吗?

解决方法 原来答案是在AndroID文档中(信不信由你).我猜我第一次错过了它.您需要指定源文件,如下所示:
-renamesourcefileattribute Sourcefile-keepattributes Sourcefile,lineNumbertable

renamsesourcefile属性将导致所有源文件的名称为Sourcefile(或您放置的任何内容). “retrace”不关心源文件名是什么,但是如果你把它遗漏掉,它决定忽略行号.

这可以在proguard-project.txt中找到,如果您使用的是AndroID Studio,则可以在“您的项目”中找到.app.

总结

以上是内存溢出为你收集整理的android – Proguard回溯缺少行号全部内容,希望文章能够帮你解决android – Proguard回溯缺少行号所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1134482.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存