首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

读懂 Android 代码混淆

Android开发工作,我们都或多或少接触过代码混淆。比如我们想要集成某个SDK,往往需要做一些排除混淆操作。 本文为本人一些实践总结,介绍一些混淆知识和注意事项。...希望可以帮助大家更好学习和使用代码混淆。...什么是混淆 关于混淆维基百科上该词条解释为 代码混淆(Obfuscated code)亦称花指令,是将计算机程序代码,转换成一种功能上等价,但是难于阅读和理解形式行为。...java代码枚举类型最后转换成类static final属性 多出了两个方法,values()和valueOf(). values方法返回定义枚举类型数组集合,即从MONDAY到SUNDAY...四大组件不建议混淆 Android四大组件我们都很常用,这些组件不能被混淆原因为 四大组件声明必须在manifest中注册,如果混淆后类名更改,而混淆类名没有在manifest注册,是不符合Android

1.5K20

Android Studio 4.0 新功能Live Layout Inspector详解

最近 Android Studio 4.0 稳定版本正式发布,其中一个重要升级就是新版Layout Inspector 旧版Layout Inspector 4.0 之前我们通过Tools - Android...- Layout Inspector 可以对当前进程现实画面进行分析,获取视图Hierarchy以及Property信息 ?...Live Layout Inspector 4.0 通过同样菜单可以打开新版 Layout Inspector ? 运行APP后,选择当前进程,可以看到当前运行画面: ?...3D View Live Layout Inspector 可以3D形式显示Hierarchy,更利于开发者分析层次结构,(3D View 目前只能用于Api Level 29以上app) ?...总结 到此这篇关于Android Studio 4.0 新功能之Live Layout Inspector文章就介绍到这了,更多相关Android Studio 4.0 新功能之Live Layout

1.4K41
您找到你想要的搜索结果了吗?
是的
没有找到

Android性能优化(十)之App瘦身攻略

2.2.1 Android Studio Analyze APK Android Studio 2.2之后有一个功能Analyze APK,方便简单,功能还是Google自带靠谱; 查看apk任意文件大小...确定优化方向: 代码部分:冗余代码、无用功能、代码混淆、方法数缩减等; 资源部分:冗余资源、资源混淆、图片处理等; 对So文件处理等。...而缩减方法数,除了上面写到普遍方法:移除无用方法、库、使用较小SDK之外还有: 避免在内部类访问外部类私有方法、变量。...挡在Java内部类(包含匿名内部类访问外部类私有方法、变量时候,编译器会生成额外方法,会增加方法数; 避免调用派生类未被覆写方法,避免在派生类调用未覆写基类方法;避免用派生类对象调用派生类未覆盖基类方法...4.1 移除无用资源文件 移除无用资源文件要比移除无用代码容易,在Android Studio任何文件右击,选择清除无用资源即可删除没有用到资源文件。 ?

1.6K30

Android 混淆从入门到精通

简介 作为Android开发者,如果你不想开源你应用,那么在应用发布前,就需要对代码进行混淆处理,从而让我们代码即使被反编译,也难以阅读。...说在前面 这里我们直接用Android Studio来说明如何进行混淆Android Studio自身集成Java语言ProGuard作为压缩,优化和混淆工具,配合Gradle构建工具使用很简单,只需要在工程应用目录...如下例子就避免所有继承Activity类被混淆 -keep public class * extends android.app.Activity 如果我们要保留一个类部类不被混淆则需要用$符号...,如下例子表示保持ScriptFragment内部类JavaScriptInterface所有public内容不被混淆。...自定义View默认也不会被混淆;所以像网上贴很多排除自定义View,或四大组件被混淆规则在Android Studio是无需加入; 与服务端交互时,使用GSON、fastjson等框架解析服务端数据时

1.4K90

Android Studio下打jar包及使用jar包

执行以上命令 第一次使用Android Studio时你应该知道一切配置(三):gradle项目构建-Android-第七城市 二、Android Studio下使用jar包 1,本项目中使用jar...包所有Activity和Service都要注册,否则会无法调用Service(遇到问题,没写BleLibaray和BleService) 三、混淆Android Jar包 遇到问题:内部接口无法混淆...包方法(打开架构师大门) Android Studio如何打JAR包 Android Studio实现代码混淆-布布扣-bubuko.com Android Studio多渠道打包和代码混淆教程...- leeo1010专栏 - 博客频道 - CSDN.NET Android Studio 代码混淆 - zero-H - 博客园 android 代码混淆关于内部接口混淆和实现-qqsheji-ChinaUnix...- sunzn - 博客园 APP代码混淆步骤与效果_百度经验 Android 混淆代码总结 - 这里才是学习Android好地方 - 博客频道 - CSDN.NET 代码混淆实现原理与方法

4.7K50

Android Studio 提示 Unable to access Android SDK add-on list 问题处理

第一次安装 Android Studio,由于电脑没有 android-sdk,安装又是没有自带 SDK Android Studio,所以可能会提示 Unable to access Android...,需要在 Finder 应用程序 中找到 Android Studio.app,然后右键选择 显示包内容,进入 Contents 文件夹,即可看到 bin 目录。...第一步:进入程序根目录 第二步:找到配置文件 第三步:修改配置文件 Android Studio 常用快捷键 功能 MacOS Windows 备注 1....设置完毕后一般无需其他操作,进入 Android Studio 运行应用可直接看到在 logcat 输出了日志: Android 编程权威指南(第二版) Android 编程权威指南(第二版)是基于...Android Studio 进行讲解 Android 开发书籍,本书主要以美国一家专业移动开发技术培训机构 Android 训练营教学课程为基础,融合了几位作者多年心得体会,是一本完全面向实战

2K30

Android Studio 4.0 正式版发布

Layout Inspector 现在会如实显示应用 UI 真实数据,方便您更好地调试设备上显示内容。 Android Studio 4.0 正式版发布,离不开预览版用户们早期给出宝贵反馈。...Android Studio 4.0 中新加入 Motion Editor 让开发者能在其界面创建、编辑和预览 MotionLayout 动画,从而更轻松地驾驭这个 API。...前往《Android Studio 4.0+ 中新 UI 层次结构调试工具》了解更多。...在 Android Studio 4.0 ,CPU 活动记录从分析器主时间轴中分离出来,并成组展现,以便于分析。...编写代码缩减规则时智能编辑器功能 image.png 我们在 Android Gradle 插件 3.4.0 引入了 R8,使得字节码转换 (desugaring)、缩减、混淆和 dex 处理能一步到位

3.3K31

Android-Proguard(混淆)

以我们常用开发工具andorid studio 为例,Android Studio自身集成Java语言ProGuard作为压缩,优化,混淆和预校验,并配合Gradle工具进行构建,我们只需要在工程应用目录...preverify: 预校验代码是否符合Java1.6或者更高规范.     除了proguard之外,还有一个DexGuard,是专门用来优化混淆Android应用。...混淆后我们会在工程目录app/build/outputs/mapping/release(debug)下找到一个mapping.txt文件,这就是混淆规则,我们可以根据这个文件把混淆代码反推回源本代码...  } #在方法后加入参数,限制特定构造方法 -keep class com.xzt.demotwo.MainActivity{ public (String); } #要保留一个类部类及其内容不被混淆需要用...自定义View默认也不会被混淆;所以像网上贴很多排除自定义View,或四大组件被混淆规则在Android Studio是无需加入; 4,与服务端交互时,使用GSON、fastjson等框架解析服务端数据时

