Android 代码混淆can’t find referenced class问题解决方案

Eclipse打包Android项目时用到proguard.cfg后,出现的Warning:can't find referenced class问题的解决方案 这个看似简单的问题困扰了我好久了,我已经google了很多相关的信息了,但是在我看来总觉得他们说得不够全面,包括官方的文档(ps:可能是我的英语了解能力不够好^_^),好吧在这里我就来个比较全面、严密一点的分析吧,希望能帮到遇到同样问题的你,献丑了: 1. 问题的产生原因            "类1 can't find referenced class 类2" 字面上的意思就是类1 阅读详情

前面一文介绍了Android使用ProGuard代码混淆技术,不过对于某些引入了第三方jar包的项目可能在导出的时候会报错,这时就需要对proguard配置文件进行一些研究才能解决问题了。

ProGuard 代码混淆后导出警告:can’t find referenced class

20131004120218

一、这时候最简单的解决方法:

对于有的第三方jar,可能已经进行过代码混淆了,在这里就要保持,例如百度的地图包jar。保持jar,避免混淆的代码如下:

-keep class com.baidu.mapapi.** {*;}

不混淆com.baidu.mapapi包中的所有代码,类名、方法、变量等。

二、如果还是报错的话请参考此文:http://blog.youkuaiyun.com/u_xtian/article/details/7495023

在此感谢作者,解决了我的问题,其实最终方案很简单,添加两行就好了:

其实找不到引用的这个类是第三方包里面的,而且很多时候我们只需要打乱自己的代码就行了,第三方包的代码就是否要打乱就不要管了。

我们可以使用:

-dontwarn com.xx.bbb.**
-keep class com.xx.bbb.** { *;}

参数来保持第三方库中的类而不乱,-dontwarn和-keep 结合使用,意思是保持com.xx.bbb.**这个包里面的所有类和所有方法而不混淆,接着还叫ProGuard不要警告找不到com.xx.bbb.**这个包里面的类的相关引用。

配置好后,重新打包,一切OK!而且程序能正确运行。


以上是本人在写混淆配置文件的时候遇到的错误解决方法

本人在项目中开发使用ant批量打包混淆的配置文件已经上传 点击打开链接

http://download.youkuaiyun.com/detail/fancylovejava/8551463

记录下,以后再做其他项目批量打包的时候可以借鉴下!



