script.py 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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. import gw_file_system
  13. import gw_data_center
  14. ANDROID_NS = 'http://schemas.android.com/apk/res/android'
  15. def script_init(workspace_sdk_dir, extract_dir, channel_sdk_info, new_game_channel_info, game_info):
  16. # gw_data_center.pack_small=True
  17. return
  18. def script_second(workspace_sdk_dir, extract_dir, channel_sdk_info, new_game_channel_info, game_info):
  19. list_dpi = ["drawable-mdpi", "drawable-hdpi", "drawable-xhdpi","drawable-xxhdpi","drawable-xxxhdpi"]
  20. list_png = [
  21. "abc_ab_share_pack_mtrl_alpha", "abc_btn_switch_to_on_mtrl_00001", "abc_btn_switch_to_on_mtrl_00012",
  22. "abc_cab_background_top_mtrl_alpha", "abc_list_divider_mtrl_alpha", "abc_list_focused_holo",
  23. "abc_list_longpressed_holo",
  24. "abc_list_pressed_holo_dark", "abc_list_pressed_holo_light", "abc_list_selector_disabled_holo_dark",
  25. "abc_list_selector_disabled_holo_light",
  26. "abc_menu_hardkey_panel_mtrl_mult", "abc_popup_background_mtrl_mult", "abc_scrubber_primary_mtrl_alpha",
  27. "abc_scrubber_track_mtrl_alpha",
  28. "abc_spinner_mtrl_am_alpha", "abc_switch_track_mtrl_alpha", "abc_tab_indicator_mtrl_alpha",
  29. "abc_textfield_activated_mtrl_alpha",
  30. "abc_textfield_default_mtrl_alpha", "abc_textfield_search_activated_mtrl_alpha",
  31. "abc_textfield_search_default_mtrl_alpha",
  32. ]
  33. list_xml=[
  34. "abc_edit_text_material","abc_item_background_holo_dark","abc_item_background_holo_light","abc_list_selector_background_transition_holo_dark",
  35. "abc_list_selector_background_transition_holo_light","abc_list_selector_holo_dark","abc_list_selector_holo_light","abc_seekbar_track_material",
  36. "abc_spinner_textfield_background_material","abc_switch_thumb_material","abc_tab_indicator_material","abc_textfield_search_material",
  37. ]
  38. list_style=["listChoiceBackgroundIndicator","editTextBackground","selectableItemBackground"]
  39. public_path = os.path.join(extract_dir, "../sdk/smallsheep/ForRes/values/public.xml")
  40. style_path = os.path.join(extract_dir, "../sdk/smallsheep/ForRes/values/styles.xml")
  41. for png in list_png:
  42. for dpi in list_dpi:
  43. png_path = os.path.join(extract_dir, "../sdk/smallsheep/ForRes", dpi, png+".9.png")
  44. logging.info(png_path)
  45. if os.path.exists(png_path):
  46. os.remove(png_path)
  47. handle_public_xml(public_path, png)
  48. handle_public_xml(style_path, png)
  49. for xml in list_xml:
  50. xml_path=os.path.join(extract_dir,"../sdk/smallsheep/ForRes/drawable",xml+".xml")
  51. logging.info(xml_path)
  52. if os.path.exists(xml_path):
  53. os.remove(xml_path)
  54. handle_public_xml(public_path, xml)
  55. handle_public_xml(style_path,xml)
  56. for style in list_style:
  57. handle_public_xml(style_path,style)
  58. def handle_public_xml(public_xml_path, remove_node):
  59. if not os.path.exists(public_xml_path):
  60. logging.info('public_xml is null: ' + public_xml_path)
  61. return
  62. new_lines = []
  63. with open(public_xml_path, 'r+') as f:
  64. for line in f.readlines():
  65. # l = line.strip()
  66. if line.find(remove_node) > -1:
  67. continue
  68. new_lines.append(line)
  69. f.seek(0)
  70. f.truncate()
  71. f.writelines(new_lines)
  72. return
  73. def script(SDK, decompileDir, channelSdkInfo, new_game_channel_info, gameInfo):
  74. logging.info("-----debug-----")
  75. def script_last(SDK, decompileDir, channelSdkInfo, new_game_channel_info, gameInfo):
  76. return
  77. if __name__ == '__main__':
  78. # replace_super_application("D:\work\wzdq")
  79. ""