`
willsunforjava
  • 浏览: 167863 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

将android某些类进行打包和混淆

 
阅读更多

 

有些时候需要将android中的某些类打包成jar,然后供其他程序使用,并且想混淆不开放的代码。这个博客简单介绍了如何制作这种jar包。测试用的adt版本为20.0

 

1. 将工程中的类导出成jar包

选中包,右键选择Export-->Jar file,将导出的jar包命名为in.jar,将其放到工程目录下

 

2. 编写proguard.txt文件

-injars       in.jar

-outjars      out.jar

-libraryjars  <java.home>/lib/rt.jar

-printmapping out.map

 

-keepparameternames

-renamesourcefileattribute SourceFile

-keepattributes Exceptions,InnerClasses,Signature,Deprecated,

                SourceFile,LineNumberTable,*Annotation*,EnclosingMethod

 

#这个很关键,制定某些类保留public protected方法和属性

-keep public class com.xxx.xxxx.* {

    public protected *;

}

 

-keepclassmembernames class * {

    java.lang.Class class$(java.lang.String);

    java.lang.Class class$(java.lang.String, boolean);

}

 

-keepclasseswithmembernames class * {

    native <methods>;

}

 

-keepclassmembers enum * {

    public static **[] values();

    public static ** valueOf(java.lang.String);

}

 

-keepclassmembers class * implements java.io.Serializable {

    static final long serialVersionUID;

    private static final java.io.ObjectStreamField[] serialPersistentFields;

    private void writeObject(java.io.ObjectOutputStream);

    private void readObject(java.io.ObjectInputStream);

    java.lang.Object writeReplace();

    java.lang.Object readResolve();

}

 

3. 修改local.properties

添加如下代码

proguard.config=proguard.txt

 

4. 混淆代码

有一个比较简单的操作,就是右键工程选择Android Tools-->Export Unsigned Application Package

当导出程序的apk时,同时也会将in.jar文件进行混淆生成out.jar文件

 

分享到:
评论

相关推荐

    Android 签名混淆打包文档

    混淆是将Java类和方法名称转换成无意义的字符串的过程,目的是为了保护应用的源代码不被轻易反编译。混淆可以通过在proguard-rules.pro文件中添加规则来实现。 - **忽略警告**:可以使用`-dontwarn`命令来忽略特定...

    android打包混淆pdf

    本文将详细介绍Android打包混淆的技巧、工具使用以及反混淆的相关内容。 首先,混淆是一种代码保护机制,它通过将类名、函数名、成员变量名等替换为无意义的名称,来达到代码难以阅读的效果。混淆工具普遍采用的...

    Android-Androidstudio多module混淆成一个Jar

    总之,Android Studio通过Gradle插件和自定义任务使得将多Module混淆打包成一个Jar文件成为可能。这不仅有助于代码的整合,还能提高代码的可维护性和分发效率。记得在实际操作时根据具体需求调整混淆规则和构建脚本...

    android activity,java打包架包混淆经验.docx

    在Android应用开发中,对项目进行...总结,使用ProGuard进行打包混淆时,要关注关键类、方法的保护,第三方库的处理,以及混淆规则的预览和保存。正确设置混淆规则能够帮助我们在保护代码的同时,保证应用的正常运行。

    Android 资源混淆工具

    资源混淆主要是通过对应用中的资源文件(如图片、布局、字符串等)进行重命名和重新打包,使其变得难以理解和逆向工程,从而达到保护应用不被轻易破解的目的。本文将详细介绍Android资源混淆工具的使用和原理。 ...

    Android代码混淆前后分析

    混淆过程包括四个主要步骤:预处理、优化、混淆和打包。预处理阶段去除无用的类、方法和字段;优化阶段改进代码结构,删除冗余的指令;混淆阶段则给类、方法和字段分配新的短小名称;最后,打包阶段将混淆后的字节码...

    Android studio 混淆+打包+验证是否成功

    本文将详细介绍如何在Android Studio中进行混淆和打包,并验证其是否成功。 首先,我们来看混淆(ProGuard)的过程。混淆的主要目的是保护应用的源代码,避免被恶意用户反编译,通过混淆,可以使得代码变得难以理解...

    Gradle混淆+打包Jar包基础DEMO

    本文将深入讲解如何使用Gradle进行混淆和打包Jar包的基础操作。 首先,让我们了解什么是混淆。混淆是将代码中的类名、方法名和变量名转换为简短、无意义的名称的过程,目的是保护源代码不被轻易理解,同时也能减小...

    Android studio和Eclipse分别生成jar包并混淆jar包的demo

    本文将深入探讨如何在Android Studio和Eclipse中生成jar包,并介绍混淆jar包的实践方法。 首先,我们来讨论在Android Studio中生成jar包的步骤: 1. **打开Android Studio项目**:确保你已有一个Android项目,然后...

    Android代码混淆及签名.doc

    "Android代码混淆及签名" ...代码混淆和签名打包 APK 是 Android 应用程序安全的重要组成部分。通过配置 proguard.cfg 文件和签名打包 APK,可以保护 Android 应用程序的源代码和intellectual property。

    android 混淆出错 Can't process class 解决办法

    它会检查类、方法和字段的使用情况,并根据配置规则进行相应的优化、混淆和去除无用代码。当出现"Can't process class"错误时,通常是因为以下原因: 1. **类路径问题**:确保你的类路径设置正确,包含了所有需要...

    android 多个工程 打包

    总的来说,将多个Android工程打包成一个APK是一项技术性较强的任务,需要对Android的构建系统和Gradle有深入的理解。通过合理配置和调整,我们可以创建一个包含多个功能模块的大型应用,提供给用户更便捷的使用体验...

    Gradle混淆_打包Jar包基础DEMO

    本示例聚焦于“Gradle混淆_打包Jar包基础DEMO”,它涉及到两个核心概念:Gradle混淆和使用Gradle打包Java应用程序为Jar包。 首先,让我们深入了解一下Gradle混淆。混淆是在Android开发中常用来保护代码安全、减小...

    在eclipse上实现gradle批量打包,并加签名、混淆、改图标及应用名称

    在Android开发过程中,...总之,虽然Android Studio已成为首选的开发环境,但在Eclipse中通过Gradle进行批量打包、签名、混淆和修改应用元数据仍然是可行的。了解这些步骤对于维护旧项目或处理多项目场景非常有用。

    apk反编译和混淆及打包签名-keystore问题总结

    总的来说,理解APK反编译、混淆和打包签名的过程对于Android开发者来说至关重要。在实践中,开发者应熟练掌握混淆规则的定制,妥善保管keystore,以确保应用的安全性和更新能力。通过阅读《android混淆与签名与反...

    Baffle, Android apk包res 资源混淆工具.zip

    5. **打包与签名**:混淆完成后,你需要将混淆后的APK进行打包,并使用Android的签名工具对APK进行签名,以确保其可正常安装和运行。 6. **测试**:最后,进行详尽的测试,确保混淆没有破坏应用的功能和用户体验。...

    android apk打包工具

    在Android应用开发中,APK打包是发布应用的最后步骤,它将编译后的代码、资源文件、配置信息等组合成一个可安装的文件。"Android APK打包工具"旨在简化这个过程,尤其对于需要批量打包或者针对不同渠道进行个性化...

    ApkTool 解包和打包

    在Android开发领域,APKTool是一个非常重要的工具,它主要用于对APK文件进行解包和打包操作。APKTool允许开发者深入理解APK内部结构,包括反编译、修改和重新打包应用程序,这对于调试、逆向工程、本地化翻译以及...

    Android添加Proguard混淆支持完整实例

    在Android开发过程中,为了保护应用的安全性和优化代码大小,开发者通常会使用Proguard工具进行代码混淆。Proguard是一个强大的Java类文件 shrinker、optimizer、 obfuscator 和 preverifier,它能够删除未使用的...

Global site tag (gtag.js) - Google Analytics