混淆报错:kotlin.time.jdk8.DurationConversionsJDK8Kt: can‘t find referenced method ‘double getSeconds(lon 混淆问题 文章目录混淆问题问题描述查问题解决 问题描述 打包混淆的时候报错: kotlin.time.jdk8.DurationConversionsJDK8Kt: can't find referenced method 'double getSeconds(long)' in program class kotlin.time.DurationKt kotlin.time.jdk8.DurationConversionsJDK8Kt: can't find referenced method 'dou 阅读详情

相关推荐

当兵心理测试软件,当兵心理测试题及答案

心理测试是一种比较先进的测试方法,它是指通过一系列手段,将人的某些心理特征数量化,来衡量个体心理因素水平和个体心理差异差异的一种科学测量方法。小编为你整理了当兵心理测试题及答案,希望对你有所参考帮助。征兵心理测试题(1代表是2代表否)1、我的胃口很好。12、我早上起来的时候,多半觉得睡眠充足,头脑清醒13、我喜欢看报纸上的犯罪新闻。14、有时我常感到困难重重,无法克服。25、我时常遇见一些所谓的专...

weixin_42128393的博客 1万+

Android混淆打包及混淆后运行错误

Android引用第三方jar包混淆时打包报错(can't find referenced class)            项目打包的时候,总是失败,提示Proguard returned with error code 1. See console。然后看控制台,报出好多can't find referenced class...... 场景:项目中引用了第三方的jar包 原因:第

wwangliw 3605

FairyGUI编辑器自定义菜单扩展插件

本文涉及到的软件有:FairyGUI,VSCode代码环境涉及到了:LuaVSCode插件:EmmyLua在编写FairyGUI编辑器菜单前,了解一下FairyGUIEditor的API会有效的帮助我们解决很多问题。FairyGUI的扩展是通过编辑器自带的插件功能实现的,插件中我使用的是lua环境模板。导入编辑器的LuaAPI,文件可以在FairyGUI-Editor源码的插件目录中找到。接下来将通过功能来说明对应的API作用。

Aili_Xiao的博客 4496

proguard 提示Warning: can't find referenced field/method '...' in library class ...等问题

最近用到maven+proguard来做java代码混淆,在添加完pom.xml以及配置文件proguard.conf后遇到了三个问题。 1.Warning: can't find referenced field/method '...' in library class  2.Warning: library class ... depends on program class ...

新旧问题集 4356

LangGraph实战:如何用循环机制优化你的LangChain Agent工作流

本文详细介绍了如何使用LangGraph的循环机制优化LangChain Agent工作流,解决传统AgentExecutor在强制工具调用、动态提示调整和多阶段循环中的局限性。通过状态机和显式状态图设计,LangGraph提供了更精准的流程控制能力,适用于复杂AI应用场景。

weixin_30316097的博客 486

ADS仿真设计平行定向耦合器学习笔记

ADS仿真设计平行定向耦合器

qq_36521926的博客 1万+

Java混淆工具ProGuard的最简明使用方法及Warning: can’t find referenced class xxx的解决方法

ProGuard是一个广受欢迎的Java混淆工具,很多Android应用也会使用该工具进行混淆。下面简单总结一下其出现的Warning: can’t find referenced class xxx这类问题的解决方法。 ProGuard最好是通过命令行运行,但是对于只想用一下工具以完成任务的朋友,也许GUI也就够用了。我们将压缩包解压后,在lib目录下双击proguardgui.jar

qysh123的专栏 5554

opencv实践项目-图片拼接之缝合线算法

opencv 图片缝合线算法

wyw0000的博客 2623

Java代码混淆工具ProGuard(附有1.8以上和以下使用工具)使用详解

ProGuard是Java类文件收缩器,优化器,混淆器和预验证器。快速混淆Java代码。

m0_46208105的博客 9593

FPGA/IC 秋招笔试/面试题总结(目录)

FPGA/IC 秋招笔试/面试题总结-目录介绍 文章目录FPGA/IC 秋招笔试/面试题总结-目录介绍一、FPGA内部资源1. 什么是FPGA2.FPGA内部资源二、同步时钟、同步/异步电路1.同步时钟2.同步/异步电路三、同步复位/异步复位1.同步复位2. 异步复位3. 异步复位同步释放四、同步FIFO/异步FIFO1.同步FIFO2.异步FIFO五、FIFO最小深度计算1.FIFO最小深度2.示例分析六、逻辑电平1.TTL电平标准2.LVTTL电平标准3.CMOS电平标准4.LVCOMS电平标准5.RS

Crazzy_M的博客 2万+

[Bug已解决] CUDA error 尽管 CUDA 可用且 GPU 受支持-通用排查 RuntimeError 解决方案

[Bug已解决] CUDA error 尽管 CUDA 可用且 GPU 受支持-通用排查 RuntimeError 解决方案

一键难忘的博客 2415

J2me打包混淆出现引用stringbuilder引用错误

打包混淆时候出现can't find referenced class java.lang.StringBuilder 说明混淆的时候混淆环境中没有你项目中使用到的类,自己翻看了整个项目,找了很长时间实在没有找到哪里使用了stringbuilder,网上查了很所资料也没有介绍关于混淆出现此类错误的问题,自己又排查了很多久实在是找不到。 后来和同事又仔细找了下,发下了是因为项目引用的时候项目jdk

Jachon-张璟晨 928

PDBfixer: PDB修补蛋白残基

PDBFixer是一款专门用于修复蛋白质数据库(PDB)文件常见问题的工具。它能自动处理X射线晶体学结构中常见的缺陷,包括缺失氢原子、不完整侧链、非标准残基等问题。该工具提供三种使用方式:图形界面、命令行和Python API,支持添加缺失原子(全部/重原子/氢原子)、替换非标准残基、补全缺失残基等功能。特别适用于分子动力学模拟前的预处理,可自动添加水盒子并调整离子浓度。用户可通过简单命令或自定义脚本实现复杂修复流程,内置非标准残基替换表确保结构标准化。

Protein Designer的博客 933

如何解决build.xml运行中的异常:软件包 com.google.ads 不存在和can't find referenced class com.googl...

  linux ubuntu 环境下  /home/ww/Workplace/ProName/src/cn/com/ui/MainAty.java:41: 软件包 com.google.ads 不存在     [javac] import com.google.ads.AdRequest;     [javac]                      ^     [javac] /h...

571

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

studio3.2重写父类的方法出现androidx.annotation.NonNull这个包找不到的问题

在使用studio3.2构建项目以后,重写父类的方法出现androidx.annotation.NonNull找不到这个包的问题如下图 这个是androidX的问题。AndroidX 是一个新的扩展 库,用于向下兼容.支持, 在 28稳定版 库将所有的v4,v7,后续功能将被整合到 androidx 包中 https://mvnrepository.com/artifact/androidx.a...

FreeHeeps的博客 4578

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Warning:can't find referenced class.

今天在项目中MainActivity写了以下方法: /**      * 是否弹出评分框      */     private void needPingFen() {         new Handler().postDelayed(new Runnable() {             @Override             public void run(

ShawnAnn的专栏 1214

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Android代码混淆第三方jar,can't find referenced class的解决

出现can't find referenced class的警告时,可以在proguard.cfg中添加-ignorewarnings来解决。 另外,对于有的第三方jar,可能已经进行过代码混淆了,在这里就要保持,例如百度的地图包jar。保持jar,避免混淆的代码如下: -keep class com.baidu.mapapi.** {*;} 不混淆com.baidu.mapapi包中的所有

xx0624236的专栏 1万+

kotlin语法的基础学习和进阶学习

kotlin速记

m0_56184347的博客 1133

can t find dynamically referenced class android os systemproperties

关于Proguard的问题: 1.BUG背景: 引入第三方项目到我的项目中,第三方项目引用了android.os.systemporperties。 报的错是:can t find dynamically referenced class android os systemproperties。 2.解决方案: 当你确定无需引用这个类时(实际是你很难确定,所以你应该试试),你可以在pro

zhjali123的专栏 4910

Android系统TARGET_BUILD_VARIANT由eng变为userdebug导致的编译/运行问题

======================

程序改变生活 7485

android代码混淆

最近编辑于2018年4月30日 一、 都知道在build.gradle中设置如下代码即可开启混淆。 buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'pr...

xydzjnq的博客 1621

打包失败:(混淆问题)can't find referenced class

气死我了!!!!!!!!!!!!!!!!! 发布版打包失败!搞了一下午没什么卵用! 一直提示: Errors while building APK. You can find the errors in the 'Messages' view. 然后我就看了详细信息:(发现是一大波警告,说找不到什么类什么接口啥的) 开始以为是混淆了不该混淆的包,然后该种keep加上也没什么卵用!捣鼓了一下午!...

qq_38287890的博客 720

compile Android - 出现Warning:can't find referenced class问题的解决方案

compile Android - 出现Warning:can't find referenced class问题的解决方案

张同光 (Tongguang Zhang):Hello everyone ! 1393

android代码混淆Warning:okio.DeflaterSink: can't find referenced class

Android studio 代码混淆遇到的两个问题 找不到app/build/intermediates/proguard-rules/release/aapt_rules.txt文件 解决方法:Build->clean Project->Make Project Information:Gradle tasks [:app:assembleRelease] Warning:okio.Defl

yunianshu的博客 3365
上一篇: Google推荐的图片加载库Glide介绍
下一篇: Android的媒体管理框架:Glide
fancylovejava
博客等级 码龄16年 1052粉丝 184原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值