我已经上传了一个flutter模糊包到play商店。我收到以下警告:
此应用程序包包含本机代码,您尚未上载调试符号。我们建议您上载一个符号文件,以使崩溃和ANR更易于分析和调试。
混淆你的应用程序然后添加调试符号难道不是毫无意义吗?
混淆背后的想法是通过使代码不可读来进行困难的逆向工程。给出调试符号文件是否与给出解密混淆映射相同?
混淆就是将人类可读的类和函数重命名为对人类来说毫无意义的东西。机器不在乎名字,但人们试图对你的代码进行反向工程的时候要困难得多。
另一方面,当你的应用程序崩溃时,Google Play开发者控制台会记录此崩溃,供你检查和调试。但是,由于最终用户的应用程序版本很模糊,发送给你的报告用的是毫无意义的名字,你无法调试它。
现在,播放控制台在内部使用调试符号映射,将崩溃报告重新符号化为人类可读的类名,以便您可以轻松地进行调试。
TLDR:上传调试符号。它们允许您(开发人员)调试分散的崩溃报告,并且仅(间接)提供给您,而不是试图对您的应用程序进行反向工程的人
如何使用Idea和Gradle调试KSP? 在调试模式下从IDE运行任务不会将IDE附加到进程。 有没有任何命令行方法让处理器等待IDE附加到进程? (我使用的是KSP)
我正在尝试使用附带的工具调试模糊代码中的异常。模糊标识符使用非ASCII字符,至少在生成的映射文件中是这样的,例如: 当我试图从设备导出堆栈跟踪以便将其馈送到时,这会造成问题。我的模糊设置是否有问题,或者使用非ASCII字符是否正常?如果是这样,我应该如何从设备导出堆栈跟踪以保留它们? 编辑:我后来发现了一种解决办法,它是以的形式输出二进制日志。这会导致日志文件有点难以读取,但堆栈跟踪中确实包含正
Android Studio有什么混淆工具可以使用吗?IntelliGuard插件被声明为工作室支持,但由于缺少AntSupport插件,它实际上并不工作。我无法在存储库中找到一个。有什么想法吗? 附注。Android Studio构建过程是基于Gradle的,所以我根本不希望看到Ant支持。也许是我错了。
在一篇文章(这里是链接:https://www.javatpoint.com/exception-handling-with-method-overriding)中,他们说:“如果超类方法不声明异常,子类覆盖的方法不能声明检查的异常,但它可以声明未检查的异常。” 为什么Java这样工作?因为重写的方法可以比超类的方法具有更多的特性,所以它可以抛出一些超类方法不会抛出的异常。
我们正在使用Crittercism来分析我们的应用程序崩溃,但是由于我们也使用带有默认模糊选项的DexGuard,Crittercism无法使用DexGuard生成的mappings.txt对堆栈痕迹进行模糊处理。 因此,我的问题很简单: 如何禁用DexGuard混淆的非ASCII字符? 顺便说一下,我们正在使用Gradle构建系统。
我知道如何混淆可执行的jar文件,因为它有一个主类。但是我正在尝试创建我的API(已经完成了),我只需要混淆代码。问题是,每当我尝试使用Proguard(一个众所周知的java模糊器)模糊jar文件时,它就会给我一个与“keep”有关的错误。我正在从Proguard运行proguard-gui,在Eclipse中,我将项目导出为一个普通的jar文件(非可执行文件),并试图混淆该jar文件。另外,我