# Plug-Reinforcer **Repository Path**: zndroidx/Plug-Reinforcer ## Basic Information - **Project Name**: Plug-Reinforcer - **Description**: 360加固保插件,自动加固apk,fork from:https://github.com/xiazunyang/reinforcer作了bug修复和优化 - **Primary Language**: Kotlin - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-03-13 - **Last Updated**: 2024-10-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 写在前面(踩坑实录): 此插件使用的账号是(免费版用户已经不能使用命令行进行加固,请访问官网 https://jiagu.360.cn/#/global/index 下载加固工具进行加固) 免费版! 免费版!! 免费版!!! 0.由于账号属于个人账号,采用的是基础版加固 ![avatar](./doc/one.png) 不过(2022-05-27)之后,360针对免费用户使用命令行方式加固做了限制 ![avatar](./doc/three.png) 免费加固策略如下: ![avatar](./doc/two.png) ##1.切勿使用Gradle 7.0+ ##本插件使用7.0版本之前的最新版:Gradle-6.7.1-all,com.android.tools.build:gradle:4.2.2 ##如果非要尝鲜,源代码中插件引入方式和项目环境都需要有所改动【每个版本可能不一样】 2.加固需要360云盘上传服务,如果上传失败看看公司网络是否限制该网址的访问:yunpan.360.cn 3.加固过程提示“上传失败 10425超过每日加固次数限制”,这是免费版!!!,加固开关请请请请请请请请请请请请请请请请请请请请默认关闭,正式发版的时候再打开,然后立马关闭 4.附件中是360加固保加固环境,内部集成了相关命令和java环境 ,非必要不需要更新 环境包:360.zip 5.打包变体请勿使用特殊符号和大写字母 ☆☆☆☆☆ 6.路径地址请不要超过256个字符,否则会加固不成功,当待加固包路径太深时,建议您使用【指定要加固的apk位置】功能,这样可以减少路径太深带来的问题 7.其他问题:https://jiagu.360.cn/#/global/help/170 360加固保是为移动应用安全提供专业保护的平台,盗版APP通常是将正版APP进行破解、篡改后重新打包生成的应用。如果手机APP能够具备防反编译、防反破解能力,就可以有效的防止APP被盗版 引入(Android Studios) 在项目根目录 build.gradle 下添加仓库地址 ``` groovy allprojects { repositories { ... maven { url 'xxxx/' } //或者 maven { url 'xxxx/' } ... } } ``` 在项目目录 build.gradle 添加如下配置(目前只支持新版 androidx) ``` bashclasspath 'com.zndroid.reinforcer:reinforcer:1.0.0' ``` 在应用Module app 根目录 build.gradle 添加如下配置(目前只支持新版 androidx) ``` groovy apply plugin: 'reinforcer-plugin' ``` 然后点击同步按钮进行代码同步 使用 1. 在应用Module app 根目录 build.gradle 添加如下配置 ``` groovy reinforcer { //执行完打包任务后是否加固,默认为:否 enabled = false //以下两项为必填项,否则无法运行加固功能 //1.加固后输出位置 outputDirectory = "build/outputs/apk/reinforced/" //2.加固环境绝对路径 installationPath = "E:\\workspace\\xxxxx\\360\\jiagu.jar" //360加固助手的登录账号与密码,没有设置时,每次打包不进行登录操作,但是可能会加固失败。 username = "xxxxxxxxxxxxxx" password = "******" //默认情况下会读取android/buildTypes/release闭包下已配置的签名信息 //配置参数为signingConfigs节点下其中之一的名称 signConfigName = "release" //默认情况下reinforcer加固后的文件名与项目中applicationVariants闭包下指定的文件名相同 //可通过以下方式添加映射关系,当文件名(不包含扩展名)与key值匹配时,输出的文件名会修改为value的值 //rename += ["key1": "value1", "key2": "value2"] } ``` 2. 指定要加固的apk位置【可选】 默认会从打包变体中release文件夹下输出的文件作为加固母体,如果更改待加固包母体位置,请在应用Module app 根目录 build.gradle 添加如下配置(对于输入位置内部有容错机制,请放心的造吧) ``` groovy tasks.getByName("reinforce") { //inputApk = "build/outputs/apk/will_reinforce/application.apk" } ```