社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python实现gradle打包和360加固

夜幕降流星雨 • 4 年前 • 224 次点击  
阅读 39

Python实现gradle打包和360加固

安卓项目日渐稳定,遂学了一周的python(小菜鸡一个)。想找个项目,无奈网上的项目都不符合我实用的需求(看不懂...)。刚好最近安卓的项目频繁需要打包,于是就有了今天的找个标题,最后在不懈的努力(百度),只花了50行左右代码就搞定了。 代码写的很菜大家见谅就是发出来交流下,目前还没有实现多渠道分包和自动上传蒲公英或者fir,有需要大家可以自己补上。

准备工作

  1. 配置好gradle环境变量

    • 你的项目app模块中的gradle要配置好打包签名

      android {
          signingConfigs {
              config {
                 //省略部分
              }
          }
           
          buildTypes {
              debug {
                 //省略部分
                 signingConfig signingConfigs.config
              }
            
              release {
                //省略部分
                signingConfig signingConfigs.config
              }
          }
             
      }
      复制代码
    • grale的bin目录加到到系统变量path

    • 打开cmd输入gradle测试是否成功

      image-20210116114437079

  2. 安装python

    • 安装python3.x.x版本
    • 选一个你喜欢的编辑器

脚本代码

  • 具体实现看代码,如有不行大家见谅(语言能力不行啊),主要的流程就是先利用gradle打包后用360加固

  • 360加固打包命令官方地址大家有需要可以看看

  • gradle命令代码里有大家可以百度

  • 成功截图

    image-20210116120054883

import os
import argparse

# 加固路径
jgPath = 'D:\\360jiagubao_windows\jiagu\\' #改成你的3650加固文件夹地址
output_path = 'C:\\Users\\Desktop' #改成你要输出的目录

# 获取命令行的参数
parse = argparse.ArgumentParser(description='请输入android项目全路径')
parse.add_argument('input', type=str, help='需要自动化的项目路径地址')
args = parse.parse_args()
input_path = args.input


# 查找当前目录apk文件
def get_apk_path(path):
    dirs = os.listdir(path)
    for f in dirs:
        print('遍历文件:', f)
        if f.endswith('.apk'):
            return f
    return None


# 启动加固
def auto_360_jg():
    print('开始编译文件')
    # 进入项目地址
    os.chdir(input_path)
    # 执行编译命令
    r = os.system('gradle assembleRelease')
    if r == 0:
        # 安装包地址
        build_path = input_path + '\\app\\build\\outputs\\apk\\release'
        apk_path = get_apk_path(build_path)
        if apk_path:
            print('开始加固文件')
            # 进入加固目录
            os.chdir(jgPath)
            # 执行加固命令
            os.system('java -jar jiagu.jar -showconfig')
            cmd = 'java -jar jiagu.jar -jiagu ' + build_path + '\\' + apk_path + ' ' + output_path + ' -autosign'


    

            os.system(cmd)
            print('恭喜,加固apk放置到桌面')
        else:
            print('哦哦,没有找到apk文件')
    else:
        print('哦哦,编译apk失败')


if input_path:
    auto_360_jg()
else:
    print('请输入apk地址')

复制代码

运行脚本

  1. 打开cmd

  2. 输入python xxx.py [项目目录]

    例如python test.py D:\AndroidProject\Example

  3. 想用exe可以自行打包

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/106231
 
224 次点击