360加固我想大家并不陌生,使用起来也比较简单。只要下载它的加固助手上传我们打包签名好的APK文件就可以完成加固。但我们是否可以让他更加的便捷呢?答案是肯定的。

1.准备

首先我们下载360加固助手。这里我使用Windows版来说明。

解压后我们将jiagu文件夹放到我们项目的根目录中。

因为360加固支持命令行方式加固,并且提供了详细的命令操作。因此我们可以使用sh脚本来实现。执行sh脚本需要我们的电脑提前安装 Cygwin。

2.集成

1.首先我们写执行的脚本(jiagu.sh):

#!/bin/bash

BASE=../jiagu/jiagu.jar
NAME=360加固账号
PASSWORD=360加固账号的密码
KEY_PATH=../app/keystore/test.jks #密钥路径
KEY_PASSWORD=111111 #密钥密码
ALIAS=test #别名
ALIAS_PASSWORD=111111 #别名密码APK=$1   #需要加固的apk路径
DEST=$2  #输出加固包路径 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}/jiagu.jar -importmulpkg ${BASE}/多渠道模板.txt #根据自身情况使用
java -jar ${BASE} -showmulpkg
java -jar ${BASE} -showconfig
java -jar ${BASE} -jiagu ${APK} ${DEST} -autosignecho "------ 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]  【自定义文件生成多渠道】

上面就是我们编写好的脚本代码,上面有详细的注释,大家只需要填写自己的信息即可。

最后我们将此脚本放入之前的jiagu文件夹。

2.gradle集成

上图是打包时Run build的最后Task,可以看到是assembleRelease。我们执行脚本的时间也就在assembleRelease之后。所以有如下代码:

afterEvaluate {android.applicationVariants.all { variant ->variant.assemble.doLast {if (variant.buildType.name.contains('release')) {def apkPath = variant.outputs.get(0).outputFile as Fileexec {ignoreExitValue truecommandLine "sh", "../jiagu/jiagu.sh", apkPath, apkPath.getParent()}}}}
}

补充:Android Studio 3.0后Gradle插件版本默认为3.0,所以有些方法变化,上面代码中get(0)方法替换为first()方法。其余不变。

def apkPath = variant.outputs.first().outputFile as File

我们将它加入我们项目的appbuild.gradle中。代码中的apkPathapkPath.getParent()就是我们sh脚本中的APKDEST

3.使用

Terminal中执行gradlew assembleRelease

输出:

注意:如果出现类似$’\r’: command not found的错误。可以使用Notepad++打开文件,编辑–>文档格式转换–>转换为UNIX格式–>保存进行处理即可。

4.参考

51建设Android版一些技术整理

最后,请喜欢的点赞哦,你的鼓励是我的动力!

使用gradle集成360加固相关推荐

  1. Android studio gradle实现360加固保自动化打包

    Android studio gradle实现360加固保自动化打包 随着目前行业竞争越来越激烈,apk加固防逆向应该是标配,而360加固保应该是这方面比较成熟可靠的加固工具了,一次性完成了签名混淆加 ...

  2. android开发 Gradle多渠道打包以及集成360加固

    先上图 先说实现的目的 主要是 用脚本做渠道打包 然后在APP里面添加数据 在启动时读取数据上传服务器做统计 然后为啥要这么做:第一个是因为APP里面在做渠道包的时候 需要加特定的东西,区别这些APP ...

  3. walle多渠道打包+Tinker(bugly)热更新集成+360加固(乐固)

    这三个东东是干啥的相信大家都有所耳闻了,如果你没有听说过,请出门左拐,百度一下你就知道.这里不对这三个东东具体的集成方式做详细的介绍,因为官方文档已经写的很详细了,主要是对同时使用这三个东东时所需要注 ...

  4. 360android 打包工具,Android gradle 自动化360加固打包

    步骤 1.下载并安装 360加固保 2.project bulid.gradle : (配置需要用户路径和常量) ext{ jiagubaoPath = 'D:\\AndroidTools\\360j ...

  5. 360加固框架Gradle实现

    最近码了一个基于360加固的流程实现的Gradle插件,在自动编译打包后进行360加固流程操作.只需要配置一些参数后,就可以实现自动打包编译和加固. 项目地址:https://github.com/j ...

  6. Gradle 自定义Plugin插件之360加固

    之前发布的文章:Gradle 自定义Plugin插件之上传APK到蒲公英.让我们知道了自定义插件的一些功能. 一般来说,在发布的时候,我们的APK都需要加固的,毕竟安全点.这里,我们就结合之前的插件, ...

  7. android加固多渠道,Android 多渠道打包(使用友盟统计,结合360加固宝进行多渠道打包)...

    如有不正确的地方,望各路小哥哥.小姐姐指点,小女子在此谢过(*^__^*) 嘻嘻-- 一般app做推广的时候都需要渠道包,方便分析数据,查看渠道质量 一.先去友盟平台申请一个appkey a.   a ...

  8. Jenkins之自动进行360加固

    文章目录 思路 编写Gradle自定义任务 命令行调用360加固 执行构建并获取apk 获取加固程序 执行加固 签名 拷贝文件到指定位置 Jenkins调用加固并发送邮件 项目中使用到了360加固与阿 ...

  9. bugly热更新、多渠道集成及加固问题

    Bugly Android热更新使用指南–>大部分步骤按照文档即可:官方文档 ========================================================== ...

最新文章

  1. Node.js-提供了四种形式的定时器
  2. 5G NR — gNB
  3. centos 支持 ntfs格式
  4. 标号的类型是near还是far有什么区别,作用是什么?
  5. 面试官:你知道哪几种事务失效的场景?
  6. AUTOSAR专业知识篇(八)-ID.3 和大众的电气化平台
  7. WCF服务编程设计规范(9):中文、中英文对照、英文版资料共享下载
  8. 瑞典禁止在5G网络中用华为和中兴设备 同时也将移除老设备
  9. Excel操作之 导出生成多个sheet页面
  10. 【译】AS3利用CPU缓存
  11. GBase 8a - 开启防火墙安装集群添加端口策略
  12. 树莓派第一次使用WIN10电脑远程连接(无显示器)
  13. python concat时报错‘InvalidIndexError: Reindexing only valid with uniquely valued Index objects’
  14. html中splice向数组添加元素,js中splice()的强大(删除,插入或替换数组的元素)
  15. rsyslog-trouble: imjournal: 26794 messages lost due to rate-limiting
  16. 周鸿祎再谈“元宇宙”:文明内卷、数字化威胁,及元宇宙基础设施
  17. 【2018-2019】咖啡般的生活,我们互相羡慕着彼此
  18. 关于三体小说拍成电影的想法
  19. Scrapy新手入门
  20. vue渲染数据后顺序乱了

热门文章

  1. 安卓EROFS (Read-only file system)的解决
  2. 发人深省--周鸿祎:少功利多学习 做力所能及的事情
  3. js的高亮关键写法,简单粗暴,行之有效
  4. 迄今最全的国内引进的凯迪克获奖绘本书单172本(1938年-2016年)
  5. python爱好者社区 投稿_2018年Python爱好者社区历史文章合集(作者篇)
  6. minpack.error: Result from function call is not a proper array of floats.
  7. autojs怎么暂停脚本_三国群英传8脚本已暂停名片点赞autojs
  8. Java 11,Spring Boot和JavaScript中的i18n
  9. 不懂就问,机器人做核酸是一种什么体验?|一周AI新闻
  10. ssoj1338蜘蛛侠 trampolin