赞
踩
ApkTool.py 是一个 APK 文件处理脚本 , 主要针对 APK 文件进行各种处理 , 如文件分析 ;
该脚本需要使用 apktool.jar 和 aapt.exe 工具 , 将这两个文件放在 ApkTool.py 同级目录中 ;
完整运行环境参考 https://github.com/han1202012/APK ;
ApkTool.py 脚本内容 :
# coding=utf-8 import os import sys import argparse from subprocess import Popen, PIPE import sys reload(sys) sys.setdefaultencoding('utf8') class ApkTool: def __init__(self, keystore=None, password=None, alias=None): if sys.platform == 'win32': self.file_separator = '\\' else: self.file_separator = '/' path = '' if hasattr(sys, '_MEIPASS'): path = sys._MEIPASS + self.file_separator self.apktooljar = path + 'apktool.jar' self.aapt = path + 'aapt.exe' self.objdump_x86 = path + 'objdump_x86.exe' self.objdump_arm = path + 'objdump_arm.exe' if keystore is None: self.keystore = path + 'mykey-123456.keystore' else: self.keystore = keystore if password is None: self.password = '123456' else: self.password = password if alias is None: self.alias = 'mykey' else: self.alias = alias self.cur_apk = {} return def unpack(self, apk, path): cmd = 'java -jar ' + self.apktooljar + (' d -f -o %s %s' % (path, apk)) os.system(cmd) return def pack(self, path, apk): cmd = 'java -jar ' + self.apktooljar + (' b %s -o %s' % (path, apk)) os.system(cmd) return def sign(self, apk, signed_apk): path, file = os.path.split(signed_apk) if os.path.exists(path) is False: os.makedirs(path) keystore = ' -keystore %s -storepass %s' % (self.keystore, self.password) signedjar = ' -signedjar %s %s -digestalg SHA1 -sigalg MD5withRSA %s' % (signed_apk, apk, self.alias) cmd = 'jarsigner -verbose ' + keystore + signedjar print(cmd) os.system(cmd) def get_apk_label(self, apk_path): pipe = Popen([self.aapt, 'dump', 'badging', apk_path], stdout=PIPE) if pipe is not None: while True: line = pipe.stdout.readline() line = line.decode('utf-8') if len(line) == 0: break pos = line.find('application-label:') if pos != -1: return line[pos + 19:len(line) - 3] # \r\n占了2个,加上单引号一共3个字符 return '' def get_apk_package_name(self, apk): pipe = Popen([self.aapt, 'dump', 'badging', apk], stdout=PIPE) if pipe is not None: while True: line = pipe.stdout.readline() line = line.decode('utf-8') if len(line) == 0: break pos = line.find('package:') if pos != -1: return line[pos + 8:len(line) - 2] # \r\n占了2个,加上单引号一共3个字符 return '' def get_game_engine(libpath, file_separator): data = { 'libcocos2dcpp.so': 'cocos引擎 cpp', 'libcocos2dlua.so': 'cocos引擎 lua', 'libcocos2djs.so': 'cocos引擎 javascipt', 'libunity.so': 'unity3D引擎', 'libgdx.so': 'libgdx引擎' } dir = ['armeabi-v7a', 'armeabi', 'x86'] for d in dir: lib = libpath + d + file_separator for f in data.keys(): if os.path.exists(lib + f): return data[f] return '未知引擎' def analyse(apk, tool): path, file = os.path.split(apk) if len(path) == 0: path = '.' out_name = file[:-4] out_txt = out_name + '.txt' f_out = open(out_txt, 'w+') line = '文件名称:%s\n' % apk f_out.write(line) line = '应用名称:%s\n' % tool.get_apk_label(apk) f_out.write(line) line = '应用信息:%s\n' % tool.get_apk_package_name(apk) f_out.write(line) unpack_path = path + tool.file_separator + 'unpack' + tool.file_separator + out_name if os.path.exists(unpack_path) is False: os.makedirs(unpack_path) repack_path = path + tool.file_separator + 'repack' + tool.file_separator + out_name + '.apk' if os.path.exists(path + tool.file_separator + 'repack') is False: os.makedirs(path + tool.file_separator + 'repack') sign_path = path + tool.file_separator + 'sign' + tool.file_separator + out_name + '.apk' if os.path.exists(path + tool.file_separator + 'sign') is False: os.makedirs(path + tool.file_separator + 'sign') if os.path.exists(unpack_path + tool.file_separator + 'lib') is False: tool.unpack(apk, unpack_path) if os.path.exists(repack_path) is False: tool.pack(unpack_path, repack_path) if os.path.exists(sign_path) is False: tool.sign(repack_path, sign_path) if os.path.exists(repack_path) is False: line = '打包检测:重打包失败,无法重打包\n' else: line = '打包检测:重打包成功\n' is_repack_ok = True f_out.write(line) if os.path.exists(sign_path) is False: line = '签名检测:重签名失败,无法重签名\n' else: line = '签名检测:重签名成功\n' f_out.write(line) libpath = unpack_path + tool.file_separator libpath += 'lib' + tool.file_separator line = '引擎检测:%s\n' % get_game_engine(libpath, tool.file_separator) f_out.write(line) f_out.write( '----------------------------------------------------------------------------------------------------------------------------------\n') f_out.close() pass def main(): parser = argparse.ArgumentParser(prog=sys.argv[0], usage='%(prog)s [options]') help = """help 或者 -h 显示本帮助文档 """ parser.add_argument('-help', help=help, action='store_const', const='help') parser.add_argument('-keystore', nargs='?', help='指定签名文件,默认mykey-123456.keystore') parser.add_argument('-passwd', nargs='?', help='指定签名密码,默认123456') parser.add_argument('-alias', nargs='?', help='指定签名别名,默认mykey') parser.add_argument('-label', help='获取包名', action='store_const', const='label') parser.add_argument('-unpack', help='解包文件', action='store_const', const='unpack') parser.add_argument('-pack', help='打包文件', action='store_const', const='pack') parser.add_argument('-sign', help='签名文件', action='store_const', const='sign') parser.add_argument('-analyse', help='分析包', action='store_const', const='analyse') parser.add_argument('-inapk', nargs='?', help='指定输入apk路径') parser.add_argument('-outapk', nargs='?', help='指定输出apk路径') parser.add_argument('-outpath', nargs='?', help='指定输出目录') parser.add_argument('-inpath', nargs='?', help='指定输入目录') args = parser.parse_args() if args.help is not None: parser.print_help() return attrs = ['keystore', 'passwd', 'alias', 'inapk', 'outapk', 'inpath', 'outpath', 'help'] value_map = {} for attr in attrs: value_map[attr] = getattr(args, attr, None) tool = ApkTool(value_map['keystore'], value_map['passwd'], value_map['alias']) if args.unpack is not None: # -unpack -inapk D:\bamenGame\测试游戏\17.12.18jhzd.apk -outpath D:\bamenGame\测试游戏\out\17.12.18jhzd if value_map['inapk'] is None: print('需要指定输入apk路径') return if value_map['outpath'] is None: print('需要指定输出目录') return tool.unpack(value_map['inapk'], value_map['outpath']) return if args.pack is not None: # -pack -outapk D:\bamenGame\测试游戏\repack\17.12.18jhzd.apk -inpath D:\bamenGame\测试游戏\out\17.12.18jhzd if value_map['inpath'] is None: print('需要指定输入目录') return if value_map['outapk'] is None: print('需要指定输出包路径') return tool.pack(value_map['inpath'], value_map['outapk']) return if args.sign is not None: # -sign -inapk D:\bamenGame\测试游戏\repack\17.12.18jhzd.apk -outapk D:\bamenGame\测试游戏\sign\17.12.18jhzd.apk if value_map['inapk'] is None: print('需要指定输入目录') return if value_map['outapk'] is None: print('需要指定输出包路径') return tool.sign(value_map['inapk'], value_map['outapk']) return if args.label is not None: if value_map['inapk'] is None: print('需要指定输入游戏包') return print(tool.get_apk_label(value_map['inapk'])) return if args.analyse is not None: if value_map['inapk'] is None: print('需要指定输入游戏包,现在分析当前目录下所有的apk文件') for file in os.listdir(os.curdir): if os.path.isdir(file): continue if os.path.splitext(file)[1] == '.apk': analyse(file, tool) return analyse(value_map['inapk'], tool) return parser.print_help() if __name__ == '__main__': main()
执行如下命令 , 分析 apk 文件 ;
python ApkTool.py -analyse -inapk apk/app-debug.apk
分析结果会放在 ApkTool.py 脚本所在目录的 app-debug.txt 文件中 , app-debug 是 apk 文件的名称 , 后缀改为 txt ;
分析完毕的内容如下 :
文件名称:apk/app-debug.apk
应用名称:EventBus_Demo
应用信息: name='com.eventbus_demo' versionCode='1' versionName='1.0' platformBuildVersionName=''
打包检测:重打包成功
签名检测:重签名成功
引擎检测:未知引擎
----------------------------------------------------------------------------------------------------------------------------------
如果文件比较多的话 , 通宵跑程序 ;
如果应用做了加固处理 , 是无法进行重打包的 ;
执行输出内容 :
Microsoft Windows [版本 10.0.19041.1237] (c) Microsoft Corporation。保留所有权利。 D:\002_Project\011_Python\APK>python -V Python 2.7.18 D:\002_Project\011_Python\APK>python ApkTool.py -analyse -inapk apk/app-debug.apk I: Using Apktool 2.3.3 on app-debug.apk I: Loading resource table... I: Decoding AndroidManifest.xml with resources... S: WARNING: Could not write to (C:\Users\octop\AppData\Local\apktool\framework), using C:\Users\octop\AppData\Local\Temp\ instead... S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable I: Loading resource table from file: C:\Users\octop\AppData\Local\Temp\1.apk I: Regular manifest package... I: Decoding file-resources... I: Decoding values */* XMLs... I: Baksmaling classes.dex... I: Copying assets and libs... I: Copying unknown files... I: Copying original files... I: Using Apktool 2.3.3 I: Checking whether sources has changed... I: Smaling smali folder into classes.dex... I: Checking whether resources has changed... I: Building resources... S: WARNING: Could not write to (C:\Users\octop\AppData\Local\apktool\framework), using C:\Users\octop\AppData\Local\Temp\ instead... S: Please be aware this is a volatile directory and frameworks could go missing, please utilize --frame-path if the default storage directory is unavailable I: Building apk file... I: Copying unknown files/dir... I: Built apk... jarsigner -verbose -keystore mykey-123456.keystore -storepass 123456 -signedjar apk\sign\app-debug.apk apk\repack\app-debug.apk -digestalg SHA1 -sigalg MD5withRSA mykey 正在添加: META-INF/MANIFEST.MF 正在添加: META-INF/MYKEY.SF 正在添加: META-INF/MYKEY.RSA 正在签名: AndroidManifest.xml 正在签名: classes.dex 正在签名: res/anim/abc_fade_in.xml 正在签名: res/anim/abc_fade_out.xml 正在签名: res/anim/abc_grow_fade_in_from_bottom.xml 正在签名: res/anim/abc_popup_enter.xml 正在签名: res/anim/abc_popup_exit.xml 正在签名: res/anim/abc_shrink_fade_out_from_bottom.xml 正在签名: res/anim/abc_slide_in_bottom.xml 正在签名: res/anim/abc_slide_in_top.xml 正在签名: res/anim/abc_slide_out_bottom.xml 正在签名: res/anim/abc_slide_out_top.xml 正在签名: res/anim/abc_tooltip_enter.xml 正在签名: res/anim/abc_tooltip_exit.xml 正在签名: res/anim/btn_checkbox_to_checked_box_inner_merged_animation.xml 正在签名: res/anim/btn_checkbox_to_checked_box_outer_merged_animation.xml 正在签名: res/anim/btn_checkbox_to_checked_icon_null_animation.xml 正在签名: res/anim/btn_checkbox_to_unchecked_box_inner_merged_animation.xml 正在签名: res/anim/btn_checkbox_to_unchecked_check_path_merged_animation.xml 正在签名: res/anim/btn_checkbox_to_unchecked_icon_null_animation.xml 正在签名: res/anim/btn_radio_to_off_mtrl_dot_group_animation.xml 正在签名: res/anim/btn_radio_to_off_mtrl_ring_outer_animation.xml 正在签名: res/anim/btn_radio_to_off_mtrl_ring_outer_path_animation.xml 正在签名: res/anim/btn_radio_to_on_mtrl_dot_group_animation.xml 正在签名: res/anim/btn_radio_to_on_mtrl_ring_outer_animation.xml 正在签名: res/anim/btn_radio_to_on_mtrl_ring_outer_path_animation.xml 正在签名: res/anim/design_bottom_sheet_slide_in.xml 正在签名: res/anim/design_bottom_sheet_slide_out.xml 正在签名: res/anim/design_snackbar_in.xml 正在签名: res/anim/design_snackbar_out.xml 正在签名: res/anim/fragment_fast_out_extra_slow_in.xml 正在签名: res/anim/mtrl_bottom_sheet_slide_in.xml 正在签名: res/anim/mtrl_bottom_sheet_slide_out.xml 正在签名: res/anim/mtrl_card_lowers_interpolator.xml 正在签名: res/anim-v21/design_bottom_sheet_slide_in.xml 正在签名: res/anim-v21/design_bottom_sheet_slide_out.xml 正在签名: res/anim-v21/fragment_fast_out_extra_slow_in.xml 正在签名: res/anim-v21/mtrl_bottom_sheet_slide_in.xml 正在签名: res/anim-v21/mtrl_bottom_sheet_slide_out.xml 正在签名: res/animator/design_fab_hide_motion_spec.xml 正在签名: res/animator/design_fab_show_motion_spec.xml 正在签名: res/animator/fragment_close_enter.xml 正在签名: res/animator/fragment_close_exit.xml 正在签名: res/animator/fragment_fade_enter.xml 正在签名: res/animator/fragment_fade_exit.xml 正在签名: res/animator/fragment_open_enter.xml 正在签名: res/animator/fragment_open_exit.xml 正在签名: res/animator/linear_indeterminate_line1_head_interpolator.xml 正在签名: res/animator/linear_indeterminate_line1_tail_interpolator.xml 正在签名: res/animator/linear_indeterminate_line2_head_interpolator.xml 正在签名: res/animator/linear_indeterminate_line2_tail_interpolator.xml 正在签名: res/animator/mtrl_btn_state_list_anim.xml 正在签名: res/animator/mtrl_btn_unelevated_state_list_anim.xml 正在签名: res/animator/mtrl_card_state_list_anim.xml 正在签名: res/animator/mtrl_chip_state_list_anim.xml 正在签名: res/animator/mtrl_extended_fab_change_size_collapse_motion_spec.xml 正在签名: res/animator/mtrl_extended_fab_change_size_expand_motion_spec.xml 正在签名: res/animator/mtrl_extended_fab_hide_motion_spec.xml 正在签名: res/animator/mtrl_extended_fab_show_motion_spec.xml 正在签名: res/animator/mtrl_extended_fab_state_list_animator.xml 正在签名: res/animator/mtrl_fab_hide_motion_spec.xml 正在签名: res/animator/mtrl_fab_show_motion_spec.xml 正在签名: res/animator/mtrl_fab_transformation_sheet_collapse_spec.xml 正在签名: res/animator/mtrl_fab_transformation_sheet_expand_spec.xml 正在签名: res/animator-v19/mtrl_btn_state_list_anim.xml 正在签名: res/animator-v19/mtrl_card_state_list_anim.xml 正在签名: res/animator-v21/design_appbar_state_list_animator.xml 正在签名: res/color/abc_background_cache_hint_selector_material_dark.xml 正在签名: res/color/abc_background_cache_hint_selector_material_light.xml 正在签名: res/color/abc_btn_colored_borderless_text_material.xml 正在签名: res/color/abc_btn_colored_text_material.xml 正在签名: res/color/abc_hint_foreground_material_dark.xml 正在签名: res/color/abc_hint_foreground_material_light.xml 正在签名: res/color/abc_primary_text_disable_only_material_dark.xml 正在签名: res/color/abc_primary_text_disable_only_material_light.xml 正在签名: res/color/abc_primary_text_material_dark.xml 正在签名: res/color/abc_primary_text_material_light.xml 正在签名: res/color/abc_search_url_text.xml 正在签名: res/color/abc_secondary_text_material_dark.xml 正在签名: res/color/abc_secondary_text_material_light.xml 正在签名: res/color/abc_tint_btn_checkable.xml 正在签名: res/color/abc_tint_default.xml 正在签名: res/color/abc_tint_edittext.xml 正在签名: res/color/abc_tint_seek_thumb.xml 正在签名: res/color/abc_tint_spinner.xml 正在签名: res/color/abc_tint_switch_track.xml 正在签名: res/color/checkbox_themeable_attribute_color.xml 正在签名: res/color/design_box_stroke_color.xml 正在签名: res/color/design_error.xml 正在签名: res/color/design_icon_tint.xml 正在签名: res/color/material_cursor_color.xml 正在签名: res/color/material_on_background_disabled.xml 正在签名: res/color/material_on_background_emphasis_high_type.xml 正在签名: res/color/material_on_background_emphasis_medium.xml 正在签名: res/color/material_on_primary_disabled.xml 正在签名: res/color/material_on_primary_emphasis_high_type.xml 正在签名: res/color/material_on_primary_emphasis_medium.xml 正在签名: res/color/material_on_surface_disabled.xml 正在签名: res/color/material_on_surface_emphasis_high_type.xml 正在签名: res/color/material_on_surface_emphasis_medium.xml 正在签名: res/color/material_on_surface_stroke.xml 正在签名: res/color/material_slider_active_tick_marks_color.xml 正在签名: res/color/material_slider_active_track_color.xml 正在签名: res/color/material_slider_halo_color.xml 正在签名: res/color/material_slider_inactive_tick_marks_color.xml 正在签名: res/color/material_slider_inactive_track_color.xml 正在签名: res/color/material_slider_thumb_color.xml 正在签名: res/color/material_timepicker_button_background.xml 正在签名: res/color/material_timepicker_button_stroke.xml 正在签名: res/color/material_timepicker_clockface.xml 正在签名: res/color/material_timepicker_clock_text_color.xml 正在签名: res/color/material_timepicker_modebutton_tint.xml 正在签名: res/color/mtrl_btn_bg_color_selector.xml 正在签名: res/color/mtrl_btn_ripple_color.xml 正在签名: res/color/mtrl_btn_stroke_color_selector.xml 正在签名: res/color/mtrl_btn_text_btn_bg_color_selector.xml 正在签名: res/color/mtrl_btn_text_btn_ripple_color.xml 正在签名: res/color/mtrl_btn_text_color_selector.xml 正在签名: res/color/mtrl_calendar_item_stroke_color.xml 正在签名: res/color/mtrl_calendar_selected_range.xml 正在签名: res/color/mtrl_card_view_foreground.xml 正在签名: res/color/mtrl_card_view_ripple.xml 正在签名: res/color/mtrl_chip_background_color.xml 正在签名: res/color/mtrl_chip_close_icon_tint.xml 正在签名: res/color/mtrl_chip_surface_color.xml 正在签名: res/color/mtrl_chip_text_color.xml 正在签名: res/color/mtrl_choice_chip_background_color.xml 正在签名: res/color/mtrl_choice_chip_ripple_color.xml 正在签名: res/color/mtrl_choice_chip_text_color.xml 正在签名: res/color/mtrl_error.xml 正在签名: res/color/mtrl_fab_bg_color_selector.xml 正在签名: res/color/mtrl_fab_icon_text_color_selector.xml 正在签名: res/color/mtrl_fab_ripple_color.xml 正在签名: res/color/mtrl_filled_background_color.xml 正在签名: res/color/mtrl_filled_icon_tint.xml 正在签名: res/color/mtrl_filled_stroke_color.xml 正在签名: res/color/mtrl_indicator_text_color.xml 正在签名: res/color/mtrl_navigation_bar_colored_item_tint.xml 正在签名: res/color/mtrl_navigation_bar_colored_ripple_color.xml 正在签名: res/color/mtrl_navigation_bar_item_tint.xml 正在签名: res/color/mtrl_navigation_bar_ripple_color.xml 正在签名: res/color/mtrl_navigation_item_background_color.xml 正在签名: res/color/mtrl_navigation_item_icon_tint.xml 正在签名: res/color/mtrl_navigation_item_text_color.xml 正在签名: res/color/mtrl_on_primary_text_btn_text_color_selector.xml 正在签名: res/color/mtrl_on_surface_ripple_color.xml 正在签名: res/color/mtrl_outlined_icon_tint.xml 正在签名: res/color/mtrl_outlined_stroke_color.xml 正在签名: res/color/mtrl_popupmenu_overlay_color.xml 正在签名: res/color/mtrl_tabs_colored_ripple_color.xml 正在签名: res/color/mtrl_tabs_icon_color_selector.xml 正在签名: res/color/mtrl_tabs_icon_color_selector_colored.xml 正在签名: res/color/mtrl_tabs_legacy_text_color_selector.xml 正在签名: res/color/mtrl_tabs_ripple_color.xml 正在签名: res/color/mtrl_text_btn_text_color_selector.xml 正在签名: res/color/radiobutton_themeable_attribute_color.xml 正在签名: res/color/switch_thumb_material_dark.xml 正在签名: res/color/switch_thumb_material_light.xml 正在签名: res/color/test_mtrl_calendar_day.xml 正在签名: res/color/test_mtrl_calendar_day_selected.xml 正在签名: res/color-night/material_timepicker_button_stroke.xml 正在签名: res/color-night/material_timepicker_clockface.xml 正在签名: res/color-night/material_timepicker_modebutton_tint.xml 正在签名: res/color-v21/abc_btn_colored_borderless_text_material.xml 正在签名: res/color-v23/abc_btn_colored_borderless_text_material.xml 正在签名: res/color-v23/abc_btn_colored_text_material.xml 正在签名: res/color-v23/abc_color_highlight_material.xml 正在签名: res/color-v23/abc_tint_btn_checkable.xml 正在签名: res/color-v23/abc_tint_default.xml 正在签名: res/color-v23/abc_tint_edittext.xml 正在签名: res/color-v23/abc_tint_seek_thumb.xml 正在签名: res/color-v23/abc_tint_spinner.xml 正在签名: res/color-v23/abc_tint_switch_track.xml 正在签名: res/drawable/$avd_hide_password__0.xml 正在签名: res/drawable/$avd_hide_password__1.xml 正在签名: res/drawable/$avd_hide_password__2.xml 正在签名: res/drawable/$avd_show_password__0.xml 正在签名: res/drawable/$avd_show_password__1.xml 正在签名: res/drawable/$avd_show_password__2.xml 正在签名: res/drawable/abc_btn_borderless_material.xml 正在签名: res/drawable/abc_btn_check_material.xml 正在签名: res/drawable/abc_btn_check_material_anim.xml 正在签名: res/drawable/abc_btn_colored_material.xml 正在签名: res/drawable/abc_btn_default_mtrl_shape.xml 正在签名: res/drawable/abc_btn_radio_material.xml 正在签名: res/drawable/abc_btn_radio_material_anim.xml 正在签名: res/drawable/abc_cab_background_internal_bg.xml 正在签名: res/drawable/abc_cab_background_top_material.xml 正在签名: res/drawable/abc_dialog_material_background.xml 正在签名: res/drawable/abc_edit_text_material.xml 正在签名: res/drawable/abc_ic_ab_back_material.xml 正在签名: res/drawable/abc_ic_arrow_drop_right_black_24dp.xml 正在签名: res/drawable/abc_ic_clear_material.xml 正在签名: res/drawable/abc_ic_go_search_api_material.xml 正在签名: res/drawable/abc_ic_menu_copy_mtrl_am_alpha.xml 正在签名: res/drawable/abc_ic_menu_cut_mtrl_alpha.xml 正在签名: res/drawable/abc_ic_menu_overflow_material.xml 正在签名: res/drawable/abc_ic_menu_paste_mtrl_am_alpha.xml 正在签名: res/drawable/abc_ic_menu_selectall_mtrl_alpha.xml 正在签名: res/drawable/abc_ic_menu_share_mtrl_alpha.xml 正在签名: res/drawable/abc_ic_search_api_material.xml 正在签名: res/drawable/abc_ic_voice_search_api_material.xml 正在签名: res/drawable/abc_item_background_holo_dark.xml 正在签名: res/drawable/abc_item_background_holo_light.xml 正在签名: res/drawable/abc_list_divider_material.xml 正在签名: res/drawable/abc_list_selector_background_transition_holo_dark.xml 正在签名: res/drawable/abc_list_selector_background_transition_holo_light.xml 正在签名: res/drawable/abc_list_selector_holo_dark.xml 正在签名: res/drawable/abc_list_selector_holo_light.xml 正在签名: res/drawable/abc_ratingbar_indicator_material.xml 正在签名: res/drawable/abc_ratingbar_material.xml 正在签名: res/drawable/abc_ratingbar_small_material.xml 正在签名: res/drawable/abc_seekbar_thumb_material.xml 正在签名: res/drawable/abc_seekbar_tick_mark_material.xml 正在签名: res/drawable/abc_seekbar_track_material.xml 正在签名: res/drawable/abc_spinner_textfield_background_material.xml 正在签名: res/drawable/abc_star_black_48dp.xml 正在签名: res/drawable/abc_star_half_black_48dp.xml 正在签名: res/drawable/abc_switch_thumb_material.xml 正在签名: res/drawable/abc_tab_indicator_material.xml 正在签名: res/drawable/abc_textfield_search_material.xml 正在签名: res/drawable/abc_text_cursor_material.xml 正在签名: res/drawable/abc_vector_test.xml 正在签名: res/drawable/avd_hide_password.xml 正在签名: res/drawable/avd_show_password.xml 正在签名: res/drawable/btn_checkbox_checked_mtrl.xml 正在签名: res/drawable/btn_checkbox_checked_to_unchecked_mtrl_animation.xml 正在签名: res/drawable/btn_checkbox_unchecked_mtrl.xml 正在签名: res/drawable/btn_checkbox_unchecked_to_checked_mtrl_animation.xml 正在签名: res/drawable/btn_radio_off_mtrl.xml 正在签名: res/drawable/btn_radio_off_to_on_mtrl_animation.xml 正在签名: res/drawable/btn_radio_on_mtrl.xml 正在签名: res/drawable/btn_radio_on_to_off_mtrl_animation.xml 正在签名: res/drawable/design_fab_background.xml 正在签名: res/drawable/design_ic_visibility.xml 正在签名: res/drawable/design_ic_visibility_off.xml 正在签名: res/drawable/design_password_eye.xml 正在签名: res/drawable/design_snackbar_background.xml 正在签名: res/drawable/ic_clock_black_24dp.xml 正在签名: res/drawable/ic_keyboard_black_24dp.xml 正在签名: res/drawable/ic_mtrl_checked_circle.xml 正在签名: res/drawable/ic_mtrl_chip_checked_black.xml 正在签名: res/drawable/ic_mtrl_chip_checked_circle.xml 正在签名: res/drawable/ic_mtrl_chip_close_circle.xml 正在签名: res/drawable/material_cursor_drawable.xml 正在签名: res/drawable/material_ic_calendar_black_24dp.xml 正在签名: res/drawable/material_ic_clear_black_24dp.xml 正在签名: res/drawable/material_ic_edit_black_24dp.xml 正在签名: res/drawable/material_ic_keyboard_arrow_left_black_24dp.xml 正在签名: res/drawable/material_ic_keyboard_arrow_right_black_24dp.xml 正在签名: res/drawable/material_ic_menu_arrow_down_black_24dp.xml 正在签名: res/drawable/material_ic_menu_arrow_up_black_24dp.xml 正在签名: res/drawable/mtrl_dialog_background.xml 正在签名: res/drawable/mtrl_dropdown_arrow.xml 正在签名: res/drawable/mtrl_ic_arrow_drop_down.xml 正在签名: res/drawable/mtrl_ic_arrow_drop_up.xml 正在签名: res/drawable/mtrl_ic_cancel.xml 正在签名: res/drawable/mtrl_ic_error.xml 正在签名: res/drawable/mtrl_navigation_bar_item_background.xml 正在签名: res/drawable/mtrl_popupmenu_background.xml 正在签名: res/drawable/mtrl_popupmenu_background_dark.xml 正在签名: res/drawable/mtrl_tabs_default_indicator.xml 正在签名: res/drawable/navigation_empty_icon.xml 正在签名: res/drawable/notification_bg.xml 正在签名: res/drawable/notification_bg_low.xml 正在签名: res/drawable/notification_icon_background.xml 正在签名: res/drawable/notification_tile_bg.xml 正在签名: res/drawable/test_custom_background.xml 正在签名: res/drawable/tooltip_frame_dark.xml 正在签名: res/drawable/tooltip_frame_light.xml 正在签名: res/drawable-anydpi-v21/ic_launcher_background.xml 正在签名: res/drawable-anydpi-v24/$ic_launcher_foreground__0.xml 正在签名: res/drawable-anydpi-v24/ic_launcher_foreground.xml 正在签名: res/drawable-ldrtl-xxhdpi/abc_spinner_mtrl_am_alpha.9.png 正在签名: res/drawable-v21/abc_action_bar_item_background_material.xml 正在签名: res/drawable-v21/abc_btn_colored_material.xml 正在签名: res/drawable-v21/abc_dialog_material_background.xml 正在签名: res/drawable-v21/abc_edit_text_material.xml 正在签名: res/drawable-v21/abc_list_divider_material.xml 正在签名: res/drawable-v21/material_cursor_drawable.xml 正在签名: res/drawable-v21/mtrl_navigation_bar_item_background.xml 正在签名: res/drawable-v21/notification_action_background.xml 正在签名: res/drawable-v23/abc_control_background_material.xml 正在签名: res/drawable-v23/mtrl_popupmenu_background_dark.xml 正在签名: res/drawable-watch-v20/abc_dialog_material_background.xml 正在签名: res/drawable-xhdpi/notification_bg_low_normal.9.png 正在签名: res/drawable-xhdpi/notification_bg_low_pressed.9.png 正在签名: res/drawable-xhdpi/notification_bg_normal.9.png 正在签名: res/drawable-xhdpi/notification_bg_normal_pressed.9.png 正在签名: res/drawable-xhdpi/notify_panel_notification_icon_bg.png 正在签名: res/drawable-xxhdpi/abc_ab_share_pack_mtrl_alpha.9.png 正在签名: res/drawable-xxhdpi/abc_btn_check_to_on_mtrl_000.png 正在签名: res/drawable-xxhdpi/abc_btn_check_to_on_mtrl_015.png 正在签名: res/drawable-xxhdpi/abc_btn_radio_to_on_mtrl_000.png 正在签名: res/drawable-xxhdpi/abc_btn_radio_to_on_mtrl_015.png 正在签名: res/drawable-xxhdpi/abc_btn_switch_to_on_mtrl_00001.9.png 正在签名: res/drawable-xxhdpi/abc_btn_switch_to_on_mtrl_00012.9.png 正在签名: res/drawable-xxhdpi/abc_cab_background_top_mtrl_alpha.9.png 正在签名: res/drawable-xxhdpi/abc_ic_commit_search_api_mtrl_alpha.png 正在签名: res/drawable-xxhdpi/abc_list_divider_mtrl_alpha.9.png 正在签名: res/drawable-xxhdpi/abc_list_focused_holo.9.png 正在签名: res/drawable-xxhdpi/abc_list_longpressed_holo.9.png 正在签名: res/drawable-xxhdpi/abc_list_pressed_holo_dark.9.png 正在签名: res/drawable-xxhdpi/abc_list_pressed_holo_light.9.png 正在签名: res/drawable-xxhdpi/abc_list_selector_disabled_holo_dark.9.png 正在签名: res/drawable-xxhdpi/abc_list_selector_disabled_holo_light.9.png 正在签名: res/drawable-xxhdpi/abc_menu_hardkey_panel_mtrl_mult.9.png 正在签名: res/drawable-xxhdpi/abc_popup_background_mtrl_mult.9.png 正在签名: res/drawable-xxhdpi/abc_scrubber_control_off_mtrl_alpha.png 正在签名: res/drawable-xxhdpi/abc_scrubber_control_to_pressed_mtrl_000.png 正在签名: res/drawable-xxhdpi/abc_scrubber_control_to_pressed_mtrl_005.png 正在签名: res/drawable-xxhdpi/abc_scrubber_primary_mtrl_alpha.9.png 正在签名: res/drawable-xxhdpi/abc_scrubber_track_mtrl_alpha.9.png 正在签名: res/drawable-xxhdpi/abc_spinner_mtrl_am_alpha.9.png 正在签名: res/drawable-xxhdpi/abc_switch_track_mtrl_alpha.9.png 正在签名: res/drawable-xxhdpi/abc_tab_indicator_mtrl_alpha.9.png 正在签名: res/drawable-xxhdpi/abc_textfield_activated_mtrl_alpha.9.png 正在签名: res/drawable-xxhdpi/abc_textfield_default_mtrl_alpha.9.png 正在签名: res/drawable-xxhdpi/abc_textfield_search_activated_mtrl_alpha.9.png 正在签名: res/drawable-xxhdpi/abc_textfield_search_default_mtrl_alpha.9.png 正在签名: res/drawable-xxhdpi/abc_text_select_handle_left_mtrl.png 正在签名: res/drawable-xxhdpi/abc_text_select_handle_middle_mtrl.png 正在签名: res/drawable-xxhdpi/abc_text_select_handle_right_mtrl.png 正在签名: res/drawable-xxhdpi/ic_launcher_background.png 正在签名: res/interpolator/btn_checkbox_checked_mtrl_animation_interpolator_0.xml 正在签名: res/interpolator/btn_checkbox_checked_mtrl_animation_interpolator_1.xml 正在签名: res/interpolator/btn_checkbox_unchecked_mtrl_animation_interpolator_0.xml 正在签名: res/interpolator/btn_checkbox_unchecked_mtrl_animation_interpolator_1.xml 正在签名: res/interpolator/btn_radio_to_off_mtrl_animation_interpolator_0.xml 正在签名: res/interpolator/btn_radio_to_on_mtrl_animation_interpolator_0.xml 正在签名: res/interpolator/fast_out_slow_in.xml 正在签名: res/interpolator/mtrl_fast_out_linear_in.xml 正在签名: res/interpolator/mtrl_fast_out_slow_in.xml 正在签名: res/interpolator/mtrl_linear.xml 正在签名: res/interpolator/mtrl_linear_out_slow_in.xml 正在签名: res/interpolator-v21/mtrl_fast_out_linear_in.xml 正在签名: res/interpolator-v21/mtrl_fast_out_slow_in.xml 正在签名: res/interpolator-v21/mtrl_linear_out_slow_in.xml 正在签名: res/layout/abc_action_bar_title_item.xml 正在签名: res/layout/abc_action_bar_up_container.xml 正在签名: res/layout/abc_action_menu_item_layout.xml 正在签名: res/layout/abc_action_menu_layout.xml 正在签名: res/layout/abc_action_mode_bar.xml 正在签名: res/layout/abc_action_mode_close_item_material.xml 正在签名: res/layout/abc_activity_chooser_view.xml 正在签名: res/layout/abc_activity_chooser_view_list_item.xml 正在签名: res/layout/abc_alert_dialog_button_bar_material.xml 正在签名: res/layout/abc_alert_dialog_material.xml 正在签名: res/layout/abc_alert_dialog_title_material.xml 正在签名: res/layout/abc_cascading_menu_item_layout.xml 正在签名: res/layout/abc_dialog_title_material.xml 正在签名: res/layout/abc_expanded_menu_layout.xml 正在签名: res/layout/abc_list_menu_item_checkbox.xml 正在签名: res/layout/abc_list_menu_item_icon.xml 正在签名: res/layout/abc_list_menu_item_layout.xml 正在签名: res/layout/abc_list_menu_item_radio.xml 正在签名: res/layout/abc_popup_menu_header_item_layout.xml 正在签名: res/layout/abc_popup_menu_item_layout.xml 正在签名: res/layout/abc_screen_content_include.xml 正在签名: res/layout/abc_screen_simple.xml 正在签名: res/layout/abc_screen_simple_overlay_action_mode.xml 正在签名: res/layout/abc_screen_toolbar.xml 正在签名: res/layout/abc_search_dropdown_item_icons_2line.xml 正在签名: res/layout/abc_search_view.xml 正在签名: res/layout/abc_select_dialog_material.xml 正在签名: res/layout/abc_tooltip.xml 正在签名: res/layout/activity_main.xml 正在签名: res/layout/custom_dialog.xml 正在签名: res/layout/design_bottom_navigation_item.xml 正在签名: res/layout/design_bottom_sheet_dialog.xml 正在签名: res/layout/design_layout_snackbar.xml 正在签名: res/layout/design_layout_snackbar_include.xml 正在签名: res/layout/design_layout_tab_icon.xml 正在签名: res/layout/design_layout_tab_text.xml 正在签名: res/layout/design_menu_item_action_area.xml 正在签名: res/layout/design_navigation_item.xml 正在签名: res/layout/design_navigation_item_header.xml 正在签名: res/layout/design_navigation_item_separator.xml 正在签名: res/layout/design_navigation_item_subheader.xml 正在签名: res/layout/design_navigation_menu.xml 正在签名: res/layout/design_navigation_menu_item.xml 正在签名: res/layout/design_text_input_end_icon.xml 正在签名: res/layout/design_text_input_start_icon.xml 正在签名: res/layout/material_chip_input_combo.xml 正在签名: res/layout/material_clockface_textview.xml 正在签名: res/layout/material_clockface_view.xml 正在签名: res/layout/material_clock_display.xml 正在签名: res/layout/material_clock_display_divider.xml 正在签名: res/layout/material_clock_period_toggle.xml 正在签名: res/layout/material_radial_view_group.xml 正在签名: res/layout/material_textinput_timepicker.xml 正在签名: res/layout/material_timepicker.xml 正在签名: res/layout/material_timepicker_dialog.xml 正在签名: res/layout/material_timepicker_textinput_display.xml 正在签名: res/layout/material_time_chip.xml 正在签名: res/layout/material_time_input.xml 正在签名: res/layout/mtrl_alert_dialog.xml 正在签名: res/layout/mtrl_alert_dialog_actions.xml 正在签名: res/layout/mtrl_alert_dialog_title.xml 正在签名: res/layout/mtrl_alert_select_dialog_item.xml 正在签名: res/layout/mtrl_alert_select_dialog_multichoice.xml 正在签名: res/layout/mtrl_alert_select_dialog_singlechoice.xml 正在签名: res/layout/mtrl_calendar_day.xml 正在签名: res/layout/mtrl_calendar_days_of_week.xml 正在签名: res/layout/mtrl_calendar_day_of_week.xml 正在签名: res/layout/mtrl_calendar_horizontal.xml 正在签名: res/layout/mtrl_calendar_month.xml 正在签名: res/layout/mtrl_calendar_months.xml 正在签名: res/layout/mtrl_calendar_month_labeled.xml 正在签名: res/layout/mtrl_calendar_month_navigation.xml 正在签名: res/layout/mtrl_calendar_vertical.xml 正在签名: res/layout/mtrl_calendar_year.xml 正在签名: res/layout/mtrl_layout_snackbar.xml 正在签名: res/layout/mtrl_layout_snackbar_include.xml 正在签名: res/layout/mtrl_navigation_rail_item.xml 正在签名: res/layout/mtrl_picker_actions.xml 正在签名: res/layout/mtrl_picker_dialog.xml 正在签名: res/layout/mtrl_picker_fullscreen.xml 正在签名: res/layout/mtrl_picker_header_dialog.xml 正在签名: res/layout/mtrl_picker_header_fullscreen.xml 正在签名: res/layout/mtrl_picker_header_selection_text.xml 正在签名: res/layout/mtrl_picker_header_title_text.xml 正在签名: res/layout/mtrl_picker_header_toggle.xml 正在签名: res/layout/mtrl_picker_text_input_date.xml 正在签名: res/layout/mtrl_picker_text_input_date_range.xml 正在签名: res/layout/notification_action.xml 正在签名: res/layout/notification_action_tombstone.xml 正在签名: res/layout/notification_template_custom_big.xml 正在签名: res/layout/notification_template_icon_group.xml 正在签名: res/layout/notification_template_part_chronometer.xml 正在签名: res/layout/notification_template_part_time.xml 正在签名: res/layout/select_dialog_item_material.xml 正在签名: res/layout/select_dialog_multichoice_material.xml 正在签名: res/layout/select_dialog_singlechoice_material.xml 正在签名: res/layout/support_simple_spinner_dropdown_item.xml 正在签名: res/layout/test_action_chip.xml 正在签名: res/layout/test_chip_zero_corner_radius.xml 正在签名: res/layout/test_design_checkbox.xml 正在签名: res/layout/test_design_radiobutton.xml 正在签名: res/layout/test_navigation_bar_item_layout.xml 正在签名: res/layout/test_reflow_chipgroup.xml 正在签名: res/layout/test_toolbar.xml 正在签名: res/layout/test_toolbar_custom_background.xml 正在签名: res/layout/test_toolbar_elevation.xml 正在签名: res/layout/test_toolbar_surface.xml 正在签名: res/layout/text_view_without_line_height.xml 正在签名: res/layout/text_view_with_line_height_from_appearance.xml 正在签名: res/layout/text_view_with_line_height_from_layout.xml 正在签名: res/layout/text_view_with_line_height_from_style.xml 正在签名: res/layout/text_view_with_theme_line_height.xml 正在签名: res/layout-land/material_clock_period_toggle_land.xml 正在签名: res/layout-land/material_timepicker.xml 正在签名: res/layout-land/mtrl_picker_header_dialog.xml 正在签名: res/layout-ldrtl/material_textinput_timepicker.xml 正在签名: res/layout-sw600dp/design_layout_snackbar.xml 正在签名: res/layout-sw600dp/mtrl_layout_snackbar.xml 正在签名: res/layout-v21/abc_screen_toolbar.xml 正在签名: res/layout-v21/notification_action.xml 正在签名: res/layout-v21/notification_action_tombstone.xml 正在签名: res/layout-v21/notification_template_custom_big.xml 正在签名: res/layout-v21/notification_template_icon_group.xml 正在签名: res/layout-v21/test_design_checkbox.xml 正在签名: res/layout-v21/test_design_radiobutton.xml 正在签名: res/layout-v21/test_toolbar_elevation.xml 正在签名: res/layout-v22/abc_alert_dialog_button_bar_material.xml 正在签名: res/layout-v22/material_timepicker_dialog.xml 正在签名: res/layout-v22/mtrl_alert_dialog_actions.xml 正在签名: res/layout-v26/abc_screen_toolbar.xml 正在签名: res/layout-v26/mtrl_calendar_month.xml 正在签名: res/layout-watch-v20/abc_alert_dialog_button_bar_material.xml 正在签名: res/layout-watch-v20/abc_alert_dialog_title_material.xml 正在签名: res/mipmap-anydpi-v26/ic_launcher.xml 正在签名: res/mipmap-anydpi-v26/ic_launcher_round.xml 正在签名: res/mipmap-hdpi/ic_launcher.png 正在签名: res/mipmap-hdpi/ic_launcher_round.png 正在签名: res/mipmap-mdpi/ic_launcher.png 正在签名: res/mipmap-mdpi/ic_launcher_round.png 正在签名: res/mipmap-xhdpi/ic_launcher.png 正在签名: res/mipmap-xhdpi/ic_launcher_round.png 正在签名: res/mipmap-xxhdpi/ic_launcher.png 正在签名: res/mipmap-xxhdpi/ic_launcher_round.png 正在签名: res/mipmap-xxxhdpi/ic_launcher.png 正在签名: res/mipmap-xxxhdpi/ic_launcher_round.png 正在签名: res/xml/standalone_badge.xml 正在签名: res/xml/standalone_badge_gravity_bottom_end.xml 正在签名: res/xml/standalone_badge_gravity_bottom_start.xml 正在签名: res/xml/standalone_badge_gravity_top_start.xml 正在签名: res/xml/standalone_badge_offset.xml 正在签名: resources.arsc jar 已签名。 警告: 未提供 -tsa 或 -tsacert, 此 jar 没有时间戳。如果没有时间戳, 则在签名者证书的到期日期 (2044-10-28) 或以后的任何撤销日期之后, 用户可能无法验证此 jar。 D:\002_Project\011_Python\APK>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。