1.3K40

Android 混淆那些事儿

本文主要讲述了代码混淆和资源混淆原理,Studio默认混淆方案,混淆参数,以及如何对Apk进行代码混淆(自定义混淆文件)和资源混淆(结合微信混淆和美团混淆两种方案),避免Apk被逆向。...未混淆代码反编译操作非常简单,网上有很多教程, 也可以通过使用Android Studio自带apk分析工具(Build—-Analyze APK)直接看到未混淆Apk代码和原始资源文件。...混淆不仅能将代码类名、字段、方法名变为无意义名称,保护代码,也由于移除无用类、方法,并使用简短名称对类、字段、方法进行重命名缩小了程序size。...Android Studio 默认混淆方案及字段解读 开启混淆 参见google官方文档压缩代码和资源 要通过Proguard启动代码压缩,在build.gradle文件相应构建类型添加minifyEnabled...csh代码方便,我们需要在proguard_rules.pro手动添加抛出异常时保留代码行号,并且重命名抛出异常时文件名称,这样能方便定位问题: 抛出异常时保留代码行号 -keepattributes

3.2K50

042android初级篇之android混淆代码ProGuard

混淆代码能有效防止被反编译,防止自己劳动成果被别人窃取; 混淆配置文件及开关设置 配置文件位置以及开关设置位置,android studio 和eclipse稍微有些差异,这里以android...如果你代码混淆后会产生bug的话,log提示混淆代码,希望定位到源代码的话就可以根据mapping.txt反推。...每次发布都要保留它方便该版本出现问题时调出日志进行排查,它可以根据版本号或是发布时间命名来保存或是放进代码版本控制。 2. dump.txt 描述apk所有class文件内部结构。...3. seeds.txt 列出了没有被混淆类和成员。 4. usage.txt 列出了源代码中被删除在apk不存在代码。...,则-optimizations optimization_filter才有效 参考链接 ProGuard在线说明手册 位于sdk目录: sdk/tools/proguard Android 混淆代码总结

99430

Android Studio 4.0重磅发布:全新 Motion 编辑器及众多更新都在这里!

Android Studio 4.0 ,新 Motion Editor 让这个 API 用起来更方便。它提供了用于创建、编辑和预览 MotionLayout 动画强大界面。...在 Android Studio 4.0 ,CPU 记录现在与 Profiler 主时间轴分开显示,并按组分类以简化分析过程。你可以上下移动组,或者在组拖放项目以定制界面。 ?...编写 R8 规则时智能编辑器功能 R8 是在 Android Gradle 插件 3.4.0 引入,可将 desugaring、缩减、混淆、优化和 dexing 合并为一个步骤,从而显著提高构建性能...Android Studio 现在为你 Kotlin 代码提供了 Android 专属实时模板。例如,只需键入 Toast,然后按 Tab 键即可快速插入 Toast 样板代码。...在 Android Studio 4.0 ,无论你应用 minSdkVersion 如何,都可以使用 desugaring 引擎来支持 Java 语言 API。

