android 混淆问题

Android 的apk打包及混淆 Android 的apk打包及混淆打包Debug的的apk1. 选择Build apk(s)打包app_debug.apk2. 获取对应的app_debug.apk文件打包Release的apk1. 选择signedbundle/apk2. 选择打包bundle还是apk3. 选择已有的签名证书或者创建证书4. 创建证书,并点击ok5. 生成release的apk包代码混淆1. build.gradle(app)2. 修改app下proguard-rules.pro文件,添加相关规则基本混淆模板 打包Deb 阅读详情

2020第一篇博客来的有点迟,相信大家对近期疫情事件都有所耳闻,并且都有所波动,跳槽的不敢轻举妄动了,复工迟迟不能往返,这对互联网行业也是一大打击,不少公司选择在家远程办公,而我亦是如此。好了言归正题。今天我就简单说下我在家办公公司临时安排的紧急任务。我所遇到的坑给大家分享下。

我们都知道android打包有正式版本与debug测试版本,而且都可以配置混淆,那么为什么要配置混淆,混淆要注意哪几点呐?

1.混淆的好处

当前app大多数市场及公司都要求一个安全性,提高app安全性很多种,应用加固,代码改写,其次就是配置混淆了。为什么说配置了混淆就能提高安全性呐,之所以如此因为我们配置混淆后混淆的类及方法都已经不再是我们原来的类及方面名了,这样降低了反编译的可能性,也提高了安全性。而且配置混淆可以压缩资源文件,一定程度上减低了apk体积

2.配置混淆时注意事项

对于一些基本配置我在此就不多说,什么混淆算法,四大组件不混淆,枚举等等。我说下项目有第三方sdk配置混淆的时候,如果你项目里面集成了第三方sdk,那么你一定要去官方文档里面找到混淆规则。有的伙伴不喜欢阅读官方文档,直接在网上搜索很有可能导致混淆规则不匹配或者说不同版本sdk配置混淆规则不一样。导致打包后部分功能有bug。我在这里给大家举个例子:在家办公期间公司要求紧急上线一个在线问诊功能,这个功能集成了七牛云视频sdk,(项目是我接手老前辈的)混淆之前配置了的。我在debug测试的时候没有开启混淆,所有测试不出问题所在,当我打包正式版本的apk的时候,发现视频功能不能正常使用,遇到这种情况我第一时间断点调试,跟了下代码(注意debug模式的时候如果要断点调试最好关闭混淆,不然可能导致断点不走)。发现代码并没有什么异常。我思索了很久,我在想是不是我打包的时候有问题,因为在android7以后增加了个v2,平时打包v1和v2都勾选了,于是我就怀着侥幸心理去尝试,发现并不是打包问题,而且正常打包都是v1+v2都勾选,怎么办?debug模式要断点就不能开启混淆,我要怎么调试呐?于是乎我又取消断点开启混淆,直接运行debug,我发现有个错误日志(app无任何反应,不闪退),具体日志我没备注,反正就是提示什么类找不到或者无法加载。我看了下日志具体内容,貌似是混淆问题。我特么服了,这个混淆不是配置得好好的嘛?开始我也是在网上搜索没有直接去官方文档查看混淆规则,我发现好像我本地七牛云混淆配置跟网上一致的啊???由于当时任务比较急,我就暂时把这个问题抛到一边了,心想大不了打包正式版本不配置混淆了,于是我打包apk后,发现apk大了3m!!!!!!!!!,作为一个程序员你能忍?反正我是忍不了。

于是我在官方sdk文档里面去找了下,配置混淆规则。发现果然尼玛不是一个样,哎哟喂感觉好蛋疼,立马改了调试一波,果然如此功能正常,混淆正常。那一刻我感觉混淆是又爱又恨。爱的是可以减少apk体积,提高应用安全性,恨的是稍微不注意就是一个坑.

