完蛋了 大清亡了.2022年7月 360加固不让使用命令上传加固了
加固步骤
- 从360官网下载加固包
- 在加固包中添加jiagu.sh 文件
- 在gradle中配置 生成APK后 执行jiagu.sh命令
实际操作
第一步 官网下载
官网下载: 注意 你如果是windiws电脑 需要下载 windows 下的包
mac 的话 下载mac 的包. 我在这里被坑了很久
下载地址 http://jiagu.360.cn/qcmshtml/details.html
把下载的jiagu 包放入项目根目录
第二步 在加固包中添加 jiagu.sh 文件
- 在加固包中添加jiagu.sh 文件
#!/bin/bash
echo "------ begin! ------"
BASE=$4
NAME= #360账号
PASSWORD= #密码
APK=$1 #需要加固的apk路径
DEST=$2 #输出加固包路径
#KEY_PATH= #密钥路径
KEY_PATH=$3 #密钥路径
KEY_PASSWORD= #密钥密码
ALIAS= #别名
ALIAS_PASSWORD= #别名密码
echo "------ running! ------"
java -jar ${BASE} -version
java -jar ${BASE} -login ${NAME} ${PASSWORD}
java -jar ${BASE} -importsign ${KEY_PATH} ${KEY_PASSWORD} ${ALIAS} ${ALIAS_PASSWORD}
java -jar ${BASE} -showsign
#java -jar ${BASE} -importmulpkg ${BASE}/多渠道模板.txt #根据自身情况使用
java -jar ${BASE} -showmulpkg
java -jar ${BASE} -config -x86
java -jar ${BASE} -showconfig
java -jar ${BASE} -jiagu ${APK} ${DEST} -autosign
echo "------ finished! ------"
#-login <username> 首次使用必须先登录 <360用户名>
# <password> <登录密码>
#-importsign <keystore_path> 导入签名信息 <密钥路径>
# <keystore_password> <密钥密码>
# <alias> <别名>
# <alias_password> <别名密码>
#-importmulpkg <mulpkg_filepath> 导入多渠道配置信息,txt格式
#-showsign 查看已配置的签名信息
#-showmulpkg 查看已配置的多渠道信息
#-help 显示帮助信息
#-config [-update] 配置加固可选项 【升级通知】
# [-crashlog] 【崩溃日志】
# [-x86] 【x86支持】
#-showconfig 显示已配置加固项
#-version 显示当前版本号
#-update 升级到最新版本
#-jiagu <inputAPKpath> 加固命令 <APK路径>
# <outputPath> <输出路径>
# [-autosign] 【自动签名】
# [-automulpkg] 【自动多渠道】
# [-pkgparam mulpkg_filepath] 【自定义文件生成多渠道】
第二步 gradle 配置
//chmod +x gradlew
//gradlew assembleRelease
//gradlew assembleRelease gradlew assembleXiaoHuaJiaYouRelease gradle clean assembleXiaoHuaJiaYouRelease
afterEvaluate {
android.applicationVariants.all { variant ->
variant.assemble.doLast {
if (variant.buildType.name == ('release') ) {
// File apkfile = new File(project.rootDir.absolutePath + "/app/build/outputs/apk")
def apkPath = variant.outputs.first().outputFile as File
def apkFolderPath = apkPath.getParent()
def apkstor = android.signingConfigs.release.storeFile.absoluteFile
def base = project.rootDir.absolutePath + '/jiagu/jiagu.jar'
def shPath = project.rootDir.absolutePath + '/jiagu/jiagu.sh'
// println "================base================${base}"
// println "================apkPath================${apkPath}"
// println "=================apkFolderPath===============${apkFolderPath}"
// println ".keyPassword ===============${android.signingConfigs.release.storeFile.absoluteFile}"
exec {
ignoreExitValue true
println "=======开始执行shell========"
// commandLine "sh", "../jiagu/jiagu.sh", apkPath, apkFolderPath, apkstor, base
commandLine "sh", shPath, apkPath, apkFolderPath, apkstor, base
// commandLine "cp",apkPath,apkfile.getParent()
// executable "../jiagu/jiagu.sh", apkPath,apkFolderPath
}
}
}
}
}
注意点
.gitignore文件千万不要加上 gen/ 文件夹 我在这里也被坑很久 导致jiagu 文件夹里面的gen文件夹没有上传到git仓库. 一直报错.
最后感谢这个兄弟的博客
https://blog.csdn.net/qq_17766199/article/details/74929844?locationNum=9&fps=1