• android 重签名


    '''
    Created on 2013-6-6

    @author: DengWei
    '''

    import zipfile
    import os
    import shutil
    import sys

    class Zip(object):
    @staticmethod
    def zip_dir(dirname, zipfilename):

    # def writeFile(pathname, basename=""):
    # for filepath in os.listdir(pathname):
    # if os.path.isfile(dirname):
    # if basename:
    # zf.write(dirname, basename)
    # else:
    # zf.write(dirname)
    # else:
    # dir, name = os.path.split(filepath)
    # if basename:
    # basename = "%s/%s" % (basename, name)
    # else:
    # basename = name
    # writeFile(dir, basename)
    #
    # zf = zipfile.ZipFile(zipfilename, 'w', zipfile.zlib.DEFLATED)
    #
    # writeFile(dirname)

    os.system("compress.bat %s %s;"%(dirname, zipfilename))

    @staticmethod
    def unzip_file(zipfilename, unziptodir):
    if os.path.exists(unziptodir):
    shutil.rmtree(unziptodir)
    os.mkdir(unziptodir)

    zipobj = zipfile.ZipFile(zipfilename)

    zipobj.extractall(apkNameWithoutExt)

    if __name__ == "__main__":


    # APK_FOLDER ="c:\sinaNews3.2.1_52_release_wm_5062_0001_0520.apk"

    APK_FOLDER = sys.argv[-1]

    apkName = os.path.basename(APK_FOLDER)
    apkNameWithoutExt = apkName[0:-4]

    Zip.unzip_file(APK_FOLDER, apkNameWithoutExt)
    shutil.rmtree(os.path.join(os.getcwd(), apkNameWithoutExt, "META-INF"))
    Zip.zip_dir(apkNameWithoutExt, os.path.join(os.getcwd(), apkNameWithoutExt+"_sign.zip"))
    shutil.move(apkNameWithoutExt+"_sign.zip", apkNameWithoutExt+"_sign.apk")
    shutil.rmtree(os.path.join(os.getcwd(), apkNameWithoutExt))

    @echo off
    title 批量压缩rar文件

    if EXIST tmp_t del tmp_t
    reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe" /v path>>tmp_t
    for /f "tokens=1,2,* skip=4 delims= " %%j in ('more tmp_t') do set WinRAR=%%l
    if EXIST tmp_t del tmp_t

    set dst = %1
    cd %1

    "%WinRAR%\rar" a -r %2

    EndLocal

  • 相关阅读:
    10年学到的编程经验总结
    高效阅读源代码指南
    一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10
    如何用git将项目代码上传到github
    关于[].slice.call(arguments, 1) 的思考
    前端笔试题(一)
    2017年第一波JavaScript前端面试题
    2017前端面试题之综合篇(1)
    2017前端面试题之Js篇(1)
    前后端分离后各自职责
  • 原文地址:https://www.cnblogs.com/dw729/p/3123322.html
Copyright © 2020-2023  润新知