Install from Plugin Marketplace
- AndProguard 是一个帮助混淆源文件的插件,支持多种语言
Java/Kotlin/Xml,支持批量混淆。 - AndProguard 执行时会查找所有能修改的元素执行重命名,包括
Java/Kotlin中的:类名、文件名、方法/函数名、字段/属性名、参数名和局部变量名,Xml中的属性名和文件名。 - 它的原理是基于官方插件的重命名功能,在修改元素时会自动处理所有引用的修改;AndProguard 是在此基础上功能扩展。
- 支持在设置中自定义命名规则(Custom naming)
- 应用加固,增加 aab、apk 反编译的难度。
- 降低 aab 包查重率,避免上架
Google Play因查重率过高,导致下架或封号问题。
- AndProguard 是在本地操作,且任务执行是不可逆的,故务必做好代码备份或在版本分支工具管理下操作,否则代码将很难还原
- AndProguard 不侵入打包流程,无法混淆编译后的
Class文件,需要在打包前执行 - 重命名会关联到
build目录下的无效引用,故执行前请清理build目录:执行Build -> Clean Project, 否则可能会出现阻塞任务的窗口
只需选择想要混淆的文件或文件夹,右键菜单选择 Proguard -> Obfuscate *,支持对 Java/Kotlin/Xml 文件或文件夹使用:
- Obfuscate Tree:混淆当前元素,并递归子元素的混淆
- Obfuscate Node:仅混淆当前元素
- JSON Mapping Interface:根据接口文档生成的JSON文件,修改项目的接口数据类
- Refactor Packages:混淆当前文件目录,并递归子目录的混淆
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Start [Obfuscate Tree] 2024-11-25 16:23:43 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
[KtVariable] oldName >>> rolpteijoyiVelesu
[KtVariable] name >>> cejijije
[KtVariable] orderId >>> sneyivaqebu
[KtVariable] entityDemo >>> gayortarthi
[KtVariable] aaa >>> kupeevek
[KtVariable] bbb >>> huqixazalch
[KtVariable] ccc >>> eautirinerko
[KtParameter] orderId >>> setrupiesha
[KtParameter] orderId >>> ipoqero
[KtParameter] value >>> ziefala
[KtParameter] open >>> taweyewephu
[PsiParameter] a >>> zistopaunYudupuyedojo
[PsiParameter] b >>> aravanelesFeeta
[PsiParameter] entityDemo >>> qedeukiGemptu
[PsiParameter] entityDemoKt >>> tupinorasnab
[PsiParameter] interfaceDemo >>> lerkiousilaBedov
[PsiParameter] name >>> misplarawufe
[PsiParameter] age >>> pekigrutaik
[PsiParameter] name >>> vimpixun
[PsiField] context >>> aruneeaIcopifl
[PsiField] age >>> pijijeea
[PsiField] entityDemoKt >>> qexedakaq
[PsiField] age >>> hexepai
[PsiField] classDemo >>> owofeesKusakumpti
[PsiVariable] aaa >>> wiwilyog
[PsiVariable] bbb >>> whobubortiew
[PsiVariable] ccc >>> singoleqeyeJacir
[PsiVariable] ddd >>> tailuxawoa
[PsiVariable] eee >>> ltini
[PsiVariable] fff >>> zeifane
[PsiVariable] classDemo >>> rthuwojeilch
[KtClass] InnerClassDemo >>> BubiroLinuckawicav
[KtClass] ClassDemoKt >>> DeikoruraifeSaduwSukiv
[KtClass] EntityDemoKt >>> VipudeWemucecubega
[KtClass] InterfaceDemoKt >>> GezinabroaxPirtupunihiHoyiwoy
[KtClass] AnnotationDemoKt >>> ZozumeroqoAtovevon
[KtFunction] entityDemo >>> clobriholDeneiwaciAskazo
[KtFunction] demo >>> eubayejSuquwaz
[KtFunction] functionDemo >>> sweutoojIwafire
[KtFunction] getOrderId >>> jertoivaiPounichejaGelyiwo
[KtFunction] setOrderId >>> diderobQoaraOkojomun
[KtFunction] getOrderId >>> xusneuBezudeqinu
[KtFunction] getB >>> bisnomNozascheyiWoqonacaq
[PsiMethod] entityDemo >>> ntecoVigegXijezufuqa
[PsiMethod] innerMethodDemo >>> loftupohNirepoxa
[PsiMethod] methodDemo >>> uhaseeasaXokovoxunJobawi
[PsiMethod] forNothing >>> qaftamOtihovomOnariredej
[PsiMethod] methodDemo >>> wufutefNeerthudedYurapocem
[PsiEnumConstant] DEFAULT >>> JoboithrauwXananSaxipev
[PsiEnumConstant] ANDROID >>> XefivoigejuUlohiscr
[PsiClass] EnumDemo >>> HoziwhoWomosedeajo
[PsiClass] ClassDemo >>> JaxulpteseltWarejou
[PsiClass] EntityDemo >>> UsadafonExemoyeimek
[PsiClass] InterfaceDemo >>> OsujieveiZafanoivuTuhicugiou
[PsiClass] ReferenceDemo >>> EroboreropasLoxespribeqo
[PsiClass] AnnotationDemo >>> MogajFealchucay
[PsiClass] InterfaceDemo2 >>> VocatWolahavoic
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> End [Obfuscate Tree] 2024-11-25 16:24:00 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