4.6K30

ArkUI-X跨平台已至,何需其它!

运行环境 DevEco Studio4.0Release OpenHarmony SDK API10 开发板:润和DAYU200 自从写了一篇ArkUI-X跨平台文章之后,好多人都说对这个项目十分关注...4.1、关于使用IDE约束 DevEco Studio仅支持ArkUI-X源码开发和调试,各平台Native代码请使用对应平台IDE编辑器进行开发和调试; ArkUI-X支持在Android/iOS...可通过DevEco Studio > File > Settings > Build, Execution, Deployment > Ohpm 查看ohpm home安装路径,并配置到环境变量macOS...也在此活动累计完成1.5W行代码提交,以及在2023年OpenHarmony创新赛。...编译后ArkTS代码、资源和平台胶水代码已生成到Android和iOS应用工程,后续安装、运行和调试请使用Android Studio和Xcode, 9.1、ios上运行 我们来看一下在ios上如何运行

40010

Android Studio 4.0 稳定版发布了

Android Studio 4.0(2020年5月) 更新啦,此版本包含了各种新功能和改进,还有一些废弃配置。...1、构建分析器 当将 Android Studio 4.0Android Gradle 插件 4.0.0 及更高版本一起使用时,Build Analyzer 窗口可帮助你了解和诊断构建过程问题...在Android Studio 4.0,已将 desugaring engine 扩展为能够对 Java 语言 API 语法糖。...有关可用实时模板完整列表,请从菜单栏单击 File > Settings(或在macOS上为 Android Studio > Preferences ),然后导航 Editor > Live...现在,在 Android Studio C++ 代码编辑器可用,clangd 和 clang-tidy 都是开源LLVM额外工具一部分: clangd具有代码完成功能,在编辑器编译错误消息以及定位导航

4.5K20

Android插件化基础3----Android编译打包流程详解

(一)、ProGurad简介 因为Java代码是非常容易反编码,况且Android开发应用程序是用Java代码,为了很好保护Java源代码,我们需要对编译好class文件进行混淆。...ProGuard是一个混淆代码开源项目,它主要作用是混淆代码,但是其实它主要有4个功能如下: 1 压缩(Shrink):检测并移除代码无用类、字段、方法和特性(Attribute) 2 优化...(二)、ProGurad使用 现在大多数开发者都是用了Android Studio,只有很少一部分才使用Eclipse,所以我两部分都说下 1、Android Studio如何开启混淆 在build.gradle...:proguard-project.txt 把他注释去掉即可 在开启混淆Android Studio和eclipse中都有一个文件proguard-android.txt,这是混淆一个默认文件,该默认文件为...2.2.2 内部类部类经常会被混淆,结果在调用时候为空就崩溃了,最好解决办法就是把这个内部类拿出来,单独成为一个类。

2K22

android 视频录制 混淆打包 之native层 异常解决

proguard-rules 文件(android studio) 下做混淆设置解决,但我不得不承认,这个是我迄今遇到最棘手,直到 15:46 才正式解决,怎么说都 4 天了,百度上没有直接解决信息...android自带MediaRecorder类,但是这个类比较鸡肋,实话实说,用处不是很大,用来练习下还是可以。...看源码,还是得这样,下面我贴出我查找路径,所有代码是 这个 视频录制 开源项目、javacpp 里面的: 首先打 log 跟踪到-> ?...推测,是系统某些资源被混淆了。我们混淆配置中有一句设置:-keepattributes 保护给定可选属性,那么我们可以用它保护下项目的注释、资源文件、资源目录名、内部类等,例如这样: ?...,事实证明,当我添加到 InnerClasses 时候,问题解决。 解决方法:   在混淆文件添加 ?  保护下项目的注释、资源文件、资源目录名、内部类(主要解决项)

1.1K50

Android Studio 4.0 重磅发布!Android 11 Bata 版来了!

Android Studio 4.0 ,新 Motion Editor 让这个 API 用起来更方便。它提供了用于创建、编辑和预览 MotionLayout 动画强大界面。...在 Android Studio 4.0 ,CPU 记录现在与 Profiler 主时间轴分开显示,并按组分类以简化分析过程。你可以上下移动组,或者在组拖放项目以定制界面。...是在 Android Gradle 插件 3.4.0 引入,可将 desugaring、缩减、混淆、优化和 dexing 合并为一个步骤,从而显著提高构建性能。...Android Studio 现在为你 Kotlin 代码提供了 Android 专属实时模板。例如,只需键入 Toast,然后按 Tab 键即可快速插入 Toast 样板代码。...在 Android Studio 4.0 ,无论你应用 minSdkVersion 如何,都可以使用 desugaring 引擎来支持 Java 语言 API。

2.5K20
领券