android2.3的SDK开始在eclipse中支持代码混淆功能(理论上java都支持混淆,但关键在于如何编写proguard的混淆脚本,2.3的SDK使用简单的配置就可以实现混淆)。使用SDK2.3后,新建的工程下和之前相比,都会多了一个文件“proguard.cfg”。这个文件就是混淆所需的proguard脚本。在工程的"default.properties"中添加这样一句话“proguard.config=proguard.cfg”即可实现混淆(如下图)。
android4.0SDK,ADT14或者更高版本,项目中没有default.properties文件,只有project.properties文件,找到project.properties文件即可。该文件中有以下两行:
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
# proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
根据这段说明,只要将proguard.config前面的#去掉(下图),就可以利用ProGuard来混淆代码了!
默认的设置是不带优化功能的,下面代码可优化混淆:
proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt
proguard 配置
最常用的配置选项
-dontwarn 缺省proguard 会检查每一个引用是否正确,但是第三方库里面往往有些不会用到的类,没有正确引用。如果不配置的话,系统就会报错。
-keep 指定的类和类成员被保留作为 入口 。
-keepclassmembers 指定的类成员被保留。
-keepclasseswithmembers 指定的类和类成员被保留,假如指定的类成员存在的话。
使用的JNI、jar时更应该考虑混淆的配置。
混淆更多配置请参考:
http://developer.android.com/tools/help/proguard.html#configuring
* iOS入门群:83702688
* android开发进阶群:241395671
*/
分享到:
相关推荐
为了提高应用的安全性,开发者需要对SO文件进行保护和加固,其中混淆是一种常用的技术手段。 混淆技术主要是通过改变代码的可读性和可理解性,使得恶意逆向工程师难以分析和理解代码逻辑。在Android SO文件保护中,...
使用Gradle作为构建工具,开发者可以通过修改build.gradle文件来定制编译选项,如版本控制、依赖管理、代码混淆等。完成开发后,应用可以通过Android Studio生成APK文件,供用户安装和使用。 总之,"Android课程...
在本项目实战中,我们将深入探讨如何开发一款名为“手机...通过实际操作和学习随书提供的代码,开发者不仅能掌握Android开发技术,还能了解到如何构建一个完整的安全应用,这对于提升个人技能和解决实际问题大有裨益。
以下是一些关于Android应用源代码和桌面小程序开发的重要知识点: 1. **Android SDK**: 开发Android应用的基础是Android Software Development Kit (SDK),它包含了开发者需要的所有工具,包括编译器、模拟器、调试...
总的来说,OLLVM混淆是提升Android应用安全性的有效手段之一,通过混淆技术,可以有效降低代码被逆向分析的风险。然而,混淆并非一劳永逸的解决方案,开发者应结合多种安全策略,以构建全方位的安全防线。
- 使用ProGuard或R8进行代码混淆,提高应用安全性。 通过以上步骤,我们可以构建一个基本的课程表应用。然而,为了提升用户体验,还可以考虑增加更多特性,如课程分类、搜索功能、云同步等。在实践中不断迭代,...
【Android源码解析——构建笑话故事应用】 在深入解析这个"Android源码——笑话故事android应用源码.zip"之前,我们需要了解Android应用的基本结构和开发流程。Android应用主要由Java或Kotlin语言编写,通常包括...
【标题】"安卓Android源码——捕鱼达人源代码.zip" 提供的是一个基于Android平台的捕鱼达人的游戏源代码,这是一份对于Android开发者来说非常有价值的参考资料。它可以帮助开发者深入理解游戏开发流程,特别是...
9. **性能优化**:源代码可能包含一些性能优化技巧,如懒加载、内存管理、代码混淆等,这些都是提升应用质量的关键。 通过深入分析这份源代码,开发者不仅能学习到Android应用的基础知识,还能发现实际项目中的最佳...
- `proguard.cfg`: ProGuard配置文件,用于混淆和优化代码,减少APK大小,提高应用安全。 - `.classpath`: Eclipse或ADT的经典配置文件,指定了项目的构建环境和依赖库。 4. **R.java**: 自动生成的资源ID类,...
5. `proguard-project.txt`:ProGuard是一个混淆器,可以减小APK大小,隐藏源代码,提高应用的安全性。此文件包含了ProGuard的配置规则。 6. `AndroidManifest.xml`:这是Android应用的核心配置文件,定义了应用的...
5. `proguard-project.txt`:ProGuard的配置文件,用于在发布应用时进行代码混淆,保护代码安全,减小APK大小。 6. `AndroidManifest.xml`:这是每个Android应用的核心文件,包含了应用的元数据,如活动(Activity...
开发者可以采用反编译技术,如混淆代码、加固应用,以及使用服务器验证机制来防止数据篡改。此外,实时检测异常行为和建立安全日志也是有效手段。 4. **游戏和外挂的逆向分析方法**:逆向工程是外挂开发者常用的...
1. **Proguard.cfg**: ProGuard 是 Android 开发中的一个代码混淆工具,用于优化、缩小和混淆 Java 字节码,以防止反编译。ProGuard 配置文件定义了混淆规则,包括哪些类、方法和变量需要保留,这对于保持代码可读性...
5. **proguard-project.txt**:ProGuard是一个Java代码混淆工具,此文件用于配置代码混淆规则,保护应用源代码的安全性,同时减小APK的大小。 6. **AndroidManifest.xml**:这是Android应用的核心文件,定义了应用...
【标题】中的“安卓Android源码——Android应用源码之手机控制电脑wirelesskeyboard1.4(手机端源码)”表明这是一个关于Android操作系统开发的项目,具体是实现手机作为无线键盘来控制电脑的功能。这个项目的版本号...
5. **proguard-project.txt**:ProGuard配置文件,用于混淆代码,减少应用大小并保护代码安全。混淆后的代码难以被逆向工程解析。 6. **AndroidManifest.xml**:Android应用的核心配置文件,它声明了应用的组件(如...
5. `proguard-project.txt`:ProGuard的配置文件,用于混淆代码,减少APK大小并保护代码安全。 6. `AndroidManifest.xml`:Android应用的核心配置文件,定义了应用的组件、权限、启动Activity等信息。 7. `src`:源...
5. `proguard-project.txt`:ProGuard配置文件,用于代码混淆,保护应用源码安全,减小应用体积。 6. `AndroidManifest.xml`:Android应用的核心配置文件,定义了应用的组件(如Activity、Service等)、权限请求、...
ProGuard是Android开发中的一个代码混淆、优化和压缩工具,可以减小APK的大小,保护代码安全,防止反编译。在发布应用时,通常会启用ProGuard以提高应用的安全性和效率。 2. **.classpath**:这是Eclipse或Android ...