mirror of
https://github.com/Radiquum/anixart-patcher.git
synced 2025-09-07 19:53:50 +05:00
feat: read apk name when --sign arg is provided from apktool.yml
This commit is contained in:
parent
6981ae7d84
commit
8269d0d5b6
2 changed files with 28 additions and 23 deletions
48
main.py
48
main.py
|
@ -2,18 +2,19 @@ from scripts.download_tools import check_and_download_all_tools
|
||||||
from scripts.select_apk import get_apks, select_apk
|
from scripts.select_apk import get_apks, select_apk
|
||||||
from scripts.select_patches import apply_patches, get_patches, select_patches
|
from scripts.select_patches import apply_patches, get_patches, select_patches
|
||||||
from scripts.utils import check_java_version, compile_apk, decompile_apk, sign_apk
|
from scripts.utils import check_java_version, compile_apk, decompile_apk, sign_apk
|
||||||
from config import log, console
|
from config import config, log, console
|
||||||
|
|
||||||
from time import time
|
from time import time
|
||||||
import math
|
import math
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
parser = argparse.ArgumentParser(prog='anixart patcher')
|
import yaml
|
||||||
parser.add_argument("--no-decompile", action='store_true')
|
|
||||||
parser.add_argument("--no-compile", action='store_true')
|
|
||||||
|
|
||||||
parser.add_argument("--patch", action='store_true')
|
|
||||||
parser.add_argument("--sign", action='store_true')
|
parser = argparse.ArgumentParser(prog="anixart patcher")
|
||||||
|
parser.add_argument("--no-decompile", action="store_true")
|
||||||
|
parser.add_argument("--no-compile", action="store_true")
|
||||||
|
parser.add_argument("--patch", action="store_true")
|
||||||
|
parser.add_argument("--sign", action="store_true")
|
||||||
|
|
||||||
|
|
||||||
def patch():
|
def patch():
|
||||||
|
@ -30,51 +31,54 @@ def patch():
|
||||||
else:
|
else:
|
||||||
console.print(f"{status['name']}: ✘", style="bold red")
|
console.print(f"{status['name']}: ✘", style="bold red")
|
||||||
statuses_err.append(status["name"])
|
statuses_err.append(status["name"])
|
||||||
|
|
||||||
return patches, statuses_ok, statuses_err
|
return patches, statuses_ok, statuses_err
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
check_and_download_all_tools()
|
check_and_download_all_tools()
|
||||||
check_java_version()
|
check_java_version()
|
||||||
|
|
||||||
if not args.patch:
|
if not args.patch and not args.sign:
|
||||||
apks = get_apks()
|
apks = get_apks()
|
||||||
if not apks:
|
if not apks:
|
||||||
log.fatal(f"apks folder is empty")
|
log.fatal(f"apks folder is empty")
|
||||||
exit(1)
|
exit(1)
|
||||||
apk = select_apk(apks)
|
apk = select_apk(apks)
|
||||||
if not apk:
|
if not apk:
|
||||||
log.info('cancelled')
|
log.info("cancelled")
|
||||||
exit(0)
|
exit(0)
|
||||||
else:
|
elif args.patch:
|
||||||
patch()
|
patch()
|
||||||
exit(0)
|
exit(0)
|
||||||
|
elif args.sign:
|
||||||
if args.sign:
|
apkFileName = None
|
||||||
sign_apk(f"{apk.removesuffix('.apk')}-patched.apk")
|
with open(
|
||||||
|
f"{config["folders"]["decompiled"]}/apktool.yml", "r", encoding="utf-8"
|
||||||
|
) as f:
|
||||||
|
data = yaml.load(f.read(), Loader=yaml.Loader)
|
||||||
|
apkFileName = data.get("apkFileName", None)
|
||||||
|
if not apkFileName:
|
||||||
|
log.fatal(
|
||||||
|
f"can't find apk file name in {config['folders']['decompiled']}/apktool.yml"
|
||||||
|
)
|
||||||
|
exit(1)
|
||||||
|
sign_apk(f"{apkFileName.removesuffix('.apk')}-patched.apk")
|
||||||
exit(0)
|
exit(0)
|
||||||
|
|
||||||
start_time = time()
|
start_time = time()
|
||||||
|
|
||||||
if not args.no_decompile:
|
if not args.no_decompile:
|
||||||
decompile_apk(apk)
|
decompile_apk(apk)
|
||||||
|
|
||||||
patches, statuses_ok, statuses_err = patch()
|
patches, statuses_ok, statuses_err = patch()
|
||||||
|
|
||||||
if not args.no_compile:
|
if not args.no_compile:
|
||||||
compile_apk(f"{apk.removesuffix(".apk")}-patched.apk")
|
compile_apk(f"{apk.removesuffix(".apk")}-patched.apk")
|
||||||
|
|
||||||
end_time = time()
|
end_time = time()
|
||||||
|
|
||||||
if not args.no_compile:
|
if not args.no_compile:
|
||||||
sign_apk(f"{apk.removesuffix(".apk")}-patched.apk")
|
sign_apk(f"{apk.removesuffix(".apk")}-patched.apk")
|
||||||
|
|
||||||
|
|
||||||
log.info("Finished")
|
log.info("Finished")
|
||||||
log.info(f"install this apk file: {apk.removesuffix(".apk")}-patched-aligned-signed.apk")
|
log.info(f"install this apk file: `{config["folders"]["dist"]}/{apk.removesuffix(".apk")}-patched-aligned-signed.apk`")
|
||||||
log.info(f"used and successful patches: {", ".join(statuses_ok)}")
|
log.info(f"used and successful patches: {", ".join(statuses_ok)}")
|
||||||
log.info(f"used and unsuccessful patches: {", ".join(statuses_err)}")
|
log.info(f"used and unsuccessful patches: {", ".join(statuses_err)}")
|
||||||
log.info(f"time taken: {math.floor(end_time - start_time)}s")
|
log.info(f"time taken: {math.floor(end_time - start_time)}s")
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
requests
|
requests
|
||||||
lxml
|
lxml
|
||||||
rich
|
rich
|
||||||
beaupy
|
beaupy
|
||||||
|
pyyaml
|
Loading…
Add table
Add a link
Reference in a new issue