script.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. import gw_file_system
  12. def script_pre(SDK, decompileDir, channelSdkInfo, new_game_channel_info, gameInfo):
  13. return
  14. def script_last(workspace_sdk_dir, extract_dir, channel_sdk_info, new_game_channel_info, game_info):
  15. sdk_id = channel_sdk_info['id']
  16. if sdk_id == "549":
  17. s1 = os.path.join(extract_dir, "smali_classes2/com")
  18. smali_classes2_dir = create_mutil_smali(extract_dir)
  19. s3 = os.path.join(smali_classes2_dir, "com")
  20. list_package = ["mcs", "mobile", "sqwan", "sy37", "sy37sdk", "twobigears", "xiaomi"]
  21. if not os.path.exists(s3):
  22. distutils.dir_util.mkpath(s3)
  23. move_package(s1, s3, list_package)
  24. def move_package(s1, s3, list_package):
  25. for d in list_package:
  26. src = os.path.join(s1, d)
  27. if os.path.exists(src):
  28. dst = os.path.join(s3, d)
  29. distutils.dir_util.copy_tree(src, dst)
  30. distutils.dir_util.remove_tree(src)
  31. def create_mutil_smali(decompileDir):
  32. f_idx = 2
  33. while True:
  34. tmp = gw_file_system.get_full_path(os.path.join(decompileDir, 'smali_classes%d' % f_idx))
  35. tmp = tmp.replace('\\', '/')
  36. tmp = re.sub('/+', '/', tmp)
  37. if os.path.exists(tmp):
  38. files = os.listdir(tmp)
  39. if len(files) == 0:
  40. smali_classes2_dir = tmp
  41. break
  42. f_idx += 1
  43. else:
  44. smali_classes2_dir = tmp
  45. break
  46. # endwhile
  47. if not os.path.exists(smali_classes2_dir):
  48. os.mkdir(smali_classes2_dir)
  49. return smali_classes2_dir
  50. if __name__ == '__main__':
  51. script_pre("", "f:\\ztest", "", "", "")