forked from anixart-mod/patcher
102 lines
3.5 KiB
Python
102 lines
3.5 KiB
Python
"""Change package name of apk"""
|
|
priority = -1
|
|
|
|
import os
|
|
from lxml import etree
|
|
|
|
|
|
def rename_dir(src, dst):
|
|
os.makedirs(os.path.dirname(dst), exist_ok=True)
|
|
os.rename(src, dst)
|
|
|
|
|
|
def apply(config: dict) -> bool:
|
|
for root, dirs, files in os.walk("./decompiled"):
|
|
for filename in files:
|
|
file_path = os.path.join(root, filename)
|
|
|
|
if os.path.isfile(file_path):
|
|
try:
|
|
with open(file_path, "r", encoding="utf-8") as file:
|
|
file_contents = file.read()
|
|
|
|
new_contents = file_contents.replace(
|
|
"com.swiftsoft.anixartd", config["new_package_name"]
|
|
)
|
|
new_contents = new_contents.replace(
|
|
"com/swiftsoft/anixartd",
|
|
config["new_package_name"].replace(".", "/"),
|
|
)
|
|
with open(file_path, "w", encoding="utf-8") as file:
|
|
file.write(new_contents)
|
|
except:
|
|
pass
|
|
|
|
if os.path.exists("./decompiled/smali/com/swiftsoft/anixartd"):
|
|
rename_dir(
|
|
"./decompiled/smali/com/swiftsoft/anixartd",
|
|
os.path.join(
|
|
"./decompiled", "smali", config["new_package_name"].replace(".", "/")
|
|
),
|
|
)
|
|
if os.path.exists("./decompiled/smali_classes2/com/swiftsoft/anixartd"):
|
|
rename_dir(
|
|
"./decompiled/smali_classes2/com/swiftsoft/anixartd",
|
|
os.path.join(
|
|
"./decompiled",
|
|
"smali_classes2",
|
|
config["new_package_name"].replace(".", "/"),
|
|
),
|
|
)
|
|
if os.path.exists("./decompiled/smali_classes4/com/swiftsoft"):
|
|
rename_dir(
|
|
"./decompiled/smali_classes4/com/swiftsoft",
|
|
os.path.join(
|
|
"./decompiled",
|
|
"smali_classes4",
|
|
"/".join(config["new_package_name"].split(".")[:-1]),
|
|
),
|
|
)
|
|
|
|
# rename_dir(
|
|
# "./decompiled/smali_classes3/com/swiftsoft/anixartd",
|
|
# os.path.join(
|
|
# "./decompiled",
|
|
# "smali_classes3",
|
|
# config["new_package_name"].replace(".", "/"),
|
|
# ),
|
|
# )
|
|
|
|
for root, dirs, files in os.walk("./decompiled/smali_classes4/"):
|
|
for filename in files:
|
|
file_path = os.path.join(root, filename)
|
|
|
|
if os.path.isfile(file_path):
|
|
try:
|
|
with open(file_path, "r", encoding="utf-8") as file:
|
|
file_contents = file.read()
|
|
|
|
new_contents = file_contents.replace(
|
|
"com/swiftsoft",
|
|
"/".join(config["new_package_name"].split(".")[:-1]),
|
|
)
|
|
with open(file_path, "w", encoding="utf-8") as file:
|
|
file.write(new_contents)
|
|
except:
|
|
pass
|
|
|
|
file_path = "./decompiled/res/layout/fragment_sign_in.xml"
|
|
parser = etree.XMLParser(remove_blank_text=True)
|
|
tree = etree.parse(file_path, parser)
|
|
root = tree.getroot()
|
|
|
|
last_linear = root.xpath("//LinearLayout/LinearLayout[4]")[0]
|
|
last_linear.set(f"{{{config['xml_ns']['android']}}}visibility", "gone")
|
|
|
|
tree.write(file_path, pretty_print=True, xml_declaration=True, encoding="utf-8")
|
|
|
|
return True
|
|
|
|
|
|
# smali_classes2/com/wowlikon/anixart/utils/DeviceInfoUtil.smali: const-string v3, "\u0411\u0430\u0433-\u0440\u0435\u043f\u043e\u0440\u0442 9.0 BETA 5 (25062213)"
|