script.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. # coding:utf8
  2. __author__ = 'dong'
  3. import os
  4. import logging
  5. import xml.dom.minidom
  6. import re
  7. import shutil
  8. import glob
  9. from xml.etree.ElementTree import ElementTree, Element
  10. import distutils.dir_util
  11. from xml.etree import ElementTree as ET
  12. def script_pre(SDK, decompileDir, channelSdkInfo, new_game_channel_info, gameInfo):
  13. # s3 = decompileDir + "/smali_classes3"
  14. s1 = os.path.join(decompileDir, "smali", "com")
  15. s3 = os.path.join(decompileDir, "smali_classes3", "com")
  16. # distutils.dir_util.copy_tree(src, assets)
  17. list = ["alibaba", "coolcloud", "huawei", "taobao", "xiaomi"]
  18. if not os.path.exists(s3):
  19. distutils.dir_util.mkpath(s3)
  20. # os.mkdir(s3)
  21. for d in list:
  22. src = os.path.join(s1, d)
  23. if os.path.exists(src):
  24. dst = os.path.join(s3, d)
  25. # shutil.copy(src, dst)
  26. distutils.dir_util.copy_tree(src, dst)
  27. distutils.dir_util.remove_tree(src)
  28. arm64 = os.path.join(decompileDir, "lib", "arm64-v8a")
  29. if os.path.exists(arm64):
  30. distutils.dir_util.remove_tree(arm64)
  31. logging.info("-----debug-----")
  32. if channelSdkInfo['id'] == "345":
  33. # loading_png9 = os.path.join(SDK, "100qu/ForRes/drawable-hdpi/loading_bg.9.png")
  34. loading_png9 = os.path.join(decompileDir, "res/drawable-hdpi/loading_bg.png")
  35. remove_source(loading_png9)
  36. # sdk_public = os.path.join(SDK, "100qu/ForRes/values/public.xml")
  37. # modify_xml(sdk_public, "loading_bg")
  38. def remove_source(path_source):
  39. logging.info(path_source)
  40. if not os.path.exists(path_source):
  41. logging.info("path_source_not_exits")
  42. return
  43. os.remove(path_source)
  44. def modify_xml(path_xml, name_xml):
  45. root_node = ET.parse(path_xml)
  46. root = root_node.getroot()
  47. name = 'name'
  48. providers = root.findall("./public/[@name='loading_bg']")
  49. if providers is not None:
  50. for provider in providers:
  51. # 使用try 主要是为了 防止此属性不在时,导致的错误,而程序终止
  52. try:
  53. root.remove(provider)
  54. except:
  55. ""
  56. root_node.write(path_xml, 'utf-8')
  57. if __name__ == '__main__':
  58. # script_pre("", "f:\\ztest", "", "", "")
  59. modify_xml("G:\\autopack2.0_kuaifa\\tool\\config\\sdk4\\public.xml", "loading_bg")