Android开发之——混淆中遇到的问题及解决办法

一 前言

项目开发完成后,一般要通过混淆优化之后,才能正式上线的,一是减少app的大小;二是防止app被反编译。

开启混淆后,由于依赖、环境等因素的影响,可能会遇到各种各样的问题。本文主要记录了在混淆中遇到的错误及解决办法。

二 异常信息及解决办法

2.1 Warning: there were 97 unresolved references to classes or interfaces.

2.1.1 现象

Warning: there were 97 unresolved references to classes or interfaces.
 You may need to add missing library jars or update their versions.
 If your code works fine without the missing classes, you can suppress
 the warnings with '-dontwarn' options.

2.1.2 解决办法

  • 通过指令将异常保存

    gradlew build --stacktrace > logs.txt 2>logErrors.txt

  • 根据logErrors.txt中的警告信息,添加keep 和download文件

2.2 混淆后,raw中部分文件大小变为0

2.2.1 现象

2.2.2 解决办法

  • res/raw下面配置keep.xml文件,指定要keep的文件

    <?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:tools="http://schemas.android.com/tools"
        tools:keep="@raw/sw*" />

    其中 sw为文件的头文件前面几个字母,保证res/raw中的文件不被混淆时忽略

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值