Android Studio 开启配置混淆功能可能遇到的问题以及解决思路 前言: 这篇文章是本月发表的第三篇了。这个月说实在是比较没那么忙,所以就将开发中遇到的一些问题都给整理成博客。发出来给大家共享!也是自己实在记性差,需要写成博客 也避免自己忘记了。 正文: 那我们就直接开始吧,还是老样子,直接上图、上代码。 第一步:在 build.gradle 文件下开始混淆功能 buildTypes { deb 阅读详情

相关推荐

中科蓝讯Downloader配置实战:从软硬开关机到ANC降噪的完整指南

本文提供了中科蓝讯Downloader工具的详细配置实战指南。内容涵盖从基础的软硬开关机选择与配置,到核心的EQ音效调试、触摸按键与入耳检测优化,以及高阶的ANC降噪与电源管理设置。旨在帮助开发者快速掌握关键配置项,高效完成蓝牙耳机产品的功能调试与优化。

s4t5u6v7的博客 508

Android混淆你了解多少?

在 Android 日常开发过程中,混淆是我们开发 App 的一项必不可少的技能。只要是我们亲身经历过 App 打包上线的过程,或多或少都需要了解一些代码混淆的基本操作。那么,混淆到底是什么?它的好处有哪些?具体效果如何?别急,下面我们来一一探索它的"独特"魅力。 ##1混淆简介 代码混淆(Obfuscated code)是将程序中的代码以某种规则转换为难以阅读和理解的代码的一种行为。 混淆的好处...

Android 开发架构 1917

SHP转TXT、TXT转SHP工具(附工具下载链接)

关于TXT,可以选择整个图层生成一个TXT。也可以勾选“每个地块单独存TXT”,然后选择一个字段,根据字段值,给每个地块生成一个TXT文件。支持选择和数据框一样的坐标系,也可以选择一个图层,工具会采用和这个图层一样的坐标系。1、TXT数据支持输入单个或者多个TXT文件,也可以直接选择TXT所在的文件夹。所有的TXT数据都生成到一个矢量数据图层。关于这一行的内容,可以在地块坐标行设置中进行设置。其他:①面节点闭合:勾选,则回到起点。属性描述:可以直接复制粘贴进来,也可以直接修改。也可以改为任意字母。

坐听风雨 4294

带你彻底明白 Android Studio 打包混淆

在使用Android Studio混淆打包时,该IDE自身集成了Java语言的ProGuard作为压缩,优化和混淆工具,配合Gradle构建工具使用很简单。只需要在工程应用目录的gradle文件中设置minifyEnabled为true即可。然后我们就可以到proguard-rules.pro文件中加入我们的混淆规则了。

郭丽鹏的博客 2万+

电机控制基础,小白入门篇

电机,这个藏在风扇、电动车、机器人里的“动力心脏”,如何精准控制它的转速、方向甚至力量?这篇博客专为完全零基础的小白打造,用“说人话”的方式拆解电机控制的底层逻辑,帮你从“看不懂电路图”到“能调个简单电机”。 电机控制不是“大神专属”,只要掌握“电生磁、磁生力”的底层逻辑,加上动手实践,小白也能快速入门。这篇博客会陪你从“看电机转”到“让电机听话”,把复杂的控制原理变成能上手玩的“小实验”。准备好你的面包板和电机,我们一起开启“电控之旅”吧!

汽车电子软件领域知识分享 5592

STM32外部中断EXTI原理与飞控实时应用实战

外部中断(EXTI)是嵌入式系统中实现事件驱动和实时响应的核心机制,其本质是将外部电平变化转化为可调度的CPU中断事件。基于ARM Cortex-M NVIC架构,EXTI通过GPIO-EXTI-NVIC三级硬件通路实现低延迟信号捕获,具备边沿触发、优先级管理与挂起控制等关键能力。在四轴飞控、工业传感器、人机交互等对毫秒级响应有强需求的场景中,EXTI显著优于轮询方式,兼顾实时性与CPU资源效率。实际开发需严格遵循SYSCFG映射→EXTI配置→NVIC使能的时序逻辑,并规避常见陷阱如中断号误配、伪触发、低

weixin_36382073的博客 65

Android混淆、优化包大小 记录

1.不混淆类内的接口   -keep public class com.daps.weather.notification.DapWeatherNotification { *; } -keep class com.daps.weather.notification.DapWeatherNotification$WeatherNotificationListener { *; } ...

pangzaifei的专栏 729

高通开发系列 - Bootloader之lk匹配dtb和dtbo中msm-id和board-id的知识

lk匹配dtb和dtbo中的msm-id和board-id等知识

fulinux的博客 4245

apk大小压缩 ,混淆,Gradle配置多渠道包

APK 组成 META-INF/:包含CERT.SF和CERT.RSA签名文件以及MANIFEST.MF 清单文件。 assets/:包含应用可以使用AssetManager对象检索的应用资源。 res/:包含未编译到的资源 resources.arsc。 lib/:包含特定于处理器软件层的编译代码。该目录包含了每种平台的子目录,像armeabi,armeabi-v7a, arm64-v8a,x86,x86_64,和mips。 resources.arsc:包含..

C++ JAVA的专栏 691

LED灯闪烁实验:代码集成

LED灯闪烁实验已经全部完成,在该实验中使用了较多的工具链,涉及底层软件、建模、软件编译等。首先,通过STM32CubeMX工具进行STM32底层软件配置,可以大大减少手写代码的工作量。另外由于做了可视化,也降低了STM32的上手难度,提升效率。利用Simulink建模,可以在PC环境下验证应用层算法的正确性而不依赖于具体控制器,实现应用层算法和底层软件、控制器硬件的解耦。另外,图形化的建模方式也更加有利于开发者思考与分析,大量的封装库文件也可以降低开发的工作量。

u013288925的博客 368

HBase骚操作之数据加载方式BulkLoad

本文研究了一种HBase BulkLoad的入库方式,该方式利用HBase的数据信息按照特定格式存储在hdfs内这一原理,直接在HDFS中生成持久化的HFile数据格式文件,然后上传至合适位置,即完成巨量数据快速入库的办法。该方式配合MapReduce完成,高效便捷,而且不占用Region资源,增添负载,在大数据量写入时能极大的提高写入效率,并降低对Hbase节点的写入压力。HBase BulkLoad对于异构数据源的合并及大量数据一次性导入具有重要指导意义,相比HBase Put操作在性能上具有较高的优势

石榴姐yyds 7789

Android 混淆问题排查

问题 近期在开发过程中,突然出现混淆后程序出现运行时异常,编译是正常的,不混淆也是正常的, 错误信息如下提示 12-07 14:10:27.056 10603-10603/? E/AndroidRuntime: FATAL EXCEPTION: main java.lang.RuntimeException: Unable to instantiate application com...

AndroidStudyDay的博客 1286

SAP-ABAP:SAP IDOC 全面学习指南

SAP-ABAP:SAP IDOC 全面学习指南

baidu_35680696的博客 1616

Android混淆崩溃问题

Android混淆崩溃问题一、原始崩溃日志二、还原后的崩溃日志三、源代码四、解决方案五、参考文章六、Finally 上周四,导出『神马笔记』发布包的时候,遇到混淆后NullPointerException问题。 一、原始崩溃日志 java.lang.NullPointerException: throw with null exception at app.haiyunshan.whatsnot...

济沧海 x 远沧溟 2605

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Android混淆——混淆语法及问题

一、简介 代码混淆(Obfuscated code)是将程序中的代码以某种规则转换为难以阅读和理解的代码的一种行为。 1.优点 令 APK 难以被逆向工程,即很大程度上增加反编译的成本。此外,Android 当中的"混淆"还能够在打包时移除无用资源,显著减少 APK 体积。 2.建议 发布一款应用除了设minifyEnabled为ture,你也应该设置zipAlignEnabled为true,...

weixin_42046829的博客 1879

数学建模模型总结

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

Android 混淆打包以及常见问题

在网上看了很多关于android混淆打包的帖子,但是真正能解决问题的

所有的美好,源于我们不断的追求 1209

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【Android】android 混淆问题总结

Android 混淆问题总结  转载 地址:http://m.blog.youkuaiyun.com/blog/wwangliw/8874497 有添加个人经验信息 共勉 混淆文件编写:保存为.pro文件 -injars  androidtest.jar【jar包所在地址】 -outjars  out【输出地址】 -libraryjars    ‘D:\android-sdk-windows\platforms\android-9\android.jar’ 【引用的库

Amotiny的博客 818

Android混淆步骤,混淆结果查看以及混淆后出现的问题和衍生问题

今天说说Android原生的混淆,原生项目即将上线,伴随着整体功能的完成和完善,一些涉及安全和自我保护以及优化的问题被提到日程上。混淆恰恰能解决的就是我们的APP代码的保护以及优化的问题。前言: 因为互联网环境的开放性和工具的便捷,我们很容易能将代码进行反编译以获取线上项目的源码。秉承对知识产权的尊重,我们在不侵犯他人权益的情况下,也需要对自己的劳动果实进行有效的保护,所以混淆能够帮助我们将自己的

听从内心的召唤 1万+

关于Android studio混淆遇到的问题

先给出官方文档链接: https://stuff.mit.edu/afs/sipb/project/android/sdk/android-sdk-linux/tools/proguard/docs/index.html#manual/index.html混淆后,如果要查看混淆效果,有两种方式: 一、反编译dex或者jar文件,如果要查看so,可以objdump -tT libblecipher

风语的专栏 4913

不混淆某个方法_Android 混淆问题排查

问题近期在开发过程中,突然出现混淆后程序出现运行时异常,编译是正常的,不混淆也是正常的, 错误信息如下提示12-07 14:10:27.056 10603-10603/? E/AndroidRuntime: FATAL EXCEPTION: main java.lang.RuntimeException: Unable to instantiate application com.xzxj.fra...

weixin_34722015的博客 1222

Android 从混淆引发的问题谈起

从事Android 已有2 、3年光景,但一直没有深入了解过混淆,和深入学习探究过混淆,只是知道有这么一个topic,直到前些天,遇到了一个问题 下定决心系统学习相关知识点。问题来源:自己再debug状态下没有任何问题,但是打了release包就有问题,要不是闪退,要不就是网络请求没有效果,数据请求错误。然后自己把release的混淆关闭,一切也没有问题,这个时候可以锁定问题出在混淆上了。 于是...

sjh_389510506的博客 851

Proguard混淆Android项目所遇问题及总结

Proguard混淆Android项目所遇问题及总结 最近一个老项目需要添加混淆, 因此又对混淆有了更深入的了解. 在此过程中遇到了一下问题, 记录如下:  1. 编译打包错误 a. 类重复, 错误信息如下 :xyz:compileReleaseNdk UP-TO-DATE :xyz:compileReleaseSources :xyz:proguardRelease Not

voo00oov的专栏 1万+

Android 混淆问题总结

 转载 地址:http://m.blog.youkuaiyun.com/blog/wwangliw/8874497 有添加个人经验信息 共勉 混淆文件编写:保存为.pro文件 -injars  androidtest.jar【jar包所在地址】 -outjars  out【输出地址】 -libraryjars    'D:\android-sdk-windows\platforms\an

Available_M的博客 443

Android应用混淆问题记录

1.怎么打开混淆器混淆Android代码

文章分享 1217

Android 代码混淆常见问题及解决方案

1.什么是混淆?为什么混淆? 将代码中的各种元素,如变量,函数,类的名字改写成无意义的名字。比如改写成单个字母,或是简短的无意义字母组合,甚至改写成“__”这样的符号,使得阅读的人无法根据名字猜测其用途。重写代码中的部分逻辑,将其变成功能上等价,但是更难理解的形式。比如将for循环改写成while循环,将循环改写成递归,精简中间变量,等等。打乱代码的格式。比如删除空格,将多行代码挤到一行

wangshuainan的博客 1876
上一篇: RxHttp 让你眼前一亮的Http请求框架
下一篇: android 记录总结安装Apk问题
ZyClient
博客等级 码龄10年 29粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值