Commit 4502120e authored by wanglei's avatar wanglei

...

parent e6cde5d5
...@@ -3,6 +3,7 @@ import json ...@@ -3,6 +3,7 @@ import json
import os import os
import re import re
def fetch_app_info(pkg): def fetch_app_info(pkg):
"""向指定 URL 发送请求并获取内容""" """向指定 URL 发送请求并获取内容"""
base_url = "http://data-api.zhangxinhulian.com/anonymous/getappinfoAndroid" base_url = "http://data-api.zhangxinhulian.com/anonymous/getappinfoAndroid"
...@@ -26,7 +27,8 @@ def fetch_app_info(pkg): ...@@ -26,7 +27,8 @@ def fetch_app_info(pkg):
"idMaxNative": "ID_MAX_NATIVE", "idMaxNative": "ID_MAX_NATIVE",
"idMaxOpen": "ID_MAX_OPEN", "idMaxOpen": "ID_MAX_OPEN",
"idMaxBanner": "ID_MAX_BANNER", "idMaxBanner": "ID_MAX_BANNER",
"idMaxReward": "ID_MAX_REWARD" "idMaxReward": "ID_MAX_REWARD",
# "idMaxReward": "ID_ADMOB_APPLICATION"
} }
try: try:
...@@ -39,7 +41,10 @@ def fetch_app_info(pkg): ...@@ -39,7 +41,10 @@ def fetch_app_info(pkg):
# 设置 packageName 为用户输入的 pkg # 设置 packageName 为用户输入的 pkg
app_data["packageName"] = pkg app_data["packageName"] = pkg
# 打印从服务器获取到的数据字段 # 将 null 转换为 ""
app_data = {key: (value if value is not None else "") for key, value in app_data.items()}
# 打印从服务器获取到的数据字段
print("从服务器获取到的数据字段值:") print("从服务器获取到的数据字段值:")
for key, value in app_data.items(): for key, value in app_data.items():
print(f"{key}: {value}") print(f"{key}: {value}")
...@@ -64,6 +69,7 @@ def fetch_app_info(pkg): ...@@ -64,6 +69,7 @@ def fetch_app_info(pkg):
except requests.RequestException as e: except requests.RequestException as e:
print(f"请求发生错误: {e}") print(f"请求发生错误: {e}")
def find_global_config(directory): def find_global_config(directory):
"""遍历目录查找 GlobalConfig.kt 文件""" """遍历目录查找 GlobalConfig.kt 文件"""
for root, dirs, files in os.walk(directory): for root, dirs, files in os.walk(directory):
...@@ -74,12 +80,21 @@ def find_global_config(directory): ...@@ -74,12 +80,21 @@ def find_global_config(directory):
print("未找到 GlobalConfig.kt 文件") print("未找到 GlobalConfig.kt 文件")
return None return None
def update_global_config(file_path, json_data): def update_global_config(file_path, json_data):
"""更新 GlobalConfig.kt 文件中的变量值""" """更新 GlobalConfig.kt 文件中的变量值"""
try: try:
with open(file_path, 'r', encoding='utf-8') as file: with open(file_path, 'r', encoding='utf-8') as file:
content = file.read() content = file.read()
# 获取 json_data 中的 adsApplicationId
ads_application_id = json_data.get("adsApplicationId")
if ads_application_id:
# 使用正则表达式查找并替换 ID_ADMOB_APPLICATION 的值
pattern = r'\binline\s+val\s+ID_ADMOB_APPLICATION\s+get\(\)\s*=\s*.*'
replacement = f'inline val ID_ADMOB_APPLICATION get() = "{ads_application_id}"'
content = re.sub(pattern, replacement, content)
# 遍历 JSON 数据中的每个变量名,并在 GlobalConfig.kt 中更新对应的值 # 遍历 JSON 数据中的每个变量名,并在 GlobalConfig.kt 中更新对应的值
for var_name, var_value in json_data.items(): for var_name, var_value in json_data.items():
# 替换 const val 的值 # 替换 const val 的值
...@@ -99,10 +114,6 @@ def update_global_config(file_path, json_data): ...@@ -99,10 +114,6 @@ def update_global_config(file_path, json_data):
except Exception as e: except Exception as e:
print(f"更新文件时发生错误: {e}") print(f"更新文件时发生错误: {e}")
import os
import json
def update_google_services(json_data): def update_google_services(json_data):
"""更新 google-services.json 文件内容""" """更新 google-services.json 文件内容"""
try: try:
...@@ -187,10 +198,10 @@ def update_build_gradle(json_data): ...@@ -187,10 +198,10 @@ def update_build_gradle(json_data):
replacement = f'applicationId = "{package_name}"' replacement = f'applicationId = "{package_name}"'
new_content = re.sub(pattern, replacement, content) new_content = re.sub(pattern, replacement, content)
else: # build.gradle else: # build.gradle
pattern = r'applicationId\s*\'[^\']+\'' #匹配单引号字符串 pattern = r'applicationId\s*\'[^\']+\'' # 匹配单引号字符串
replacement = f'applicationId \'{package_name}\'' replacement = f'applicationId \'{package_name}\''
new_content = re.sub(pattern, replacement, content) new_content = re.sub(pattern, replacement, content)
if new_content == content: #如果单引号没有匹配到则匹配双引号字符串 if new_content == content: # 如果单引号没有匹配到则匹配双引号字符串
pattern = r'applicationId\s*"[^"]+"' pattern = r'applicationId\s*"[^"]+"'
replacement = f'applicationId "{package_name}"' replacement = f'applicationId "{package_name}"'
new_content = re.sub(pattern, replacement, content) new_content = re.sub(pattern, replacement, content)
...@@ -212,7 +223,7 @@ def update_android_manifest(pkg): ...@@ -212,7 +223,7 @@ def update_android_manifest(pkg):
'''更新 AndroidManifest.xml 文件中的 Facebook App ID''' '''更新 AndroidManifest.xml 文件中的 Facebook App ID'''
try: try:
# 查找 AndroidManifest.xml 文件 # 查找 AndroidManifest.xml 文件
file_path = '.\\src\\main\\AndroidManifest.xml' file_path = os.path.join('.', 'src', 'main', 'AndroidManifest.xml')
if os.path.exists(file_path): if os.path.exists(file_path):
print(f"找到 AndroidManifest.xml 文件: {file_path}") print(f"找到 AndroidManifest.xml 文件: {file_path}")
...@@ -290,28 +301,28 @@ def update_android_manifest(pkg): ...@@ -290,28 +301,28 @@ def update_android_manifest(pkg):
else: else:
print("没有找到匹配的内容,文件未更改。") print("没有找到匹配的内容,文件未更改。")
# pattern = r""" # pattern = r"""
# android:permission="com.google.android.c2dm.permission.SEND"> # android:permission="com.google.android.c2dm.permission.SEND">
# <intent-filter>(.*?)<category android:name="\s*([^"]+)" # <intent-filter>(.*?)<category android:name="\s*([^"]+)"
# """ # """
# #
# replacement = f""" # replacement = f"""
# android:permission="com.google.android.c2dm.permission.SEND"> # android:permission="com.google.android.c2dm.permission.SEND">
# <intent-filter>\1 # <intent-filter>\1
# <category android:name="{PACKAGE_NAME}" # <category android:name="{PACKAGE_NAME}"
# """ # """
# #
# #pattern = r'android:permission="com.google.android.c2dm.permission.SEND">' # #pattern = r'android:permission="com.google.android.c2dm.permission.SEND">'
# #r'<intent-filter>' # #r'<intent-filter>'
# #r'<action android:name="com.google.firebase.MESSAGING_EVENT" />' # #r'<action android:name="com.google.firebase.MESSAGING_EVENT" />'
# #r'<action android:name="com.google.android.c2dm.intent.RECEIVE" />' # #r'<action android:name="com.google.android.c2dm.intent.RECEIVE" />'
# #
# #r'<category android:name\s*=\s*[^\s]+' # #r'<category android:name\s*=\s*[^\s]+'
# #replacement = f' android:permission="com.google.android.c2dm.permission.SEND">' # #replacement = f' android:permission="com.google.android.c2dm.permission.SEND">'
# #f'<intent-filter>' # #f'<intent-filter>'
# #f'<action android:name="com.google.firebase.MESSAGING_EVENT" />' # #f'<action android:name="com.google.firebase.MESSAGING_EVENT" />'
# #f'<action android:name="com.google.android.c2dm.intent.RECEIVE" /> android:name = "{PACKAGE_NAME}"' # #f'<action android:name="com.google.android.c2dm.intent.RECEIVE" /> android:name = "{PACKAGE_NAME}"'
# new_content = re.sub(pattern, replacement, content) # new_content = re.sub(pattern, replacement, content)
# 写入更新后的内容 # 写入更新后的内容
with open(file_path, "w", encoding="utf-8") as file: with open(file_path, "w", encoding="utf-8") as file:
...@@ -327,15 +338,16 @@ def update_android_manifest(pkg): ...@@ -327,15 +338,16 @@ def update_android_manifest(pkg):
except Exception as e: except Exception as e:
print(f"更新 AndroidManifest.xml 文件时发生错误: {e}") print(f"更新 AndroidManifest.xml 文件时发生错误: {e}")
if __name__ == "__main__": if __name__ == "__main__":
pkg_input = input("请输入 pkg 的值:") pkg_input = input("请输入 pkg 的值:")
if pkg_input.strip(): if pkg_input.strip():
fetch_app_info(pkg_input.strip()) fetch_app_info(pkg_input.strip())
# 查找 GlobalConfig.kt 文件 # 查找 GlobalConfig.kt 文件
java_src_dir = os.path.join(os.getcwd(), "src", "main", "java") java_src_dir = os.path.join(os.getcwd(), "src", "main", "java")
global_config_path = find_global_config(java_src_dir) global_config_path = find_global_config(java_src_dir)
# 读取 applicationid.json 文件并获取数据 # 读取 applicationid.json 文件并获取数据
if global_config_path and os.path.exists("applicationid.json"): if global_config_path and os.path.exists("applicationid.json"):
with open("applicationid.json", "r", encoding="utf-8") as file: with open("applicationid.json", "r", encoding="utf-8") as file:
...@@ -352,6 +364,6 @@ if __name__ == "__main__": ...@@ -352,6 +364,6 @@ if __name__ == "__main__":
# 更新 AndroidManifest.xml # 更新 AndroidManifest.xml
update_android_manifest(json_data["PACKAGE_NAME"]) update_android_manifest(json_data["PACKAGE_NAME"])
else: else:
print("pkg 不能为空!") print("pkg 不能为空!")
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment