`

apk混淆签名打包

阅读更多
写好混淆配置文件,再对apk进行签名打包即可得到混淆后的apk包
签名打包参考:http://jojol-zhou.iteye.com/blog/719428

我常用的混淆配置文件
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keep public abstract interface com.asqw.android.Listener{
public protected <methods>; 
}
-keep public class com.asqw.android{
public void Start(java.lang.String);
}
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-ignorewarnings


关于配置文件的解释
-injars  androidtest.jar【jar包所在地址】
-outjars  out【输出地址】
-libraryjars    'D:\android-sdk-windows\platforms\android-9\android.jar' 【引用的库的jar,用于解析injars所指定的jar类】

-optimizationpasses 5
-dontusemixedcaseclassnames 【混淆时不会产生形形色色的类名 】
-dontskipnonpubliclibraryclasses 【指定不去忽略非公共的库类。 】
-dontpreverify 【不预校验】
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 【优化】
-keep public class * extends android.app.Activity  【不进行混淆保持原样】
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keep public abstract interface com.asqw.android.Listener{
public protected <methods>;  【所有方法不进行混淆】
}
-keep public class com.asqw.android{
public void Start(java.lang.String); 【对该方法不进行混淆】
}
-keepclasseswithmembernames class * { 【保护指定的类和类的成员的名称,如果所有指定的类成员出席(在压缩步骤之后)】
native <methods>;
}
-keepclasseswithmembers class * { 【保护指定的类和类的成员,但条件是所有指定的类和类成员是要存在。】
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {【保护指定类的成员,如果此类受到保护他们会保护的更好 】
public void *(android.view.View);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {【保护指定的类文件和类的成员】
public static final android.os.Parcelable$Creator *;
}


出现can't find referenced class的警告时,可以在proguard.cfg中添加-ignorewarnings来解决。
分享到:
评论

相关推荐

    Apk混淆工具,给APK文件做混淆加密

    APK混淆工具正是为了增强APK的安全性而设计的,它的主要作用是将APK文件中的代码和资源进行混淆和加密,以此来防止恶意用户进行反编译,窥探或篡改应用的内部逻辑。通过混淆,原本可读性强的代码变得难以理解,大大...

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

    APK反编译、混淆以及打包签名是开发过程中的重要环节,涉及安全性和优化。本文将深入探讨这些概念,并提供相关的实践指导。 **一、APK反编译** APK反编译是为了查看和理解Android应用的源代码,这在调试、学习或者...

    apk android签名加密混淆

    在APK打包过程中,开发者使用私钥对APK进行数字签名。这个过程会生成一个包含公钥的证书,该证书用于验证APK在安装和更新时没有被篡改。Android系统在安装APK时会检查签名,如果签名有效,系统才会允许安装。此外,...

    Android 签名混淆打包文档

    签名打包是指在发布Android应用之前对应用进行加密签名的过程。这一步骤对于应用的发布至关重要,因为Google Play等应用商店要求上传的应用必须经过签名。 #### 三、签名打包的两种方式 ##### 1. 通过Android ...

    apk打包签名需要注意的问题

    1. **由于使用了ProGuard混淆器,如何处理签名打包后出现的Crash问题**; 2. **使用ProGuard代码混淆器时需要注意的一些小细节**; 3. **如何使用ProGuard保持某个类及其子类不受混淆的影响**。 #### 1. 处理签名...

    APK打包解包签名工具集

    在Android应用开发中,APK打包、解包和签名是至关重要的步骤,这些操作涉及到应用程序的构建、调试和发布流程。下面将详细解释这些概念及其重要性。 首先,我们要了解APK是什么。APK(Android Package)是Android...

    去APK签名校验工具

    APK签名校验工具是一种用于验证Android应用程序(APK)签名完整性和安全性的软件工具。在Android系统中,每个发布到Google Play或其他第三方应用商店的APK文件都需要经过签名过程,确保开发者身份的可追溯性,同时...

    apk合成和签名工具

    标题中的“apk合成和签名工具”指的是在Android应用开发中两个关键步骤:APK打包与签名。APK是Android应用程序的包文件格式,包含了应用程序的所有组件,如代码、资源、图片等。签名则是确保APK文件来源可靠和未被...

    apk打包解包工具

    "apk打包解包工具"是一类用于处理APK文件的实用程序,它们可以帮助开发者进行APK的构建、拆解、修改和重新签名等操作。下面将详细阐述相关知识点: 1. **APK打包**:APK打包过程是将Android应用的所有资源(如Java...

    android apk重签名工具

    - 如果APK已经被混淆或加固,重签名可能会变得更加复杂,可能需要额外的处理步骤。 - 请妥善保管你的密钥库和私钥,它们对于应用的更新和维护至关重要。 通过以上步骤,你就能理解并使用“android apk重签名工具”...

    新浪微博签名apk

    打包发布版apk是指将开发完成的应用程序打包成可供用户下载和安装的版本,这个过程通常涉及到代码的混淆、优化以及签名。而安装签名apk则是指使用特定的签名文件对apk进行签名,以便在设备上安装和运行。 使用...

    APK反编译全家桶,apk二次打包签名必备

    重新打包后,Apktool可以将修改后的资源和DEX文件(Dalvik可执行文件)组合成新的APK,并进行签名,以便在Android设备上安装和运行。 2. **dex2jar**: 这个工具用于将DEX文件(Android应用的字节码)转换为Java类...

    多渠道签名打包工具

    而"多渠道签名打包工具"正是为了解决这个问题,它能够自动化处理打包过程,大大提高了效率。 这个工具的核心功能是将应用的APK文件与不同渠道的配置文件进行结合,并进行签名。签名是Android应用发布的重要步骤,...

    Android apk 签名工具

    在修改完成后,通过apktool可以方便地进行签名和重新打包,以生成可安装的新APK。 在实际操作中,使用apktool进行签名可能涉及到以下命令: ```bash # 解包APK apktool d original.apk -o modified # 修改解包后的...

    Apk反编译打包后版本

    它还能重新打包和签名APK,允许开发者进行修改后再构建回APK。 2. **dex2jar**:Android应用的Dalvik Executable (DEX) 文件是优化过的字节码格式,用于运行在Dalvik虚拟机上。dex2jar工具将DEX文件转换为Java字节...

    Android App的签名打包

    Android App的签名打包是开发过程中不可或缺的步骤,它关乎应用的发布、安全性和用户体验。本文将详细介绍Android应用程序签名的意义、签名过程以及如何使用不同的工具进行签名打包。 首先,理解签名的意义至关重要...

    android安卓app教程之反编译App,修改资源文件后,重新打包生成新的APK.zip

    在命令行中输入`apktool.bat b aaa (你编译出来文件夹)`,这将把修改后的文件重新打包成一个未签名的APK,名为`TestApp-unsigned.apk`。 5. **签名APK**: 在Android系统上,每个发布的APK都需要签名。这里提到了`...

    打包签名混淆

    这个过程包括了APK的打包、签名以及代码混淆,每个环节都有其独特的意义和作用。 首先,我们来理解打包(Packaging)。在Android应用开发完成并测试无误后,开发者需要将所有资源文件、类文件以及依赖库合并成一个...

    ant 多渠道包混淆 签名

    在这个场景中,`Ant`被用于创建针对不同发布渠道(如Google Play、华为应用市场等)的APK包,并且执行ProGuard混淆,以及最终的签名过程。下面将详细介绍这些概念和操作流程。 **1. Ant构建工具** Ant是一个基于...

    Android之APK打包安装过程.zip_android 打包_run

    Android APK的打包与安装是Android应用开发过程中至关重要的步骤,它涉及到多个阶段,从源代码编译到最终在设备上运行。以下将详细介绍这个过程。 首先,我们需要理解APK是什么。APK(Android Package)是Android...

Global site tag (gtag.js) - Google Analytics