实例介绍
【实例简介】
atlas:强大的Android动态组件框架源码下载。Atlas是一款Android客户端容器化框架,提供了松耦合、组件化和动态支持,解决了项目开发、Apk运行时和后续运维中的各种问题。与multidex解决方案相比,Atlas不仅解决了方法数限制问题(65535),还为Android开发提供了强大的功能,例如并行迭代、快速开发、灵活发布、动态更新、快速修复在线失败等。Atlas是一个组件框架,而不是多进程框架。支持所有Android版本从Android 4.0到9.0。
【实例截图】
【核心代码】
文件清单
└── atlas-c20c5b83f67b9a14fb597d59a287ec7a3e5bdbac
├── assets
│ └── dingtalk.jpg
├── atlas-aapt
│ ├── bionic
│ │ └── libc
│ │ └── include
│ │ ├── alloca.h
│ │ ├── android
│ │ │ ├── api-level.h
│ │ │ ├── dlext.h
│ │ │ ├── legacy_errno_inlines.h
│ │ │ ├── legacy_signal_inlines.h
│ │ │ ├── legacy_stdlib_inlines.h
│ │ │ ├── legacy_sys_atomics_inlines.h
│ │ │ ├── legacy_sys_stat_inlines.h
│ │ │ ├── legacy_termios_inlines.h
│ │ │ └── set_abort_message.h
│ │ ├── ar.h
│ │ ├── arpa
│ │ │ ├── inet.h
│ │ │ ├── nameser_compat.h
│ │ │ ├── nameser.h
│ │ │ └── telnet.h
│ │ ├── assert.h
│ │ ├── bits
│ │ │ ├── lockf.h
│ │ │ ├── posix_limits.h
│ │ │ ├── pthread_types.h
│ │ │ ├── timespec.h
│ │ │ └── wchar_limits.h
│ │ ├── byteswap.h
│ │ ├── ctype.h
│ │ ├── dirent.h
│ │ ├── dlfcn.h
│ │ ├── elf.h
│ │ ├── endian.h
│ │ ├── err.h
│ │ ├── errno.h
│ │ ├── error.h
│ │ ├── fcntl.h
│ │ ├── features.h
│ │ ├── fnmatch.h
│ │ ├── fts.h
│ │ ├── ftw.h
│ │ ├── getopt.h
│ │ ├── grp.h
│ │ ├── ifaddrs.h
│ │ ├── inttypes.h
│ │ ├── lastlog.h
│ │ ├── libgen.h
│ │ ├── limits.h
│ │ ├── link.h
│ │ ├── locale.h
│ │ ├── machine
│ │ │ ├── endian.h
│ │ │ └── ieee.h
│ │ ├── malloc.h
│ │ ├── memory.h
│ │ ├── mntent.h
│ │ ├── net
│ │ │ ├── ethernet.h
│ │ │ ├── ethertypes.h
│ │ │ ├── if_arp.h
│ │ │ ├── if_ether.h
│ │ │ ├── if.h
│ │ │ ├── if_ieee1394.h
│ │ │ ├── if_packet.h
│ │ │ ├── if_types.h
│ │ │ └── route.h
│ │ ├── netdb.h
│ │ ├── netinet
│ │ │ ├── ether.h
│ │ │ ├── icmp6.h
│ │ │ ├── if_ether.h
│ │ │ ├── in6.h
│ │ │ ├── in.h
│ │ │ ├── in_systm.h
│ │ │ ├── ip6.h
│ │ │ ├── ip.h
│ │ │ ├── ip_icmp.h
│ │ │ ├── tcp.h
│ │ │ └── udp.h
│ │ ├── netpacket
│ │ │ └── packet.h
│ │ ├── nsswitch.h
│ │ ├── paths.h
│ │ ├── poll.h
│ │ ├── pthread.h
│ │ ├── pty.h
│ │ ├── pwd.h
│ │ ├── regex.h
│ │ ├── resolv.h
│ │ ├── sched.h
│ │ ├── search.h
│ │ ├── semaphore.h
│ │ ├── setjmp.h
│ │ ├── sgtty.h
│ │ ├── signal.h
│ │ ├── stdatomic.h
│ │ ├── stdint.h
│ │ ├── stdio_ext.h
│ │ ├── stdio.h
│ │ ├── stdlib.h
│ │ ├── string.h
│ │ ├── strings.h
│ │ ├── sys
│ │ │ ├── atomics.h
│ │ │ ├── auxv.h
│ │ │ ├── cachectl.h
│ │ │ ├── capability.h
│ │ │ ├── cdefs.h
│ │ │ ├── endian.h
│ │ │ ├── epoll.h
│ │ │ ├── _errdefs.h
│ │ │ ├── errno.h
│ │ │ ├── eventfd.h
│ │ │ ├── fcntl.h
│ │ │ ├── file.h
│ │ │ ├── fsuid.h
│ │ │ ├── glibc-syscalls.h
│ │ │ ├── inotify.h
│ │ │ ├── ioctl_compat.h
│ │ │ ├── ioctl.h
│ │ │ ├── ipc.h
│ │ │ ├── klog.h
│ │ │ ├── limits.h
│ │ │ ├── mman.h
│ │ │ ├── mount.h
│ │ │ ├── msg.h
│ │ │ ├── param.h
│ │ │ ├── personality.h
│ │ │ ├── poll.h
│ │ │ ├── prctl.h
│ │ │ ├── procfs.h
│ │ │ ├── ptrace.h
│ │ │ ├── queue.h
│ │ │ ├── reboot.h
│ │ │ ├── reg.h
│ │ │ ├── resource.h
│ │ │ ├── select.h
│ │ │ ├── sem.h
│ │ │ ├── sendfile.h
│ │ │ ├── _sigdefs.h
│ │ │ ├── signalfd.h
│ │ │ ├── signal.h
│ │ │ ├── socketcalls.h
│ │ │ ├── socket.h
│ │ │ ├── statfs.h
│ │ │ ├── stat.h
│ │ │ ├── statvfs.h
│ │ │ ├── swap.h
│ │ │ ├── syscall.h
│ │ │ ├── sysconf.h
│ │ │ ├── sysinfo.h
│ │ │ ├── syslimits.h
│ │ │ ├── syslog.h
│ │ │ ├── sysmacros.h
│ │ │ ├── _system_properties.h
│ │ │ ├── system_properties.h
│ │ │ ├── time.h
│ │ │ ├── timerfd.h
│ │ │ ├── times.h
│ │ │ ├── timex.h
│ │ │ ├── ttychars.h
│ │ │ ├── ttydefaults.h
│ │ │ ├── ttydev.h
│ │ │ ├── types.h
│ │ │ ├── ucontext.h
│ │ │ ├── uio.h
│ │ │ ├── un.h
│ │ │ ├── unistd.h
│ │ │ ├── user.h
│ │ │ ├── utime.h
│ │ │ ├── utsname.h
│ │ │ ├── vfs.h
│ │ │ ├── vt.h
│ │ │ ├── wait.h
│ │ │ └── xattr.h
│ │ ├── syscall.h
│ │ ├── sysexits.h
│ │ ├── syslog.h
│ │ ├── termio.h
│ │ ├── termios.h
│ │ ├── time64.h
│ │ ├── time.h
│ │ ├── uchar.h
│ │ ├── ucontext.h
│ │ ├── unistd.h
│ │ ├── util.h
│ │ ├── utime.h
│ │ ├── utmp.h
│ │ ├── wait.h
│ │ ├── wchar.h
│ │ ├── wctype.h
│ │ └── xlocale.h
│ ├── build
│ ├── build_ShakaAapt_all_in_linux.sh
│ ├── build_ShakaAapt_all_in_maxos.sh
│ ├── CMakeLists.txt
│ ├── external
│ │ ├── compiler-rt
│ │ │ ├── Android.bp
│ │ │ ├── Android.mk
│ │ │ ├── cmake
│ │ │ │ ├── config-ix.cmake
│ │ │ │ └── Modules
│ │ │ │ ├── AddCompilerRT.cmake
│ │ │ │ ├── CompilerRTCompile.cmake
│ │ │ │ ├── CompilerRTDarwinUtils.cmake
│ │ │ │ ├── CompilerRTLink.cmake
│ │ │ │ ├── CompilerRTUtils.cmake
│ │ │ │ └── SanitizerUtils.cmake
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CODE_OWNERS.TXT
│ │ │ ├── CREDITS.TXT
│ │ │ ├── include
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── sanitizer
│ │ │ │ ├── allocator_interface.h
│ │ │ │ ├── asan_interface.h
│ │ │ │ ├── common_interface_defs.h
│ │ │ │ ├── coverage_interface.h
│ │ │ │ ├── dfsan_interface.h
│ │ │ │ ├── linux_syscall_hooks.h
│ │ │ │ ├── lsan_interface.h
│ │ │ │ ├── msan_interface.h
│ │ │ │ └── tsan_interface_atomic.h
│ │ │ ├── lib
│ │ │ │ ├── asan
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── asan_activation.cc
│ │ │ │ │ ├── asan_activation_flags.inc
│ │ │ │ │ ├── asan_activation.h
│ │ │ │ │ ├── asan_allocator.cc
│ │ │ │ │ ├── asan_allocator.h
│ │ │ │ │ ├── asan_android_stub.cc
│ │ │ │ │ ├── asan_blacklist.txt
│ │ │ │ │ ├── asan_debugging.cc
│ │ │ │ │ ├── asan_fake_stack.cc
│ │ │ │ │ ├── asan_fake_stack.h
│ │ │ │ │ ├── asan_flags.cc
│ │ │ │ │ ├── asan_flags.h
│ │ │ │ │ ├── asan_flags.inc
│ │ │ │ │ ├── asan_globals.cc
│ │ │ │ │ ├── asan_init_version.h
│ │ │ │ │ ├── asan_interceptors.cc
│ │ │ │ │ ├── asan_interceptors.h
│ │ │ │ │ ├── asan_interface_internal.h
│ │ │ │ │ ├── asan_internal.h
│ │ │ │ │ ├── asan_linux.cc
│ │ │ │ │ ├── asan_lock.h
│ │ │ │ │ ├── asan_mac.cc
│ │ │ │ │ ├── asan_malloc_linux.cc
│ │ │ │ │ ├── asan_malloc_mac.cc
│ │ │ │ │ ├── asan_malloc_win.cc
│ │ │ │ │ ├── asan_mapping.h
│ │ │ │ │ ├── asan_new_delete.cc
│ │ │ │ │ ├── asan_poisoning.cc
│ │ │ │ │ ├── asan_poisoning.h
│ │ │ │ │ ├── asan_posix.cc
│ │ │ │ │ ├── asan_preinit.cc
│ │ │ │ │ ├── asan_report.cc
│ │ │ │ │ ├── asan_report.h
│ │ │ │ │ ├── asan_rtl.cc
│ │ │ │ │ ├── asan_stack.cc
│ │ │ │ │ ├── asan_stack.h
│ │ │ │ │ ├── asan_stats.cc
│ │ │ │ │ ├── asan_stats.h
│ │ │ │ │ ├── asan_suppressions.cc
│ │ │ │ │ ├── asan_suppressions.h
│ │ │ │ │ ├── asan.syms.extra
│ │ │ │ │ ├── asan_thread.cc
│ │ │ │ │ ├── asan_thread.h
│ │ │ │ │ ├── asan_win.cc
│ │ │ │ │ ├── asan_win_dll_thunk.cc
│ │ │ │ │ ├── asan_win_dynamic_runtime_thunk.cc
│ │ │ │ │ ├── asanwrapper.cc
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ ├── README.txt
│ │ │ │ │ ├── scripts
│ │ │ │ │ │ ├── asan_device_setup
│ │ │ │ │ │ ├── asan_symbolize.py
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── symbolize.py
│ │ │ │ │ └── tests
│ │ │ │ │ ├── asan_asm_test.cc
│ │ │ │ │ ├── asan_benchmarks_test.cc
│ │ │ │ │ ├── asan_exceptions_test.cc
│ │ │ │ │ ├── asan_fake_stack_test.cc
│ │ │ │ │ ├── asan_globals_test.cc
│ │ │ │ │ ├── asan_interface_test.cc
│ │ │ │ │ ├── asan_mac_test.cc
│ │ │ │ │ ├── asan_mac_test.h
│ │ │ │ │ ├── asan_mac_test_helpers.mm
│ │ │ │ │ ├── asan_mem_test.cc
│ │ │ │ │ ├── asan_noinst_test.cc
│ │ │ │ │ ├── asan_oob_test.cc
│ │ │ │ │ ├── asan_racy_double_free_test.cc
│ │ │ │ │ ├── asan_str_test.cc
│ │ │ │ │ ├── asan_test.cc
│ │ │ │ │ ├── asan_test_config.h
│ │ │ │ │ ├── asan_test.ignore
│ │ │ │ │ ├── asan_test_main.cc
│ │ │ │ │ ├── asan_test_utils.h
│ │ │ │ │ └── CMakeLists.txt
│ │ │ │ ├── BlocksRuntime
│ │ │ │ │ ├── Block.h
│ │ │ │ │ ├── Block_private.h
│ │ │ │ │ ├── data.c
│ │ │ │ │ └── runtime.c
│ │ │ │ ├── builtins
│ │ │ │ │ ├── absvdi2.c
│ │ │ │ │ ├── absvsi2.c
│ │ │ │ │ ├── absvti2.c
│ │ │ │ │ ├── adddf3.c
│ │ │ │ │ ├── addsf3.c
│ │ │ │ │ ├── addtf3.c
│ │ │ │ │ ├── addvdi3.c
│ │ │ │ │ ├── addvsi3.c
│ │ │ │ │ ├── addvti3.c
│ │ │ │ │ ├── apple_versioning.c
│ │ │ │ │ ├── arm
│ │ │ │ │ │ ├── adddf3vfp.S
│ │ │ │ │ │ ├── addsf3vfp.S
│ │ │ │ │ │ ├── aeabi_cdcmpeq_check_nan.c
│ │ │ │ │ │ ├── aeabi_cdcmp.S
│ │ │ │ │ │ ├── aeabi_cfcmpeq_check_nan.c
│ │ │ │ │ │ ├── aeabi_cfcmp.S
│ │ │ │ │ │ ├── aeabi_dcmp.S
│ │ │ │ │ │ ├── aeabi_div0.c
│ │ │ │ │ │ ├── aeabi_drsub.c
│ │ │ │ │ │ ├── aeabi_fcmp.S
│ │ │ │ │ │ ├── aeabi_frsub.c
│ │ │ │ │ │ ├── aeabi_idivmod.S
│ │ │ │ │ │ ├── aeabi_ldivmod.S
│ │ │ │ │ │ ├── aeabi_memcmp.S
│ │ │ │ │ │ ├── aeabi_memcpy.S
│ │ │ │ │ │ ├── aeabi_memmove.S
│ │ │ │ │ │ ├── aeabi_memset.S
│ │ │ │ │ │ ├── aeabi_uidivmod.S
│ │ │ │ │ │ ├── aeabi_uldivmod.S
│ │ │ │ │ │ ├── bswapdi2.S
│ │ │ │ │ │ ├── bswapsi2.S
│ │ │ │ │ │ ├── clzdi2.S
│ │ │ │ │ │ ├── clzsi2.S
│ │ │ │ │ │ ├── comparesf2.S
│ │ │ │ │ │ ├── divdf3vfp.S
│ │ │ │ │ │ ├── divmodsi4.S
│ │ │ │ │ │ ├── divsf3vfp.S
│ │ │ │ │ │ ├── divsi3.S
│ │ │ │ │ │ ├── eqdf2vfp.S
│ │ │ │ │ │ ├── eqsf2vfp.S
│ │ │ │ │ │ ├── extendsfdf2vfp.S
│ │ │ │ │ │ ├── fixdfsivfp.S
│ │ │ │ │ │ ├── fixsfsivfp.S
│ │ │ │ │ │ ├── fixunsdfsivfp.S
│ │ │ │ │ │ ├── fixunssfsivfp.S
│ │ │ │ │ │ ├── floatsidfvfp.S
│ │ │ │ │ │ ├── floatsisfvfp.S
│ │ │ │ │ │ ├── floatunssidfvfp.S
│ │ │ │ │ │ ├── floatunssisfvfp.S
│ │ │ │ │ │ ├── gedf2vfp.S
│ │ │ │ │ │ ├── gesf2vfp.S
│ │ │ │ │ │ ├── gtdf2vfp.S
│ │ │ │ │ │ ├── gtsf2vfp.S
│ │ │ │ │ │ ├── ledf2vfp.S
│ │ │ │ │ │ ├── lesf2vfp.S
│ │ │ │ │ │ ├── ltdf2vfp.S
│ │ │ │ │ │ ├── ltsf2vfp.S
│ │ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ │ ├── modsi3.S
│ │ │ │ │ │ ├── muldf3vfp.S
│ │ │ │ │ │ ├── mulsf3vfp.S
│ │ │ │ │ │ ├── nedf2vfp.S
│ │ │ │ │ │ ├── negdf2vfp.S
│ │ │ │ │ │ ├── negsf2vfp.S
│ │ │ │ │ │ ├── nesf2vfp.S
│ │ │ │ │ │ ├── restore_vfp_d8_d15_regs.S
│ │ │ │ │ │ ├── save_vfp_d8_d15_regs.S
│ │ │ │ │ │ ├── softfloat-alias.list
│ │ │ │ │ │ ├── subdf3vfp.S
│ │ │ │ │ │ ├── subsf3vfp.S
│ │ │ │ │ │ ├── switch16.S
│ │ │ │ │ │ ├── switch32.S
│ │ │ │ │ │ ├── switch8.S
│ │ │ │ │ │ ├── switchu8.S
│ │ │ │ │ │ ├── sync_fetch_and_add_4.S
│ │ │ │ │ │ ├── sync_fetch_and_add_8.S
│ │ │ │ │ │ ├── sync_fetch_and_and_4.S
│ │ │ │ │ │ ├── sync_fetch_and_and_8.S
│ │ │ │ │ │ ├── sync_fetch_and_max_4.S
│ │ │ │ │ │ ├── sync_fetch_and_max_8.S
│ │ │ │ │ │ ├── sync_fetch_and_min_4.S
│ │ │ │ │ │ ├── sync_fetch_and_min_8.S
│ │ │ │ │ │ ├── sync_fetch_and_nand_4.S
│ │ │ │ │ │ ├── sync_fetch_and_nand_8.S
│ │ │ │ │ │ ├── sync_fetch_and_or_4.S
│ │ │ │ │ │ ├── sync_fetch_and_or_8.S
│ │ │ │ │ │ ├── sync_fetch_and_sub_4.S
│ │ │ │ │ │ ├── sync_fetch_and_sub_8.S
│ │ │ │ │ │ ├── sync_fetch_and_umax_4.S
│ │ │ │ │ │ ├── sync_fetch_and_umax_8.S
│ │ │ │ │ │ ├── sync_fetch_and_umin_4.S
│ │ │ │ │ │ ├── sync_fetch_and_umin_8.S
│ │ │ │ │ │ ├── sync_fetch_and_xor_4.S
│ │ │ │ │ │ ├── sync_fetch_and_xor_8.S
│ │ │ │ │ │ ├── sync-ops.h
│ │ │ │ │ │ ├── sync_synchronize.S
│ │ │ │ │ │ ├── truncdfsf2vfp.S
│ │ │ │ │ │ ├── udivmodsi4.S
│ │ │ │ │ │ ├── udivsi3.S
│ │ │ │ │ │ ├── umodsi3.S
│ │ │ │ │ │ ├── unorddf2vfp.S
│ │ │ │ │ │ └── unordsf2vfp.S
│ │ │ │ │ ├── arm64
│ │ │ │ │ │ ├── dummy.c
│ │ │ │ │ │ └── Makefile.mk
│ │ │ │ │ ├── armv6m
│ │ │ │ │ │ └── Makefile.mk
│ │ │ │ │ ├── ashldi3.c
│ │ │ │ │ ├── ashlti3.c
│ │ │ │ │ ├── ashrdi3.c
│ │ │ │ │ ├── ashrti3.c
│ │ │ │ │ ├── assembly.h
│ │ │ │ │ ├── atomic.c
│ │ │ │ │ ├── atomic_flag_clear.c
│ │ │ │ │ ├── atomic_flag_clear_explicit.c
│ │ │ │ │ ├── atomic_flag_test_and_set.c
│ │ │ │ │ ├── atomic_flag_test_and_set_explicit.c
│ │ │ │ │ ├── atomic_signal_fence.c
│ │ │ │ │ ├── atomic_thread_fence.c
│ │ │ │ │ ├── clear_cache.c
│ │ │ │ │ ├── clzdi2.c
│ │ │ │ │ ├── clzsi2.c
│ │ │ │ │ ├── clzti2.c
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── cmpdi2.c
│ │ │ │ │ ├── cmpti2.c
│ │ │ │ │ ├── comparedf2.c
│ │ │ │ │ ├── comparesf2.c
│ │ │ │ │ ├── comparetf2.c
│ │ │ │ │ ├── ctzdi2.c
│ │ │ │ │ ├── ctzsi2.c
│ │ │ │ │ ├── ctzti2.c
│ │ │ │ │ ├── Darwin-excludes
│ │ │ │ │ │ ├── 10.4.txt
│ │ │ │ │ │ ├── 10.4-x86_64.txt
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── ios6-armv7s.txt
│ │ │ │ │ │ ├── ios6-armv7.txt
│ │ │ │ │ │ ├── ios7-arm64.txt
│ │ │ │ │ │ ├── ios-armv7s.txt
│ │ │ │ │ │ ├── ios-armv7.txt
│ │ │ │ │ │ ├── iossim-i386.txt
│ │ │ │ │ │ ├── iossim.txt
│ │ │ │ │ │ ├── iossim-x86_64.txt
│ │ │ │ │ │ ├── ios.txt
│ │ │ │ │ │ ├── osx-i386.txt
│ │ │ │ │ │ ├── osx.txt
│ │ │ │ │ │ ├── osx-x86_64.txt
│ │ │ │ │ │ └── README.TXT
│ │ │ │ │ ├── divdc3.c
│ │ │ │ │ ├── divdf3.c
│ │ │ │ │ ├── divdi3.c
│ │ │ │ │ ├── divmoddi4.c
│ │ │ │ │ ├── divmodsi4.c
│ │ │ │ │ ├── divsc3.c
│ │ │ │ │ ├── divsf3.c
│ │ │ │ │ ├── divsi3.c
│ │ │ │ │ ├── divtc3.c
│ │ │ │ │ ├── divtf3.c
│ │ │ │ │ ├── divti3.c
│ │ │ │ │ ├── divxc3.c
│ │ │ │ │ ├── emutls.c
│ │ │ │ │ ├── enable_execute_stack.c
│ │ │ │ │ ├── eprintf.c
│ │ │ │ │ ├── extenddftf2.c
│ │ │ │ │ ├── extendhfsf2.c
│ │ │ │ │ ├── extendsfdf2.c
│ │ │ │ │ ├── extendsftf2.c
│ │ │ │ │ ├── ffsdi2.c
│ │ │ │ │ ├── ffsti2.c
│ │ │ │ │ ├── fixdfdi.c
│ │ │ │ │ ├── fixdfsi.c
│ │ │ │ │ ├── fixdfti.c
│ │ │ │ │ ├── fixsfdi.c
│ │ │ │ │ ├── fixsfsi.c
│ │ │ │ │ ├── fixsfti.c
│ │ │ │ │ ├── fixtfdi.c
│ │ │ │ │ ├── fixtfsi.c
│ │ │ │ │ ├── fixtfti.c
│ │ │ │ │ ├── fixunsdfdi.c
│ │ │ │ │ ├── fixunsdfsi.c
│ │ │ │ │ ├── fixunsdfti.c
│ │ │ │ │ ├── fixunssfdi.c
│ │ │ │ │ ├── fixunssfsi.c
│ │ │ │ │ ├── fixunssfti.c
│ │ │ │ │ ├── fixunstfdi.c
│ │ │ │ │ ├── fixunstfsi.c
│ │ │ │ │ ├── fixunstfti.c
│ │ │ │ │ ├── fixunsxfdi.c
│ │ │ │ │ ├── fixunsxfsi.c
│ │ │ │ │ ├── fixunsxfti.c
│ │ │ │ │ ├── fixxfdi.c
│ │ │ │ │ ├── fixxfti.c
│ │ │ │ │ ├── floatdidf.c
│ │ │ │ │ ├── floatdisf.c
│ │ │ │ │ ├── floatditf.c
│ │ │ │ │ ├── floatdixf.c
│ │ │ │ │ ├── floatsidf.c
│ │ │ │ │ ├── floatsisf.c
│ │ │ │ │ ├── floatsitf.c
│ │ │ │ │ ├── floattidf.c
│ │ │ │ │ ├── floattisf.c
│ │ │ │ │ ├── floattixf.c
│ │ │ │ │ ├── floatundidf.c
│ │ │ │ │ ├── floatundisf.c
│ │ │ │ │ ├── floatunditf.c
│ │ │ │ │ ├── floatundixf.c
│ │ │ │ │ ├── floatunsidf.c
│ │ │ │ │ ├── floatunsisf.c
│ │ │ │ │ ├── floatunsitf.c
│ │ │ │ │ ├── floatuntidf.c
│ │ │ │ │ ├── floatuntisf.c
│ │ │ │ │ ├── floatuntixf.c
│ │ │ │ │ ├── fp_add_impl.inc
│ │ │ │ │ ├── fp_extend.h
│ │ │ │ │ ├── fp_extend_impl.inc
│ │ │ │ │ ├── fp_fixint_impl.inc
│ │ │ │ │ ├── fp_fixuint_impl.inc
│ │ │ │ │ ├── fp_lib.h
│ │ │ │ │ ├── fp_mul_impl.inc
│ │ │ │ │ ├── fp_trunc.h
│ │ │ │ │ ├── fp_trunc_impl.inc
│ │ │ │ │ ├── gcc_personality_v0.c
│ │ │ │ │ ├── i386
│ │ │ │ │ │ ├── ashldi3.S
│ │ │ │ │ │ ├── ashrdi3.S
│ │ │ │ │ │ ├── chkstk2.S
│ │ │ │ │ │ ├── chkstk.S
│ │ │ │ │ │ ├── divdi3.S
│ │ │ │ │ │ ├── floatdidf.S
│ │ │ │ │ │ ├── floatdisf.S
│ │ │ │ │ │ ├── floatdixf.S
│ │ │ │ │ │ ├── floatundidf.S
│ │ │ │ │ │ ├── floatundisf.S
│ │ │ │ │ │ ├── floatundixf.S
│ │ │ │ │ │ ├── lshrdi3.S
│ │ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ │ ├── moddi3.S
│ │ │ │ │ │ ├── muldi3.S
│ │ │ │ │ │ ├── udivdi3.S
│ │ │ │ │ │ └── umoddi3.S
│ │ │ │ │ ├── int_endianness.h
│ │ │ │ │ ├── int_lib.h
│ │ │ │ │ ├── int_math.h
│ │ │ │ │ ├── int_types.h
│ │ │ │ │ ├── int_util.c
│ │ │ │ │ ├── int_util.h
│ │ │ │ │ ├── lshrdi3.c
│ │ │ │ │ ├── lshrti3.c
│ │ │ │ │ ├── macho_embedded
│ │ │ │ │ │ ├── arm.txt
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── common.txt
│ │ │ │ │ │ ├── i386.txt
│ │ │ │ │ │ ├── thumb2-64.txt
│ │ │ │ │ │ └── thumb2.txt
│ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ ├── moddi3.c
│ │ │ │ │ ├── modsi3.c
│ │ │ │ │ ├── modti3.c
│ │ │ │ │ ├── muldc3.c
│ │ │ │ │ ├── muldf3.c
│ │ │ │ │ ├── muldi3.c
│ │ │ │ │ ├── mulodi4.c
│ │ │ │ │ ├── mulosi4.c
│ │ │ │ │ ├── muloti4.c
│ │ │ │ │ ├── mulsc3.c
│ │ │ │ │ ├── mulsf3.c
│ │ │ │ │ ├── multc3.c
│ │ │ │ │ ├── multf3.c
│ │ │ │ │ ├── multi3.c
│ │ │ │ │ ├── mulvdi3.c
│ │ │ │ │ ├── mulvsi3.c
│ │ │ │ │ ├── mulvti3.c
│ │ │ │ │ ├── mulxc3.c
│ │ │ │ │ ├── negdf2.c
│ │ │ │ │ ├── negdi2.c
│ │ │ │ │ ├── negsf2.c
│ │ │ │ │ ├── negti2.c
│ │ │ │ │ ├── negvdi2.c
│ │ │ │ │ ├── negvsi2.c
│ │ │ │ │ ├── negvti2.c
│ │ │ │ │ ├── paritydi2.c
│ │ │ │ │ ├── paritysi2.c
│ │ │ │ │ ├── parityti2.c
│ │ │ │ │ ├── popcountdi2.c
│ │ │ │ │ ├── popcountsi2.c
│ │ │ │ │ ├── popcountti2.c
│ │ │ │ │ ├── powidf2.c
│ │ │ │ │ ├── powisf2.c
│ │ │ │ │ ├── powitf2.c
│ │ │ │ │ ├── powixf2.c
│ │ │ │ │ ├── ppc
│ │ │ │ │ │ ├── DD.h
│ │ │ │ │ │ ├── divtc3.c
│ │ │ │ │ │ ├── fixtfdi.c
│ │ │ │ │ │ ├── fixunstfdi.c
│ │ │ │ │ │ ├── floatditf.c
│ │ │ │ │ │ ├── floatunditf.c
│ │ │ │ │ │ ├── gcc_qadd.c
│ │ │ │ │ │ ├── gcc_qdiv.c
│ │ │ │ │ │ ├── gcc_qmul.c
│ │ │ │ │ │ ├── gcc_qsub.c
│ │ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ │ ├── multc3.c
│ │ │ │ │ │ ├── restFP.S
│ │ │ │ │ │ └── saveFP.S
│ │ │ │ │ ├── README.txt
│ │ │ │ │ ├── subdf3.c
│ │ │ │ │ ├── subsf3.c
│ │ │ │ │ ├── subtf3.c
│ │ │ │ │ ├── subvdi3.c
│ │ │ │ │ ├── subvsi3.c
│ │ │ │ │ ├── subvti3.c
│ │ │ │ │ ├── trampoline_setup.c
│ │ │ │ │ ├── truncdfhf2.c
│ │ │ │ │ ├── truncdfsf2.c
│ │ │ │ │ ├── truncsfhf2.c
│ │ │ │ │ ├── trunctfdf2.c
│ │ │ │ │ ├── trunctfsf2.c
│ │ │ │ │ ├── ucmpdi2.c
│ │ │ │ │ ├── ucmpti2.c
│ │ │ │ │ ├── udivdi3.c
│ │ │ │ │ ├── udivmoddi4.c
│ │ │ │ │ ├── udivmodsi4.c
│ │ │ │ │ ├── udivmodti4.c
│ │ │ │ │ ├── udivsi3.c
│ │ │ │ │ ├── udivti3.c
│ │ │ │ │ ├── umoddi3.c
│ │ │ │ │ ├── umodsi3.c
│ │ │ │ │ ├── umodti3.c
│ │ │ │ │ └── x86_64
│ │ │ │ │ ├── chkstk2.S
│ │ │ │ │ ├── chkstk.S
│ │ │ │ │ ├── floatdidf.c
│ │ │ │ │ ├── floatdisf.c
│ │ │ │ │ ├── floatdixf.c
│ │ │ │ │ ├── floatundidf.S
│ │ │ │ │ ├── floatundisf.S
│ │ │ │ │ ├── floatundixf.S
│ │ │ │ │ └── Makefile.mk
│ │ │ │ ├── cfi
│ │ │ │ │ ├── cfi_blacklist.txt
│ │ │ │ │ ├── cfi.cc
│ │ │ │ │ └── CMakeLists.txt
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── dfsan
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── dfsan.cc
│ │ │ │ │ ├── dfsan_custom.cc
│ │ │ │ │ ├── dfsan_flags.inc
│ │ │ │ │ ├── dfsan.h
│ │ │ │ │ ├── dfsan_interceptors.cc
│ │ │ │ │ ├── dfsan_platform.h
│ │ │ │ │ ├── dfsan.syms.extra
│ │ │ │ │ ├── done_abilist.txt
│ │ │ │ │ ├── libc_ubuntu1404_abilist.txt
│ │ │ │ │ └── scripts
│ │ │ │ │ ├── build-libc-list.py
│ │ │ │ │ └── check_custom_wrappers.sh
│ │ │ │ ├── interception
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── interception.h
│ │ │ │ │ ├── interception_linux.cc
│ │ │ │ │ ├── interception_linux.h
│ │ │ │ │ ├── interception_mac.cc
│ │ │ │ │ ├── interception_mac.h
│ │ │ │ │ ├── interception_type_test.cc
│ │ │ │ │ ├── interception_win.cc
│ │ │ │ │ ├── interception_win.h
│ │ │ │ │ └── Makefile.mk
│ │ │ │ ├── lsan
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── lsan_allocator.cc
│ │ │ │ │ ├── lsan_allocator.h
│ │ │ │ │ ├── lsan.cc
│ │ │ │ │ ├── lsan_common.cc
│ │ │ │ │ ├── lsan_common.h
│ │ │ │ │ ├── lsan_common_linux.cc
│ │ │ │ │ ├── lsan_flags.inc
│ │ │ │ │ ├── lsan.h
│ │ │ │ │ ├── lsan_interceptors.cc
│ │ │ │ │ ├── lsan_preinit.cc
│ │ │ │ │ ├── lsan_thread.cc
│ │ │ │ │ ├── lsan_thread.h
│ │ │ │ │ └── Makefile.mk
│ │ │ │ ├── Makefile.mk
│ │ │ │ ├── msan
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── msan_allocator.cc
│ │ │ │ │ ├── msan_allocator.h
│ │ │ │ │ ├── msan_blacklist.txt
│ │ │ │ │ ├── msan.cc
│ │ │ │ │ ├── msan_chained_origin_depot.cc
│ │ │ │ │ ├── msan_chained_origin_depot.h
│ │ │ │ │ ├── msan_flags.h
│ │ │ │ │ ├── msan_flags.inc
│ │ │ │ │ ├── msan.h
│ │ │ │ │ ├── msan_interceptors.cc
│ │ │ │ │ ├── msan_interface_internal.h
│ │ │ │ │ ├── msan_linux.cc
│ │ │ │ │ ├── msan_new_delete.cc
│ │ │ │ │ ├── msan_origin.h
│ │ │ │ │ ├── msan_poisoning.cc
│ │ │ │ │ ├── msan_poisoning.h
│ │ │ │ │ ├── msan_report.cc
│ │ │ │ │ ├── msan.syms.extra
│ │ │ │ │ ├── msan_thread.cc
│ │ │ │ │ ├── msan_thread.h
│ │ │ │ │ └── tests
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── msan_loadable.cc
│ │ │ │ │ ├── msan_test.cc
│ │ │ │ │ ├── msan_test_config.h
│ │ │ │ │ └── msan_test_main.cc
│ │ │ │ ├── profile
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── GCDAProfiling.c
│ │ │ │ │ ├── InstrProfData.inc
│ │ │ │ │ ├── InstrProfilingBuffer.c
│ │ │ │ │ ├── InstrProfiling.c
│ │ │ │ │ ├── InstrProfilingFile.c
│ │ │ │ │ ├── InstrProfiling.h
│ │ │ │ │ ├── InstrProfilingInternal.h
│ │ │ │ │ ├── InstrProfilingPlatformDarwin.c
│ │ │ │ │ ├── InstrProfilingPlatformLinux.c
│ │ │ │ │ ├── InstrProfilingPlatformOther.c
│ │ │ │ │ ├── InstrProfilingPort.h
│ │ │ │ │ ├── InstrProfilingRuntime.cc
│ │ │ │ │ ├── InstrProfilingUtil.c
│ │ │ │ │ ├── InstrProfilingUtil.h
│ │ │ │ │ ├── InstrProfilingValue.c
│ │ │ │ │ ├── InstrProfilingWriter.c
│ │ │ │ │ └── Makefile.mk
│ │ │ │ ├── safestack
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── safestack.cc
│ │ │ │ ├── sanitizer_common
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ ├── sanitizer_addrhashmap.h
│ │ │ │ │ ├── sanitizer_allocator.cc
│ │ │ │ │ ├── sanitizer_allocator.h
│ │ │ │ │ ├── sanitizer_allocator_interface.h
│ │ │ │ │ ├── sanitizer_allocator_internal.h
│ │ │ │ │ ├── sanitizer_asm.h
│ │ │ │ │ ├── sanitizer_atomic_clang.h
│ │ │ │ │ ├── sanitizer_atomic_clang_other.h
│ │ │ │ │ ├── sanitizer_atomic_clang_x86.h
│ │ │ │ │ ├── sanitizer_atomic.h
│ │ │ │ │ ├── sanitizer_atomic_msvc.h
│ │ │ │ │ ├── sanitizer_bitvector.h
│ │ │ │ │ ├── sanitizer_bvgraph.h
│ │ │ │ │ ├── sanitizer_common.cc
│ │ │ │ │ ├── sanitizer_common.h
│ │ │ │ │ ├── sanitizer_common_interceptors_format.inc
│ │ │ │ │ ├── sanitizer_common_interceptors.inc
│ │ │ │ │ ├── sanitizer_common_interceptors_ioctl.inc
│ │ │ │ │ ├── sanitizer_common_libcdep.cc
│ │ │ │ │ ├── sanitizer_common_nolibc.cc
│ │ │ │ │ ├── sanitizer_common_syscalls.inc
│ │ │ │ │ ├── sanitizer_coverage_libcdep.cc
│ │ │ │ │ ├── sanitizer_coverage_mapping_libcdep.cc
│ │ │ │ │ ├── sanitizer_deadlock_detector1.cc
│ │ │ │ │ ├── sanitizer_deadlock_detector2.cc
│ │ │ │ │ ├── sanitizer_deadlock_detector.h
│ │ │ │ │ ├── sanitizer_deadlock_detector_interface.h
│ │ │ │ │ ├── sanitizer_flag_parser.cc
│ │ │ │ │ ├── sanitizer_flag_parser.h
│ │ │ │ │ ├── sanitizer_flags.cc
│ │ │ │ │ ├── sanitizer_flags.h
│ │ │ │ │ ├── sanitizer_flags.inc
│ │ │ │ │ ├── sanitizer_freebsd.h
│ │ │ │ │ ├── sanitizer_interface_internal.h
│ │ │ │ │ ├── sanitizer_internal_defs.h
│ │ │ │ │ ├── sanitizer_lfstack.h
│ │ │ │ │ ├── sanitizer_libc.cc
│ │ │ │ │ ├── sanitizer_libc.h
│ │ │ │ │ ├── sanitizer_libignore.cc
│ │ │ │ │ ├── sanitizer_libignore.h
│ │ │ │ │ ├── sanitizer_linux.cc
│ │ │ │ │ ├── sanitizer_linux.h
│ │ │ │ │ ├── sanitizer_linux_libcdep.cc
│ │ │ │ │ ├── sanitizer_list.h
│ │ │ │ │ ├── sanitizer_mac.cc
│ │ │ │ │ ├── sanitizer_mac.h
│ │ │ │ │ ├── sanitizer_malloc_mac.inc
│ │ │ │ │ ├── sanitizer_mutex.h
│ │ │ │ │ ├── sanitizer_persistent_allocator.cc
│ │ │ │ │ ├── sanitizer_persistent_allocator.h
│ │ │ │ │ ├── sanitizer_placement_new.h
│ │ │ │ │ ├── sanitizer_platform.h
│ │ │ │ │ ├── sanitizer_platform_interceptors.h
│ │ │ │ │ ├── sanitizer_platform_limits_linux.cc
│ │ │ │ │ ├── sanitizer_platform_limits_posix.cc
│ │ │ │ │ ├── sanitizer_platform_limits_posix.h
│ │ │ │ │ ├── sanitizer_posix.cc
│ │ │ │ │ ├── sanitizer_posix.h
│ │ │ │ │ ├── sanitizer_posix_libcdep.cc
│ │ │ │ │ ├── sanitizer_printf.cc
│ │ │ │ │ ├── sanitizer_procmaps_common.cc
│ │ │ │ │ ├── sanitizer_procmaps_freebsd.cc
│ │ │ │ │ ├── sanitizer_procmaps.h
│ │ │ │ │ ├── sanitizer_procmaps_linux.cc
│ │ │ │ │ ├── sanitizer_procmaps_mac.cc
│ │ │ │ │ ├── sanitizer_quarantine.h
│ │ │ │ │ ├── sanitizer_report_decorator.h
│ │ │ │ │ ├── sanitizer_stackdepotbase.h
│ │ │ │ │ ├── sanitizer_stackdepot.cc
│ │ │ │ │ ├── sanitizer_stackdepot.h
│ │ │ │ │ ├── sanitizer_stacktrace.cc
│ │ │ │ │ ├── sanitizer_stacktrace.h
│ │ │ │ │ ├── sanitizer_stacktrace_libcdep.cc
│ │ │ │ │ ├── sanitizer_stacktrace_printer.cc
│ │ │ │ │ ├── sanitizer_stacktrace_printer.h
│ │ │ │ │ ├── sanitizer_stoptheworld.h
│ │ │ │ │ ├── sanitizer_stoptheworld_linux_libcdep.cc
│ │ │ │ │ ├── sanitizer_suppressions.cc
│ │ │ │ │ ├── sanitizer_suppressions.h
│ │ │ │ │ ├── sanitizer_symbolizer.cc
│ │ │ │ │ ├── sanitizer_symbolizer.h
│ │ │ │ │ ├── sanitizer_symbolizer_internal.h
│ │ │ │ │ ├── sanitizer_symbolizer_libbacktrace.cc
│ │ │ │ │ ├── sanitizer_symbolizer_libbacktrace.h
│ │ │ │ │ ├── sanitizer_symbolizer_libcdep.cc
│ │ │ │ │ ├── sanitizer_symbolizer_mac.cc
│ │ │ │ │ ├── sanitizer_symbolizer_mac.h
│ │ │ │ │ ├── sanitizer_symbolizer_posix_libcdep.cc
│ │ │ │ │ ├── sanitizer_symbolizer_win.cc
│ │ │ │ │ ├── sanitizer_syscall_generic.inc
│ │ │ │ │ ├── sanitizer_syscall_linux_aarch64.inc
│ │ │ │ │ ├── sanitizer_syscall_linux_x86_64.inc
│ │ │ │ │ ├── sanitizer_thread_registry.cc
│ │ │ │ │ ├── sanitizer_thread_registry.h
│ │ │ │ │ ├── sanitizer_tls_get_addr.cc
│ │ │ │ │ ├── sanitizer_tls_get_addr.h
│ │ │ │ │ ├── sanitizer_unwind_linux_libcdep.cc
│ │ │ │ │ ├── sanitizer_win.cc
│ │ │ │ │ ├── scripts
│ │ │ │ │ │ ├── check_lint.sh
│ │ │ │ │ │ ├── cpplint.py
│ │ │ │ │ │ ├── gen_dynamic_list.py
│ │ │ │ │ │ ├── litlint.py
│ │ │ │ │ │ ├── litlint_test.py
│ │ │ │ │ │ └── sancov.py
│ │ │ │ │ └── tests
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── sanitizer_allocator_test.cc
│ │ │ │ │ ├── sanitizer_allocator_testlib.cc
│ │ │ │ │ ├── sanitizer_atomic_test.cc
│ │ │ │ │ ├── sanitizer_bitvector_test.cc
│ │ │ │ │ ├── sanitizer_bvgraph_test.cc
│ │ │ │ │ ├── sanitizer_common_test.cc
│ │ │ │ │ ├── sanitizer_deadlock_detector_test.cc
│ │ │ │ │ ├── sanitizer_flags_test.cc
│ │ │ │ │ ├── sanitizer_format_interceptor_test.cc
│ │ │ │ │ ├── sanitizer_ioctl_test.cc
│ │ │ │ │ ├── sanitizer_libc_test.cc
│ │ │ │ │ ├── sanitizer_linux_test.cc
│ │ │ │ │ ├── sanitizer_list_test.cc
│ │ │ │ │ ├── sanitizer_mutex_test.cc
│ │ │ │ │ ├── sanitizer_nolibc_test.cc
│ │ │ │ │ ├── sanitizer_nolibc_test_main.cc
│ │ │ │ │ ├── sanitizer_posix_test.cc
│ │ │ │ │ ├── sanitizer_printf_test.cc
│ │ │ │ │ ├── sanitizer_procmaps_test.cc
│ │ │ │ │ ├── sanitizer_pthread_wrappers.h
│ │ │ │ │ ├── sanitizer_stackdepot_test.cc
│ │ │ │ │ ├── sanitizer_stacktrace_printer_test.cc
│ │ │ │ │ ├── sanitizer_stacktrace_test.cc
│ │ │ │ │ ├── sanitizer_stoptheworld_test.cc
│ │ │ │ │ ├── sanitizer_stoptheworld_testlib.cc
│ │ │ │ │ ├── sanitizer_suppressions_test.cc
│ │ │ │ │ ├── sanitizer_symbolizer_test.cc
│ │ │ │ │ ├── sanitizer_test_config.h
│ │ │ │ │ ├── sanitizer_test_main.cc
│ │ │ │ │ ├── sanitizer_test_utils.h
│ │ │ │ │ ├── sanitizer_thread_registry_test.cc
│ │ │ │ │ └── standalone_malloc_test.cc
│ │ │ │ ├── tsan
│ │ │ │ │ ├── analyze_libtsan.sh
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── benchmarks
│ │ │ │ │ │ ├── mini_bench_local.cc
│ │ │ │ │ │ ├── mini_bench_shared.cc
│ │ │ │ │ │ ├── start_many_threads.cc
│ │ │ │ │ │ └── vts_many_threads_bench.cc
│ │ │ │ │ ├── check_analyze.sh
│ │ │ │ │ ├── check_cmake.sh
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── dd
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── dd_interceptors.cc
│ │ │ │ │ │ ├── dd_rtl.cc
│ │ │ │ │ │ └── dd_rtl.h
│ │ │ │ │ ├── go
│ │ │ │ │ │ ├── build.bat
│ │ │ │ │ │ ├── buildgo.sh
│ │ │ │ │ │ ├── test.c
│ │ │ │ │ │ └── tsan_go.cc
│ │ │ │ │ ├── rtl
│ │ │ │ │ │ ├── tsan_clock.cc
│ │ │ │ │ │ ├── tsan_clock.h
│ │ │ │ │ │ ├── tsan_defs.h
│ │ │ │ │ │ ├── tsan_dense_alloc.h
│ │ │ │ │ │ ├── tsan_fd.cc
│ │ │ │ │ │ ├── tsan_fd.h
│ │ │ │ │ │ ├── tsan_flags.cc
│ │ │ │ │ │ ├── tsan_flags.h
│ │ │ │ │ │ ├── tsan_flags.inc
│ │ │ │ │ │ ├── tsan_ignoreset.cc
│ │ │ │ │ │ ├── tsan_ignoreset.h
│ │ │ │ │ │ ├── tsan_interceptors.cc
│ │ │ │ │ │ ├── tsan_interceptors.h
│ │ │ │ │ │ ├── tsan_interceptors_mac.cc
│ │ │ │ │ │ ├── tsan_interface_ann.cc
│ │ │ │ │ │ ├── tsan_interface_ann.h
│ │ │ │ │ │ ├── tsan_interface_atomic.cc
│ │ │ │ │ │ ├── tsan_interface.cc
│ │ │ │ │ │ ├── tsan_interface.h
│ │ │ │ │ │ ├── tsan_interface_inl.h
│ │ │ │ │ │ ├── tsan_interface_java.cc
│ │ │ │ │ │ ├── tsan_interface_java.h
│ │ │ │ │ │ ├── tsan_libdispatch_mac.cc
│ │ │ │ │ │ ├── tsan_malloc_mac.cc
│ │ │ │ │ │ ├── tsan_md5.cc
│ │ │ │ │ │ ├── tsan_mman.cc
│ │ │ │ │ │ ├── tsan_mman.h
│ │ │ │ │ │ ├── tsan_mutex.cc
│ │ │ │ │ │ ├── tsan_mutex.h
│ │ │ │ │ │ ├── tsan_mutexset.cc
│ │ │ │ │ │ ├── tsan_mutexset.h
│ │ │ │ │ │ ├── tsan_new_delete.cc
│ │ │ │ │ │ ├── tsan_platform.h
│ │ │ │ │ │ ├── tsan_platform_linux.cc
│ │ │ │ │ │ ├── tsan_platform_mac.cc
│ │ │ │ │ │ ├── tsan_platform_posix.cc
│ │ │ │ │ │ ├── tsan_platform_windows.cc
│ │ │ │ │ │ ├── tsan_ppc_regs.h
│ │ │ │ │ │ ├── tsan_report.cc
│ │ │ │ │ │ ├── tsan_report.h
│ │ │ │ │ │ ├── tsan_rtl_aarch64.S
│ │ │ │ │ │ ├── tsan_rtl_amd64.S
│ │ │ │ │ │ ├── tsan_rtl.cc
│ │ │ │ │ │ ├── tsan_rtl.h
│ │ │ │ │ │ ├── tsan_rtl_mutex.cc
│ │ │ │ │ │ ├── tsan_rtl_ppc64.S
│ │ │ │ │ │ ├── tsan_rtl_report.cc
│ │ │ │ │ │ ├── tsan_rtl_thread.cc
│ │ │ │ │ │ ├── tsan_stack_trace.cc
│ │ │ │ │ │ ├── tsan_stack_trace.h
│ │ │ │ │ │ ├── tsan_stat.cc
│ │ │ │ │ │ ├── tsan_stat.h
│ │ │ │ │ │ ├── tsan_suppressions.cc
│ │ │ │ │ │ ├── tsan_suppressions.h
│ │ │ │ │ │ ├── tsan_symbolize.cc
│ │ │ │ │ │ ├── tsan_symbolize.h
│ │ │ │ │ │ ├── tsan.syms.extra
│ │ │ │ │ │ ├── tsan_sync.cc
│ │ │ │ │ │ ├── tsan_sync.h
│ │ │ │ │ │ ├── tsan_trace.h
│ │ │ │ │ │ ├── tsan_update_shadow_word_inl.h
│ │ │ │ │ │ └── tsan_vector.h
│ │ │ │ │ └── tests
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── rtl
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── tsan_bench.cc
│ │ │ │ │ │ ├── tsan_mop.cc
│ │ │ │ │ │ ├── tsan_mutex.cc
│ │ │ │ │ │ ├── tsan_posix.cc
│ │ │ │ │ │ ├── tsan_string.cc
│ │ │ │ │ │ ├── tsan_test.cc
│ │ │ │ │ │ ├── tsan_test_util.h
│ │ │ │ │ │ ├── tsan_test_util_linux.cc
│ │ │ │ │ │ └── tsan_thread.cc
│ │ │ │ │ └── unit
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── tsan_clock_test.cc
│ │ │ │ │ ├── tsan_dense_alloc_test.cc
│ │ │ │ │ ├── tsan_flags_test.cc
│ │ │ │ │ ├── tsan_mman_test.cc
│ │ │ │ │ ├── tsan_mutexset_test.cc
│ │ │ │ │ ├── tsan_mutex_test.cc
│ │ │ │ │ ├── tsan_shadow_test.cc
│ │ │ │ │ ├── tsan_stack_test.cc
│ │ │ │ │ ├── tsan_sync_test.cc
│ │ │ │ │ ├── tsan_unit_test_main.cc
│ │ │ │ │ └── tsan_vector_test.cc
│ │ │ │ └── ubsan
│ │ │ │ ├── Android.mk
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── Makefile.mk
│ │ │ │ ├── ubsan_checks.inc
│ │ │ │ ├── ubsan_diag.cc
│ │ │ │ ├── ubsan_diag.h
│ │ │ │ ├── ubsan_flags.cc
│ │ │ │ ├── ubsan_flags.h
│ │ │ │ ├── ubsan_flags.inc
│ │ │ │ ├── ubsan_handlers.cc
│ │ │ │ ├── ubsan_handlers_cxx.cc
│ │ │ │ ├── ubsan_handlers_cxx.h
│ │ │ │ ├── ubsan_handlers.h
│ │ │ │ ├── ubsan_init.cc
│ │ │ │ ├── ubsan_init.h
│ │ │ │ ├── ubsan_init_standalone.cc
│ │ │ │ ├── ubsan_platform.h
│ │ │ │ ├── ubsan.syms.extra
│ │ │ │ ├── ubsan_type_hash.cc
│ │ │ │ ├── ubsan_type_hash.h
│ │ │ │ ├── ubsan_type_hash_itanium.cc
│ │ │ │ ├── ubsan_type_hash_win.cc
│ │ │ │ ├── ubsan_value.cc
│ │ │ │ └── ubsan_value.h
│ │ │ ├── LICENSE.TXT
│ │ │ ├── make
│ │ │ │ ├── AppleBI.mk
│ │ │ │ ├── config.mk
│ │ │ │ ├── filter-inputs
│ │ │ │ ├── lib_info.mk
│ │ │ │ ├── lib_platforms.mk
│ │ │ │ ├── lib_util.mk
│ │ │ │ ├── options.mk
│ │ │ │ ├── platform
│ │ │ │ │ ├── clang_darwin.mk
│ │ │ │ │ ├── clang_darwin_test_input.c
│ │ │ │ │ ├── clang_linux.mk
│ │ │ │ │ ├── clang_linux_test_input.c
│ │ │ │ │ ├── clang_macho_embedded.mk
│ │ │ │ │ ├── clang_macho_embedded_test_input.c
│ │ │ │ │ ├── clang_mingw.mk
│ │ │ │ │ ├── darwin_bni.mk
│ │ │ │ │ └── multi_arch.mk
│ │ │ │ ├── subdir.mk
│ │ │ │ ├── test
│ │ │ │ │ └── test-util.mk
│ │ │ │ └── util.mk
│ │ │ ├── Makefile
│ │ │ ├── MODULE_LICENSE_MIT
│ │ │ ├── NOTICE
│ │ │ ├── README.android
│ │ │ └── README.txt
│ │ ├── expat
│ │ │ ├── Android.mk
│ │ │ ├── Changes
│ │ │ ├── CleanSpec.mk
│ │ │ ├── expat_config.h
│ │ │ ├── import_expat.sh
│ │ │ ├── lib
│ │ │ │ ├── ascii.h
│ │ │ │ ├── asciitab.h
│ │ │ │ ├── expat_external.h
│ │ │ │ ├── expat.h
│ │ │ │ ├── iasciitab.h
│ │ │ │ ├── internal.h
│ │ │ │ ├── latin1tab.h
│ │ │ │ ├── nametab.h
│ │ │ │ ├── utf8tab.h
│ │ │ │ ├── xmlparse.c
│ │ │ │ ├── xmlrole.c
│ │ │ │ ├── xmlrole.h
│ │ │ │ ├── xmltok.c
│ │ │ │ ├── xmltok.h
│ │ │ │ ├── xmltok_impl.c
│ │ │ │ ├── xmltok_impl.h
│ │ │ │ └── xmltok_ns.c
│ │ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ │ ├── NOTICE
│ │ │ ├── README
│ │ │ ├── README.android
│ │ │ └── README.version
│ │ ├── libcxx
│ │ │ ├── Android.bp
│ │ │ ├── Android.mk
│ │ │ ├── buildcmds
│ │ │ │ ├── Android.mk
│ │ │ │ ├── buildcmdscc
│ │ │ │ └── dummy.cpp
│ │ │ ├── cmake
│ │ │ │ ├── config-ix.cmake
│ │ │ │ └── Modules
│ │ │ │ ├── CodeCoverage.cmake
│ │ │ │ ├── HandleLibCXXABI.cmake
│ │ │ │ ├── HandleLibcxxFlags.cmake
│ │ │ │ ├── HandleOutOfTreeLLVM.cmake
│ │ │ │ └── MacroEnsureOutOfSourceBuild.cmake
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CREDITS.TXT
│ │ │ ├── include
│ │ │ │ ├── algorithm
│ │ │ │ ├── array
│ │ │ │ ├── atomic
│ │ │ │ ├── __bit_reference
│ │ │ │ ├── bitset
│ │ │ │ ├── cassert
│ │ │ │ ├── ccomplex
│ │ │ │ ├── cctype
│ │ │ │ ├── cerrno
│ │ │ │ ├── cfenv
│ │ │ │ ├── cfloat
│ │ │ │ ├── chrono
│ │ │ │ ├── cinttypes
│ │ │ │ ├── ciso646
│ │ │ │ ├── climits
│ │ │ │ ├── clocale
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── cmath
│ │ │ │ ├── codecvt
│ │ │ │ ├── complex
│ │ │ │ ├── complex.h
│ │ │ │ ├── condition_variable
│ │ │ │ ├── __config
│ │ │ │ ├── csetjmp
│ │ │ │ ├── csignal
│ │ │ │ ├── cstdarg
│ │ │ │ ├── cstdbool
│ │ │ │ ├── cstddef
│ │ │ │ ├── cstdint
│ │ │ │ ├── cstdio
│ │ │ │ ├── cstdlib
│ │ │ │ ├── cstring
│ │ │ │ ├── ctgmath
│ │ │ │ ├── ctime
│ │ │ │ ├── cwchar
│ │ │ │ ├── cwctype
│ │ │ │ ├── __cxxabi_config.h
│ │ │ │ ├── __debug
│ │ │ │ ├── deque
│ │ │ │ ├── exception
│ │ │ │ ├── experimental
│ │ │ │ │ ├── algorithm
│ │ │ │ │ ├── any
│ │ │ │ │ ├── chrono
│ │ │ │ │ ├── __config
│ │ │ │ │ ├── dynarray
│ │ │ │ │ ├── functional
│ │ │ │ │ ├── optional
│ │ │ │ │ ├── ratio
│ │ │ │ │ ├── string_view
│ │ │ │ │ ├── system_error
│ │ │ │ │ ├── tuple
│ │ │ │ │ ├── type_traits
│ │ │ │ │ └── utility
│ │ │ │ ├── ext
│ │ │ │ │ ├── __hash
│ │ │ │ │ ├── hash_map
│ │ │ │ │ └── hash_set
│ │ │ │ ├── forward_list
│ │ │ │ ├── fstream
│ │ │ │ ├── functional
│ │ │ │ ├── __functional_03
│ │ │ │ ├── __functional_base
│ │ │ │ ├── __functional_base_03
│ │ │ │ ├── future
│ │ │ │ ├── __hash_table
│ │ │ │ ├── initializer_list
│ │ │ │ ├── iomanip
│ │ │ │ ├── ios
│ │ │ │ ├── iosfwd
│ │ │ │ ├── iostream
│ │ │ │ ├── istream
│ │ │ │ ├── iterator
│ │ │ │ ├── limits
│ │ │ │ ├── list
│ │ │ │ ├── __locale
│ │ │ │ ├── locale
│ │ │ │ ├── map
│ │ │ │ ├── memory
│ │ │ │ ├── module.modulemap
│ │ │ │ ├── mutex
│ │ │ │ ├── __mutex_base
│ │ │ │ ├── new
│ │ │ │ ├── numeric
│ │ │ │ ├── ostream
│ │ │ │ ├── queue
│ │ │ │ ├── random
│ │ │ │ ├── ratio
│ │ │ │ ├── __refstring
│ │ │ │ ├── regex
│ │ │ │ ├── scoped_allocator
│ │ │ │ ├── set
│ │ │ │ ├── shared_mutex
│ │ │ │ ├── __split_buffer
│ │ │ │ ├── __sso_allocator
│ │ │ │ ├── sstream
│ │ │ │ ├── stack
│ │ │ │ ├── stdexcept
│ │ │ │ ├── __std_stream
│ │ │ │ ├── streambuf
│ │ │ │ ├── string
│ │ │ │ ├── strstream
│ │ │ │ ├── support
│ │ │ │ │ ├── android
│ │ │ │ │ │ └── locale_bionic.h
│ │ │ │ │ ├── ibm
│ │ │ │ │ │ ├── limits.h
│ │ │ │ │ │ ├── support.h
│ │ │ │ │ │ └── xlocale.h
│ │ │ │ │ ├── newlib
│ │ │ │ │ │ └── xlocale.h
│ │ │ │ │ ├── solaris
│ │ │ │ │ │ ├── floatingpoint.h
│ │ │ │ │ │ ├── wchar.h
│ │ │ │ │ │ └── xlocale.h
│ │ │ │ │ ├── win32
│ │ │ │ │ │ ├── limits_win32.h
│ │ │ │ │ │ ├── locale_win32.h
│ │ │ │ │ │ ├── math_win32.h
│ │ │ │ │ │ └── support.h
│ │ │ │ │ └── xlocale
│ │ │ │ │ └── xlocale.h
│ │ │ │ ├── system_error
│ │ │ │ ├── tgmath.h
│ │ │ │ ├── thread
│ │ │ │ ├── __tree
│ │ │ │ ├── __tuple
│ │ │ │ ├── tuple
│ │ │ │ ├── typeindex
│ │ │ │ ├── typeinfo
│ │ │ │ ├── type_traits
│ │ │ │ ├── __undef___deallocate
│ │ │ │ ├── __undef_min_max
│ │ │ │ ├── unordered_map
│ │ │ │ ├── unordered_set
│ │ │ │ ├── utility
│ │ │ │ ├── valarray
│ │ │ │ └── vector
│ │ │ ├── lib
│ │ │ │ ├── buildit
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── libc abi2.exp
│ │ │ │ ├── libc abi.exp
│ │ │ │ ├── libc sjlj-abi.exp
│ │ │ │ ├── libc unexp.exp
│ │ │ │ ├── notweak.exp
│ │ │ │ └── weak.exp
│ │ │ ├── LICENSE.TXT
│ │ │ ├── lit.site.cfg
│ │ │ ├── Makefile
│ │ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ │ ├── ndk-test.sh
│ │ │ ├── NOTICE
│ │ │ ├── run-tests.py
│ │ │ ├── src
│ │ │ │ ├── algorithm.cpp
│ │ │ │ ├── any.cpp
│ │ │ │ ├── bind.cpp
│ │ │ │ ├── chrono.cpp
│ │ │ │ ├── condition_variable.cpp
│ │ │ │ ├── config_elast.h
│ │ │ │ ├── debug.cpp
│ │ │ │ ├── exception.cpp
│ │ │ │ ├── future.cpp
│ │ │ │ ├── hash.cpp
│ │ │ │ ├── ios.cpp
│ │ │ │ ├── iostream.cpp
│ │ │ │ ├── locale.cpp
│ │ │ │ ├── memory.cpp
│ │ │ │ ├── mutex.cpp
│ │ │ │ ├── new.cpp
│ │ │ │ ├── optional.cpp
│ │ │ │ ├── random.cpp
│ │ │ │ ├── regex.cpp
│ │ │ │ ├── shared_mutex.cpp
│ │ │ │ ├── stdexcept.cpp
│ │ │ │ ├── string.cpp
│ │ │ │ ├── strstream.cpp
│ │ │ │ ├── support
│ │ │ │ │ ├── atomic_support.h
│ │ │ │ │ ├── solaris
│ │ │ │ │ │ ├── mbsnrtowcs.inc
│ │ │ │ │ │ ├── README
│ │ │ │ │ │ ├── wcsnrtombs.inc
│ │ │ │ │ │ └── xlocale.c
│ │ │ │ │ └── win32
│ │ │ │ │ ├── locale_win32.cpp
│ │ │ │ │ └── support.cpp
│ │ │ │ ├── system_error.cpp
│ │ │ │ ├── thread.cpp
│ │ │ │ ├── typeinfo.cpp
│ │ │ │ ├── utility.cpp
│ │ │ │ └── valarray.cpp
│ │ │ ├── test.mk
│ │ │ ├── TODO.TXT
│ │ │ └── utils
│ │ │ ├── not
│ │ │ │ └── not.py
│ │ │ └── sym_check
│ │ │ ├── linux_blacklist.txt
│ │ │ ├── osx_blacklist.txt
│ │ │ ├── sym_check
│ │ │ │ ├── diff.py
│ │ │ │ ├── extract.py
│ │ │ │ ├── __init__.py
│ │ │ │ ├── match.py
│ │ │ │ └── util.py
│ │ │ ├── sym_diff.py
│ │ │ ├── sym_extract.py
│ │ │ └── sym_match.py
│ │ ├── libcxxabi
│ │ │ ├── Android.bp
│ │ │ ├── Android.mk
│ │ │ ├── cmake
│ │ │ │ └── config-ix.cmake
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CREDITS.TXT
│ │ │ ├── include
│ │ │ │ ├── __cxxabi_config.h
│ │ │ │ └── cxxabi.h
│ │ │ ├── lib
│ │ │ │ └── buildit
│ │ │ ├── LICENSE.TXT
│ │ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ │ ├── NOTICE
│ │ │ └── src
│ │ │ ├── abort_message.cpp
│ │ │ ├── abort_message.h
│ │ │ ├── CMakeLists.txt
│ │ │ ├── config.h
│ │ │ ├── cxa_aux_runtime.cpp
│ │ │ ├── cxa_default_handlers.cpp
│ │ │ ├── cxa_demangle.cpp
│ │ │ ├── cxa_exception.cpp
│ │ │ ├── cxa_exception.hpp
│ │ │ ├── cxa_exception_storage.cpp
│ │ │ ├── cxa_guard.cpp
│ │ │ ├── cxa_handlers.cpp
│ │ │ ├── cxa_handlers.hpp
│ │ │ ├── cxa_new_delete.cpp
│ │ │ ├── cxa_personality.cpp
│ │ │ ├── cxa_thread_atexit.cpp
│ │ │ ├── cxa_unexpected.cpp
│ │ │ ├── cxa_vector.cpp
│ │ │ ├── cxa_virtual.cpp
│ │ │ ├── exception.cpp
│ │ │ ├── fallback_malloc.ipp
│ │ │ ├── private_typeinfo.cpp
│ │ │ ├── private_typeinfo.h
│ │ │ ├── stdexcept.cpp
│ │ │ └── typeinfo.cpp
│ │ ├── libpng
│ │ │ ├── Android.mk
│ │ │ ├── ANNOUNCE
│ │ │ ├── arm
│ │ │ │ ├── arm_init.c
│ │ │ │ ├── filter_neon_intrinsics.c
│ │ │ │ └── filter_neon.S
│ │ │ ├── autogen.sh
│ │ │ ├── CHANGES
│ │ │ ├── CleanSpec.mk
│ │ │ ├── CMakeLists.txt
│ │ │ ├── configure.ac
│ │ │ ├── contrib
│ │ │ │ ├── arm-neon
│ │ │ │ │ ├── android-ndk.c
│ │ │ │ │ ├── linux-auxv.c
│ │ │ │ │ ├── linux.c
│ │ │ │ │ └── README
│ │ │ │ ├── conftest
│ │ │ │ │ ├── read.dfa
│ │ │ │ │ ├── README
│ │ │ │ │ ├── simple.dfa
│ │ │ │ │ ├── s_read.dfa
│ │ │ │ │ ├── s_write.dfa
│ │ │ │ │ └── write.dfa
│ │ │ │ ├── examples
│ │ │ │ │ ├── iccfrompng.c
│ │ │ │ │ ├── pngpixel.c
│ │ │ │ │ ├── pngtopng.c
│ │ │ │ │ └── README.txt
│ │ │ │ ├── gregbook
│ │ │ │ │ ├── COPYING
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── Makefile.mingw32
│ │ │ │ │ ├── Makefile.sgi
│ │ │ │ │ ├── Makefile.unx
│ │ │ │ │ ├── Makefile.w32
│ │ │ │ │ ├── makevms.com
│ │ │ │ │ ├── README
│ │ │ │ │ ├── readpng2.c
│ │ │ │ │ ├── readpng2.h
│ │ │ │ │ ├── readpng.c
│ │ │ │ │ ├── readpng.h
│ │ │ │ │ ├── readppm.c
│ │ │ │ │ ├── rpng2-win.c
│ │ │ │ │ ├── rpng2-x.c
│ │ │ │ │ ├── rpng-win.c
│ │ │ │ │ ├── rpng-x.c
│ │ │ │ │ ├── toucan.png
│ │ │ │ │ ├── wpng.c
│ │ │ │ │ ├── writepng.c
│ │ │ │ │ └── writepng.h
│ │ │ │ ├── intel
│ │ │ │ │ ├── configure.ac.patch
│ │ │ │ │ ├── filter_sse2_intrinsics.c
│ │ │ │ │ ├── INSTALL
│ │ │ │ │ ├── intel_init.c
│ │ │ │ │ └── Makefile.am.patch
│ │ │ │ ├── libtests
│ │ │ │ │ ├── fakepng.c
│ │ │ │ │ ├── gentests.sh
│ │ │ │ │ ├── makepng.c
│ │ │ │ │ ├── pngimage.c
│ │ │ │ │ ├── pngstest.c
│ │ │ │ │ ├── pngstest-errors.h
│ │ │ │ │ ├── pngunknown.c
│ │ │ │ │ ├── pngvalid.c
│ │ │ │ │ ├── readpng.c
│ │ │ │ │ ├── tarith.c
│ │ │ │ │ └── timepng.c
│ │ │ │ ├── pngminim
│ │ │ │ │ ├── decoder
│ │ │ │ │ │ ├── makefile
│ │ │ │ │ │ ├── pngusr.dfa
│ │ │ │ │ │ ├── pngusr.h
│ │ │ │ │ │ └── README
│ │ │ │ │ ├── encoder
│ │ │ │ │ │ ├── makefile
│ │ │ │ │ │ ├── pngusr.dfa
│ │ │ │ │ │ ├── pngusr.h
│ │ │ │ │ │ └── README
│ │ │ │ │ ├── preader
│ │ │ │ │ │ ├── makefile
│ │ │ │ │ │ ├── pngusr.dfa
│ │ │ │ │ │ ├── pngusr.h
│ │ │ │ │ │ └── README
│ │ │ │ │ └── README
│ │ │ │ ├── pngminus
│ │ │ │ │ ├── makefile.std
│ │ │ │ │ ├── makefile.tc3
│ │ │ │ │ ├── makevms.com
│ │ │ │ │ ├── png2pnm.bat
│ │ │ │ │ ├── png2pnm.c
│ │ │ │ │ ├── png2pnm.sh
│ │ │ │ │ ├── pngminus.bat
│ │ │ │ │ ├── pngminus.sh
│ │ │ │ │ ├── pnm2png.bat
│ │ │ │ │ ├── pnm2png.c
│ │ │ │ │ ├── pnm2png.sh
│ │ │ │ │ └── README
│ │ │ │ ├── pngsuite
│ │ │ │ │ ├── basn0g01.png
│ │ │ │ │ ├── basn0g02.png
│ │ │ │ │ ├── basn0g04.png
│ │ │ │ │ ├── basn0g08.png
│ │ │ │ │ ├── basn0g16.png
│ │ │ │ │ ├── basn2c08.png
│ │ │ │ │ ├── basn2c16.png
│ │ │ │ │ ├── basn3p01.png
│ │ │ │ │ ├── basn3p02.png
│ │ │ │ │ ├── basn3p04.png
│ │ │ │ │ ├── basn3p08.png
│ │ │ │ │ ├── basn4a08.png
│ │ │ │ │ ├── basn4a16.png
│ │ │ │ │ ├── basn6a08.png
│ │ │ │ │ ├── basn6a16.png
│ │ │ │ │ ├── ftbbn0g01.png
│ │ │ │ │ ├── ftbbn0g02.png
│ │ │ │ │ ├── ftbbn0g04.png
│ │ │ │ │ ├── ftbbn2c16.png
│ │ │ │ │ ├── ftbbn3p08.png
│ │ │ │ │ ├── ftbgn2c16.png
│ │ │ │ │ ├── ftbgn3p08.png
│ │ │ │ │ ├── ftbrn2c08.png
│ │ │ │ │ ├── ftbwn0g16.png
│ │ │ │ │ ├── ftbwn3p08.png
│ │ │ │ │ ├── ftbyn3p08.png
│ │ │ │ │ ├── ftp0n0g08.png
│ │ │ │ │ ├── ftp0n2c08.png
│ │ │ │ │ ├── ftp0n3p08.png
│ │ │ │ │ ├── ftp1n3p08.png
│ │ │ │ │ └── README
│ │ │ │ ├── README.txt
│ │ │ │ ├── tools
│ │ │ │ │ ├── checksum-icc.c
│ │ │ │ │ ├── chkfmt
│ │ │ │ │ ├── cvtcolor.c
│ │ │ │ │ ├── genpng.c
│ │ │ │ │ ├── intgamma.sh
│ │ │ │ │ ├── makesRGB.c
│ │ │ │ │ ├── pngfix.c
│ │ │ │ │ ├── png-fix-itxt.c
│ │ │ │ │ ├── README.txt
│ │ │ │ │ └── sRGB.h
│ │ │ │ └── visupng
│ │ │ │ ├── cexcept.h
│ │ │ │ ├── PngFile.c
│ │ │ │ ├── PngFile.h
│ │ │ │ ├── README.txt
│ │ │ │ ├── resource.h
│ │ │ │ ├── VisualPng.c
│ │ │ │ ├── VisualPng.dsp
│ │ │ │ ├── VisualPng.dsw
│ │ │ │ ├── VisualPng.ico
│ │ │ │ ├── VisualPng.png
│ │ │ │ └── VisualPng.rc
│ │ │ ├── example.c
│ │ │ ├── INSTALL
│ │ │ ├── libpng.3
│ │ │ ├── libpng-config.in
│ │ │ ├── libpng-manual.txt
│ │ │ ├── libpng.pc.in
│ │ │ ├── libpngpf.3
│ │ │ ├── LICENSE
│ │ │ ├── Makefile.am
│ │ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ │ ├── png.5
│ │ │ ├── pngbar.jpg
│ │ │ ├── pngbar.png
│ │ │ ├── png.c
│ │ │ ├── pngconf.h
│ │ │ ├── pngdebug.h
│ │ │ ├── pngerror.c
│ │ │ ├── pngget.c
│ │ │ ├── png.h
│ │ │ ├── pnginfo.h
│ │ │ ├── pnglibconf.h
│ │ │ ├── pngmem.c
│ │ │ ├── pngnow.png
│ │ │ ├── pngpread.c
│ │ │ ├── pngpriv.h
│ │ │ ├── pngread.c
│ │ │ ├── pngrio.c
│ │ │ ├── pngrtran.c
│ │ │ ├── pngrutil.c
│ │ │ ├── pngset.c
│ │ │ ├── pngstruct.h
│ │ │ ├── pngtest.c
│ │ │ ├── pngtest.png
│ │ │ ├── pngtrans.c
│ │ │ ├── pngusr.dfa
│ │ │ ├── pngusr.h
│ │ │ ├── pngwio.c
│ │ │ ├── pngwrite.c
│ │ │ ├── pngwtran.c
│ │ │ ├── pngwutil.c
│ │ │ ├── projects
│ │ │ │ ├── owatcom
│ │ │ │ │ ├── libpng.tgt
│ │ │ │ │ ├── libpng.wpj
│ │ │ │ │ ├── pngconfig.mak
│ │ │ │ │ ├── pngstest.tgt
│ │ │ │ │ ├── pngtest.tgt
│ │ │ │ │ └── pngvalid.tgt
│ │ │ │ ├── visualc71
│ │ │ │ │ ├── libpng.sln
│ │ │ │ │ ├── libpng.vcproj
│ │ │ │ │ ├── pngtest.vcproj
│ │ │ │ │ ├── PRJ0041.mak
│ │ │ │ │ ├── README.txt
│ │ │ │ │ ├── README_zlib.txt
│ │ │ │ │ └── zlib.vcproj
│ │ │ │ └── vstudio
│ │ │ │ ├── libpng
│ │ │ │ │ └── libpng.vcxproj
│ │ │ │ ├── pnglibconf
│ │ │ │ │ └── pnglibconf.vcxproj
│ │ │ │ ├── pngstest
│ │ │ │ │ └── pngstest.vcxproj
│ │ │ │ ├── pngtest
│ │ │ │ │ └── pngtest.vcxproj
│ │ │ │ ├── pngunknown
│ │ │ │ │ └── pngunknown.vcxproj
│ │ │ │ ├── pngvalid
│ │ │ │ │ └── pngvalid.vcxproj
│ │ │ │ ├── README.txt
│ │ │ │ ├── vstudio.sln
│ │ │ │ ├── zlib
│ │ │ │ │ └── zlib.vcxproj
│ │ │ │ └── zlib.props
│ │ │ ├── README
│ │ │ ├── README.android
│ │ │ ├── README.version
│ │ │ ├── scripts
│ │ │ │ ├── checksym.awk
│ │ │ │ ├── def.c
│ │ │ │ ├── descrip.mms
│ │ │ │ ├── dfn.awk
│ │ │ │ ├── genchk.cmake.in
│ │ │ │ ├── genout.cmake.in
│ │ │ │ ├── gensrc.cmake.in
│ │ │ │ ├── intprefix.c
│ │ │ │ ├── libpng-config-body.in
│ │ │ │ ├── libpng-config-head.in
│ │ │ │ ├── libpng.pc.in
│ │ │ │ ├── macro.lst
│ │ │ │ ├── makefile.32sunu
│ │ │ │ ├── makefile.64sunu
│ │ │ │ ├── makefile.acorn
│ │ │ │ ├── makefile.aix
│ │ │ │ ├── makefile.amiga
│ │ │ │ ├── makefile.atari
│ │ │ │ ├── makefile.bc32
│ │ │ │ ├── makefile.beos
│ │ │ │ ├── makefile.bor
│ │ │ │ ├── makefile.cegcc
│ │ │ │ ├── makefile.darwin
│ │ │ │ ├── makefile.dec
│ │ │ │ ├── makefile.dj2
│ │ │ │ ├── makefile.freebsd
│ │ │ │ ├── makefile.gcc
│ │ │ │ ├── makefile.hp64
│ │ │ │ ├── makefile.hpgcc
│ │ │ │ ├── makefile.hpux
│ │ │ │ ├── makefile.ibmc
│ │ │ │ ├── makefile.intel
│ │ │ │ ├── makefile.knr
│ │ │ │ ├── makefile.linux
│ │ │ │ ├── makefile.mips
│ │ │ │ ├── makefile.msc
│ │ │ │ ├── makefile.msys
│ │ │ │ ├── makefile.ne12bsd
│ │ │ │ ├── makefile.netbsd
│ │ │ │ ├── makefile.openbsd
│ │ │ │ ├── makefile.sco
│ │ │ │ ├── makefile.sggcc
│ │ │ │ ├── makefile.sgi
│ │ │ │ ├── makefile.so9
│ │ │ │ ├── makefile.solaris
│ │ │ │ ├── makefile.solaris-x86
│ │ │ │ ├── makefile.std
│ │ │ │ ├── makefile.sunos
│ │ │ │ ├── makefile.tc3
│ │ │ │ ├── makefile.vcwin32
│ │ │ │ ├── makevms.com
│ │ │ │ ├── options.awk
│ │ │ │ ├── pnglibconf.dfa
│ │ │ │ ├── pnglibconf.h.prebuilt
│ │ │ │ ├── pnglibconf.mak
│ │ │ │ ├── pngwin.rc
│ │ │ │ ├── prefix.c
│ │ │ │ ├── README.txt
│ │ │ │ ├── SCOPTIONS.ppc
│ │ │ │ ├── smakefile.ppc
│ │ │ │ ├── symbols.c
│ │ │ │ ├── symbols.def
│ │ │ │ ├── sym.c
│ │ │ │ ├── test.cmake.in
│ │ │ │ └── vers.c
│ │ │ └── TODO
│ │ ├── safe-iop
│ │ │ ├── Android.mk
│ │ │ ├── CleanSpec.mk
│ │ │ ├── include
│ │ │ │ └── safe_iop.h
│ │ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ │ ├── NOTICE
│ │ │ ├── README.version
│ │ │ ├── src
│ │ │ │ └── safe_iop.c
│ │ │ └── testsuite
│ │ │ └── Android.mk
│ │ └── zlib
│ │ ├── Android.mk
│ │ ├── CleanSpec.mk
│ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ ├── NOTICE
│ │ ├── src
│ │ │ ├── adler32.c
│ │ │ ├── amiga
│ │ │ │ ├── Makefile.pup
│ │ │ │ └── Makefile.sas
│ │ │ ├── as400
│ │ │ │ ├── bndsrc
│ │ │ │ ├── compile.clp
│ │ │ │ ├── readme.txt
│ │ │ │ └── zlib.inc
│ │ │ ├── ChangeLog
│ │ │ ├── CMakeLists.txt
│ │ │ ├── compress.c
│ │ │ ├── configure
│ │ │ ├── contrib
│ │ │ │ ├── ada
│ │ │ │ │ ├── buffer_demo.adb
│ │ │ │ │ ├── mtest.adb
│ │ │ │ │ ├── read.adb
│ │ │ │ │ ├── readme.txt
│ │ │ │ │ ├── test.adb
│ │ │ │ │ ├── zlib.adb
│ │ │ │ │ ├── zlib.ads
│ │ │ │ │ ├── zlib.gpr
│ │ │ │ │ ├── zlib-streams.adb
│ │ │ │ │ ├── zlib-streams.ads
│ │ │ │ │ ├── zlib-thin.adb
│ │ │ │ │ └── zlib-thin.ads
│ │ │ │ ├── amd64
│ │ │ │ │ └── amd64-match.S
│ │ │ │ ├── asm686
│ │ │ │ │ ├── match.S
│ │ │ │ │ └── README.686
│ │ │ │ ├── blast
│ │ │ │ │ ├── blast.c
│ │ │ │ │ ├── blast.h
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── README
│ │ │ │ │ ├── test.pk
│ │ │ │ │ └── test.txt
│ │ │ │ ├── delphi
│ │ │ │ │ ├── readme.txt
│ │ │ │ │ ├── ZLibConst.pas
│ │ │ │ │ ├── zlibd32.mak
│ │ │ │ │ └── ZLib.pas
│ │ │ │ ├── dotzlib
│ │ │ │ │ ├── DotZLib
│ │ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ │ ├── ChecksumImpl.cs
│ │ │ │ │ │ ├── CircularBuffer.cs
│ │ │ │ │ │ ├── CodecBase.cs
│ │ │ │ │ │ ├── Deflater.cs
│ │ │ │ │ │ ├── DotZLib.cs
│ │ │ │ │ │ ├── DotZLib.csproj
│ │ │ │ │ │ ├── GZipStream.cs
│ │ │ │ │ │ ├── Inflater.cs
│ │ │ │ │ │ └── UnitTests.cs
│ │ │ │ │ ├── DotZLib.build
│ │ │ │ │ ├── DotZLib.chm
│ │ │ │ │ ├── DotZLib.sln
│ │ │ │ │ ├── LICENSE_1_0.txt
│ │ │ │ │ └── readme.txt
│ │ │ │ ├── gcc_gvmat64
│ │ │ │ │ └── gvmat64.S
│ │ │ │ ├── infback9
│ │ │ │ │ ├── infback9.c
│ │ │ │ │ ├── infback9.h
│ │ │ │ │ ├── inffix9.h
│ │ │ │ │ ├── inflate9.h
│ │ │ │ │ ├── inftree9.c
│ │ │ │ │ ├── inftree9.h
│ │ │ │ │ └── README
│ │ │ │ ├── inflate86
│ │ │ │ │ ├── inffas86.c
│ │ │ │ │ └── inffast.S
│ │ │ │ ├── iostream
│ │ │ │ │ ├── test.cpp
│ │ │ │ │ ├── zfstream.cpp
│ │ │ │ │ └── zfstream.h
│ │ │ │ ├── iostream2
│ │ │ │ │ ├── zstream.h
│ │ │ │ │ └── zstream_test.cpp
│ │ │ │ ├── iostream3
│ │ │ │ │ ├── README
│ │ │ │ │ ├── test.cc
│ │ │ │ │ ├── TODO
│ │ │ │ │ ├── zfstream.cc
│ │ │ │ │ └── zfstream.h
│ │ │ │ ├── masmx64
│ │ │ │ │ ├── bld_ml64.bat
│ │ │ │ │ ├── gvmat64.asm
│ │ │ │ │ ├── inffas8664.c
│ │ │ │ │ ├── inffasx64.asm
│ │ │ │ │ └── readme.txt
│ │ │ │ ├── masmx86
│ │ │ │ │ ├── bld_ml32.bat
│ │ │ │ │ ├── inffas32.asm
│ │ │ │ │ ├── match686.asm
│ │ │ │ │ └── readme.txt
│ │ │ │ ├── minizip
│ │ │ │ │ ├── configure.ac
│ │ │ │ │ ├── crypt.h
│ │ │ │ │ ├── ioapi.c
│ │ │ │ │ ├── ioapi.h
│ │ │ │ │ ├── iowin32.c
│ │ │ │ │ ├── iowin32.h
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── Makefile.am
│ │ │ │ │ ├── make_vms.com
│ │ │ │ │ ├── miniunz.c
│ │ │ │ │ ├── miniunzip.1
│ │ │ │ │ ├── minizip.1
│ │ │ │ │ ├── MiniZip64_Changes.txt
│ │ │ │ │ ├── MiniZip64_info.txt
│ │ │ │ │ ├── minizip.c
│ │ │ │ │ ├── minizip.pc.in
│ │ │ │ │ ├── mztools.c
│ │ │ │ │ ├── mztools.h
│ │ │ │ │ ├── unzip.c
│ │ │ │ │ ├── unzip.h
│ │ │ │ │ ├── zip.c
│ │ │ │ │ └── zip.h
│ │ │ │ ├── pascal
│ │ │ │ │ ├── example.pas
│ │ │ │ │ ├── readme.txt
│ │ │ │ │ ├── zlibd32.mak
│ │ │ │ │ └── zlibpas.pas
│ │ │ │ ├── puff
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── puff.c
│ │ │ │ │ ├── puff.h
│ │ │ │ │ ├── pufftest.c
│ │ │ │ │ ├── README
│ │ │ │ │ └── zeros.raw
│ │ │ │ ├── README.contrib
│ │ │ │ ├── testzlib
│ │ │ │ │ ├── testzlib.c
│ │ │ │ │ └── testzlib.txt
│ │ │ │ ├── untgz
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── Makefile.msc
│ │ │ │ │ └── untgz.c
│ │ │ │ └── vstudio
│ │ │ │ ├── readme.txt
│ │ │ │ ├── vc10
│ │ │ │ │ ├── miniunz.vcxproj
│ │ │ │ │ ├── miniunz.vcxproj.filters
│ │ │ │ │ ├── minizip.vcxproj
│ │ │ │ │ ├── minizip.vcxproj.filters
│ │ │ │ │ ├── testzlibdll.vcxproj
│ │ │ │ │ ├── testzlibdll.vcxproj.filters
│ │ │ │ │ ├── testzlib.vcxproj
│ │ │ │ │ ├── testzlib.vcxproj.filters
│ │ │ │ │ ├── zlib.rc
│ │ │ │ │ ├── zlibstat.vcxproj
│ │ │ │ │ ├── zlibstat.vcxproj.filters
│ │ │ │ │ ├── zlibvc.def
│ │ │ │ │ ├── zlibvc.sln
│ │ │ │ │ ├── zlibvc.vcxproj
│ │ │ │ │ └── zlibvc.vcxproj.filters
│ │ │ │ ├── vc11
│ │ │ │ │ ├── miniunz.vcxproj
│ │ │ │ │ ├── minizip.vcxproj
│ │ │ │ │ ├── testzlibdll.vcxproj
│ │ │ │ │ ├── testzlib.vcxproj
│ │ │ │ │ ├── zlib.rc
│ │ │ │ │ ├── zlibstat.vcxproj
│ │ │ │ │ ├── zlibvc.def
│ │ │ │ │ ├── zlibvc.sln
│ │ │ │ │ └── zlibvc.vcxproj
│ │ │ │ └── vc9
│ │ │ │ ├── miniunz.vcproj
│ │ │ │ ├── minizip.vcproj
│ │ │ │ ├── testzlibdll.vcproj
│ │ │ │ ├── testzlib.vcproj
│ │ │ │ ├── zlib.rc
│ │ │ │ ├── zlibstat.vcproj
│ │ │ │ ├── zlibvc.def
│ │ │ │ ├── zlibvc.sln
│ │ │ │ └── zlibvc.vcproj
│ │ │ ├── crc32.c
│ │ │ ├── crc32.h
│ │ │ ├── deflate.c
│ │ │ ├── deflate.h
│ │ │ ├── doc
│ │ │ │ ├── algorithm.txt
│ │ │ │ ├── rfc1950.txt
│ │ │ │ ├── rfc1951.txt
│ │ │ │ ├── rfc1952.txt
│ │ │ │ └── txtvsbin.txt
│ │ │ ├── examples
│ │ │ │ ├── enough.c
│ │ │ │ ├── fitblk.c
│ │ │ │ ├── gun.c
│ │ │ │ ├── gzappend.c
│ │ │ │ ├── gzjoin.c
│ │ │ │ ├── gzlog.c
│ │ │ │ ├── gzlog.h
│ │ │ │ ├── README.examples
│ │ │ │ ├── zlib_how.html
│ │ │ │ ├── zpipe.c
│ │ │ │ └── zran.c
│ │ │ ├── FAQ
│ │ │ ├── gzclose.c
│ │ │ ├── gzguts.h
│ │ │ ├── gzlib.c
│ │ │ ├── gzread.c
│ │ │ ├── gzwrite.c
│ │ │ ├── INDEX
│ │ │ ├── infback.c
│ │ │ ├── inffast.c
│ │ │ ├── inffast.h
│ │ │ ├── inffixed.h
│ │ │ ├── inflate.c
│ │ │ ├── inflate.h
│ │ │ ├── inftrees.c
│ │ │ ├── inftrees.h
│ │ │ ├── Makefile.in
│ │ │ ├── make_vms.com
│ │ │ ├── msdos
│ │ │ │ ├── Makefile.bor
│ │ │ │ ├── Makefile.dj2
│ │ │ │ ├── Makefile.emx
│ │ │ │ ├── Makefile.msc
│ │ │ │ └── Makefile.tc
│ │ │ ├── nintendods
│ │ │ │ ├── Makefile
│ │ │ │ └── README
│ │ │ ├── old
│ │ │ │ ├── descrip.mms
│ │ │ │ ├── Makefile.emx
│ │ │ │ ├── Makefile.riscos
│ │ │ │ ├── os2
│ │ │ │ │ ├── Makefile.os2
│ │ │ │ │ └── zlib.def
│ │ │ │ ├── README
│ │ │ │ └── visual-basic.txt
│ │ │ ├── qnx
│ │ │ │ └── package.qpg
│ │ │ ├── README
│ │ │ ├── test
│ │ │ │ ├── example.c
│ │ │ │ ├── infcover.c
│ │ │ │ └── minigzip.c
│ │ │ ├── treebuild.xml
│ │ │ ├── trees.c
│ │ │ ├── trees.h
│ │ │ ├── uncompr.c
│ │ │ ├── watcom
│ │ │ │ ├── watcom_f.mak
│ │ │ │ └── watcom_l.mak
│ │ │ ├── win32
│ │ │ │ ├── DLL_FAQ.txt
│ │ │ │ ├── Makefile.bor
│ │ │ │ ├── Makefile.gcc
│ │ │ │ ├── Makefile.msc
│ │ │ │ ├── README-WIN32.txt
│ │ │ │ ├── VisualC.txt
│ │ │ │ ├── zlib1.rc
│ │ │ │ └── zlib.def
│ │ │ ├── zconf.h
│ │ │ ├── zconf.h.cmakein
│ │ │ ├── zconf.h.in
│ │ │ ├── zlib2ansi
│ │ │ ├── zlib.3
│ │ │ ├── zlib.3.pdf
│ │ │ ├── zlib.h
│ │ │ ├── zlib.map
│ │ │ ├── zlib.pc
│ │ │ ├── zlib.pc.cmakein
│ │ │ ├── zlib.pc.in
│ │ │ ├── zutil.c
│ │ │ └── zutil.h
│ │ ├── update_zlib.sh
│ │ ├── zconf.h
│ │ ├── zlib.h
│ │ └── zutil.h
│ ├── frameworks
│ │ ├── base
│ │ │ ├── include
│ │ │ │ ├── androidfw
│ │ │ │ │ ├── AssetDir.h
│ │ │ │ │ ├── Asset.h
│ │ │ │ │ ├── AssetManager.h
│ │ │ │ │ ├── AttributeFinder.h
│ │ │ │ │ ├── BackupHelpers.h
│ │ │ │ │ ├── ByteBucketArray.h
│ │ │ │ │ ├── CursorWindow.h
│ │ │ │ │ ├── DisplayEventDispatcher.h
│ │ │ │ │ ├── LocaleData.h
│ │ │ │ │ ├── misc.h
│ │ │ │ │ ├── ObbFile.h
│ │ │ │ │ ├── ResourcePackageId.h
│ │ │ │ │ ├── ResourceTypes.h
│ │ │ │ │ ├── StreamingZipInflater.h
│ │ │ │ │ ├── TypeWrappers.h
│ │ │ │ │ ├── ZipFileRO.h
│ │ │ │ │ └── ZipUtils.h
│ │ │ │ ├── android_runtime
│ │ │ │ │ ├── android_app_NativeActivity.h
│ │ │ │ │ ├── android_content_res_Configuration.h
│ │ │ │ │ ├── android_graphics_SurfaceTexture.h
│ │ │ │ │ ├── android_hardware_camera2_CameraMetadata.h
│ │ │ │ │ ├── AndroidRuntime.h
│ │ │ │ │ ├── android_util_AssetManager.h
│ │ │ │ │ ├── android_view_InputQueue.h
│ │ │ │ │ ├── android_view_Surface.h
│ │ │ │ │ ├── android_view_SurfaceSession.h
│ │ │ │ │ └── Log.h
│ │ │ │ ├── private
│ │ │ │ │ ├── hwui
│ │ │ │ │ │ └── DrawGlInfo.h
│ │ │ │ │ └── README
│ │ │ │ └── storage
│ │ │ │ ├── IMountService.h
│ │ │ │ ├── IMountServiceListener.h
│ │ │ │ ├── IMountShutdownObserver.h
│ │ │ │ └── IObbActionListener.h
│ │ │ ├── libs
│ │ │ │ └── androidfw
│ │ │ │ ├── Android.mk
│ │ │ │ ├── Asset.cpp
│ │ │ │ ├── AssetDir.cpp
│ │ │ │ ├── AssetManager.cpp
│ │ │ │ ├── BackupData.cpp
│ │ │ │ ├── BackupHelpers.cpp
│ │ │ │ ├── CursorWindow.cpp
│ │ │ │ ├── DisplayEventDispatcher.cpp
│ │ │ │ ├── LocaleData.cpp
│ │ │ │ ├── LocaleDataTables.cpp
│ │ │ │ ├── misc.cpp
│ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ ├── NOTICE
│ │ │ │ ├── ObbFile.cpp
│ │ │ │ ├── ResourceTypes.cpp
│ │ │ │ ├── StreamingZipInflater.cpp
│ │ │ │ ├── tests
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── AttributeFinder_test.cpp
│ │ │ │ │ ├── BackupData_test.cpp
│ │ │ │ │ ├── ByteBucketArray_test.cpp
│ │ │ │ │ ├── ConfigLocale_test.cpp
│ │ │ │ │ ├── Config_test.cpp
│ │ │ │ │ ├── data
│ │ │ │ │ │ ├── app
│ │ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ │ ├── app_arsc.h
│ │ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ ├── res
│ │ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ └── R.h
│ │ │ │ │ │ ├── basic
│ │ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ │ ├── basic_arsc.h
│ │ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ ├── res
│ │ │ │ │ │ │ │ ├── layout
│ │ │ │ │ │ │ │ │ └── main.xml
│ │ │ │ │ │ │ │ ├── layout-fr-sw600dp
│ │ │ │ │ │ │ │ │ └── main.xml
│ │ │ │ │ │ │ │ ├── values
│ │ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ │ ├── values-de
│ │ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ │ ├── values-fr
│ │ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ │ ├── values-hdpi
│ │ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ │ ├── values-sv
│ │ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ │ ├── values-xhdpi
│ │ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ │ └── values-xxhdpi
│ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ ├── R.h
│ │ │ │ │ │ │ ├── split_de_fr_arsc.h
│ │ │ │ │ │ │ ├── split_hdpi_v4_arsc.h
│ │ │ │ │ │ │ ├── split_xhdpi_v4_arsc.h
│ │ │ │ │ │ │ └── split_xxhdpi_v4_arsc.h
│ │ │ │ │ │ ├── feature
│ │ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ ├── feature_arsc.h
│ │ │ │ │ │ │ └── res
│ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ ├── lib
│ │ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ ├── lib_arsc.h
│ │ │ │ │ │ │ ├── res
│ │ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ └── R.h
│ │ │ │ │ │ ├── overlay
│ │ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ ├── overlay_arsc.h
│ │ │ │ │ │ │ └── res
│ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ └── system
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ ├── build
│ │ │ │ │ │ ├── res
│ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ └── themes.xml
│ │ │ │ │ │ ├── R.h
│ │ │ │ │ │ └── system_arsc.h
│ │ │ │ │ ├── Idmap_test.cpp
│ │ │ │ │ ├── ObbFile_test.cpp
│ │ │ │ │ ├── ResTable_test.cpp
│ │ │ │ │ ├── Split_test.cpp
│ │ │ │ │ ├── TestHelpers.cpp
│ │ │ │ │ ├── TestHelpers.h
│ │ │ │ │ ├── Theme_test.cpp
│ │ │ │ │ ├── TypeWrappers_test.cpp
│ │ │ │ │ └── ZipUtils_test.cpp
│ │ │ │ ├── TypeWrappers.cpp
│ │ │ │ ├── ZipFileRO.cpp
│ │ │ │ └── ZipUtils.cpp
│ │ │ └── tools
│ │ │ └── aapt
│ │ │ ├── AaptAssets.cpp
│ │ │ ├── AaptAssets.h
│ │ │ ├── AaptConfig.cpp
│ │ │ ├── AaptConfig.h
│ │ │ ├── AaptUtil.cpp
│ │ │ ├── AaptUtil.h
│ │ │ ├── AaptXml.cpp
│ │ │ ├── AaptXml.h
│ │ │ ├── Android.mk
│ │ │ ├── ApkBuilder.cpp
│ │ │ ├── ApkBuilder.h
│ │ │ ├── Bundle.h
│ │ │ ├── CacheUpdater.h
│ │ │ ├── Command.cpp
│ │ │ ├── ConfigDescription.h
│ │ │ ├── CrunchCache.cpp
│ │ │ ├── CrunchCache.h
│ │ │ ├── DirectoryWalker.h
│ │ │ ├── FileFinder.cpp
│ │ │ ├── FileFinder.h
│ │ │ ├── Images.cpp
│ │ │ ├── Images.h
│ │ │ ├── IndentPrinter.h
│ │ │ ├── Main.cpp
│ │ │ ├── Main.h
│ │ │ ├── NOTICE
│ │ │ ├── OutputSet.h
│ │ │ ├── Package.cpp
│ │ │ ├── pseudolocalize.cpp
│ │ │ ├── pseudolocalize.h
│ │ │ ├── Resource.cpp
│ │ │ ├── ResourceFilter.cpp
│ │ │ ├── ResourceFilter.h
│ │ │ ├── ResourceIdCache.cpp
│ │ │ ├── ResourceIdCache.h
│ │ │ ├── ResourceTable.cpp
│ │ │ ├── ResourceTable.h
│ │ │ ├── SdkConstants.h
│ │ │ ├── SourcePos.cpp
│ │ │ ├── SourcePos.h
│ │ │ ├── StringPool.cpp
│ │ │ ├── StringPool.h
│ │ │ ├── Symbol.h
│ │ │ ├── tests
│ │ │ │ ├── AaptConfig_test.cpp
│ │ │ │ ├── AaptGroupEntry_test.cpp
│ │ │ │ ├── CrunchCache_test.cpp
│ │ │ │ ├── FileFinder_test.cpp
│ │ │ │ ├── MockCacheUpdater.h
│ │ │ │ ├── MockDirectoryWalker.h
│ │ │ │ ├── MockFileFinder.h
│ │ │ │ ├── plurals
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── res
│ │ │ │ │ │ └── values
│ │ │ │ │ │ └── strings.xml
│ │ │ │ │ └── run.sh
│ │ │ │ ├── Pseudolocales_test.cpp
│ │ │ │ ├── ResourceFilter_test.cpp
│ │ │ │ ├── ResourceTable_test.cpp
│ │ │ │ └── TestHelper.h
│ │ │ ├── WorkQueue.cpp
│ │ │ ├── WorkQueue.h
│ │ │ ├── XMLNode.cpp
│ │ │ ├── XMLNode.h
│ │ │ ├── ZipEntry.cpp
│ │ │ ├── ZipEntry.h
│ │ │ ├── ZipFile.cpp
│ │ │ └── ZipFile.h
│ │ └── native
│ │ └── include
│ │ ├── android
│ │ │ ├── asset_manager.h
│ │ │ ├── asset_manager_jni.h
│ │ │ ├── bitmap.h
│ │ │ ├── choreographer.h
│ │ │ ├── configuration.h
│ │ │ ├── input.h
│ │ │ ├── keycodes.h
│ │ │ ├── looper.h
│ │ │ ├── multinetwork.h
│ │ │ ├── native_activity.h
│ │ │ ├── native_window.h
│ │ │ ├── native_window_jni.h
│ │ │ ├── obb.h
│ │ │ ├── rect.h
│ │ │ ├── sensor.h
│ │ │ ├── storage_manager.h
│ │ │ ├── trace.h
│ │ │ └── window.h
│ │ ├── batteryservice
│ │ │ ├── BatteryService.h
│ │ │ ├── IBatteryPropertiesListener.h
│ │ │ └── IBatteryPropertiesRegistrar.h
│ │ ├── binder
│ │ │ ├── AppOpsManager.h
│ │ │ ├── Binder.h
│ │ │ ├── BinderService.h
│ │ │ ├── BpBinder.h
│ │ │ ├── BufferedTextOutput.h
│ │ │ ├── Debug.h
│ │ │ ├── IAppOpsCallback.h
│ │ │ ├── IAppOpsService.h
│ │ │ ├── IBatteryStats.h
│ │ │ ├── IBinder.h
│ │ │ ├── IInterface.h
│ │ │ ├── IMediaResourceMonitor.h
│ │ │ ├── IMemory.h
│ │ │ ├── IPCThreadState.h
│ │ │ ├── IPermissionController.h
│ │ │ ├── IProcessInfoService.h
│ │ │ ├── IResultReceiver.h
│ │ │ ├── IServiceManager.h
│ │ │ ├── MemoryBase.h
│ │ │ ├── MemoryDealer.h
│ │ │ ├── MemoryHeapBase.h
│ │ │ ├── Parcelable.h
│ │ │ ├── Parcel.h
│ │ │ ├── PermissionCache.h
│ │ │ ├── PersistableBundle.h
│ │ │ ├── ProcessInfoService.h
│ │ │ ├── ProcessState.h
│ │ │ ├── Status.h
│ │ │ └── TextOutput.h
│ │ ├── diskusage
│ │ │ └── dirsize.h
│ │ ├── gui
│ │ │ ├── BitTube.h
│ │ │ ├── BufferItemConsumer.h
│ │ │ ├── BufferItem.h
│ │ │ ├── BufferQueueConsumer.h
│ │ │ ├── BufferQueueCore.h
│ │ │ ├── BufferQueueDefs.h
│ │ │ ├── BufferQueue.h
│ │ │ ├── BufferQueueProducer.h
│ │ │ ├── BufferSlot.h
│ │ │ ├── ConsumerBase.h
│ │ │ ├── CpuConsumer.h
│ │ │ ├── DisplayEventReceiver.h
│ │ │ ├── GLConsumer.h
│ │ │ ├── GraphicBufferAlloc.h
│ │ │ ├── GuiConfig.h
│ │ │ ├── IConsumerListener.h
│ │ │ ├── IDisplayEventConnection.h
│ │ │ ├── IGraphicBufferAlloc.h
│ │ │ ├── IGraphicBufferConsumer.h
│ │ │ ├── IGraphicBufferProducer.h
│ │ │ ├── IProducerListener.h
│ │ │ ├── ISensorEventConnection.h
│ │ │ ├── ISensorServer.h
│ │ │ ├── ISurfaceComposerClient.h
│ │ │ ├── ISurfaceComposer.h
│ │ │ ├── SensorEventQueue.h
│ │ │ ├── Sensor.h
│ │ │ ├── SensorManager.h
│ │ │ ├── StreamSplitter.h
│ │ │ ├── SurfaceComposerClient.h
│ │ │ ├── SurfaceControl.h
│ │ │ └── Surface.h
│ │ ├── input
│ │ │ ├── IInputFlinger.h
│ │ │ ├── InputDevice.h
│ │ │ ├── InputEventLabels.h
│ │ │ ├── Input.h
│ │ │ ├── InputTransport.h
│ │ │ ├── Keyboard.h
│ │ │ ├── KeyCharacterMap.h
│ │ │ ├── KeyLayoutMap.h
│ │ │ ├── VelocityControl.h
│ │ │ ├── VelocityTracker.h
│ │ │ └── VirtualKeyMap.h
│ │ ├── media
│ │ │ ├── drm
│ │ │ │ └── DrmAPI.h
│ │ │ ├── editor
│ │ │ │ └── II420ColorConverter.h
│ │ │ ├── hardware
│ │ │ │ ├── CryptoAPI.h
│ │ │ │ ├── HardwareAPI.h
│ │ │ │ ├── HDCPAPI.h
│ │ │ │ ├── MetadataBufferType.h
│ │ │ │ ├── OMXPluginBase.h
│ │ │ │ └── VideoAPI.h
│ │ │ └── openmax
│ │ │ ├── OMX_AsString.h
│ │ │ ├── OMX_AudioExt.h
│ │ │ ├── OMX_Audio.h
│ │ │ ├── OMX_Component.h
│ │ │ ├── OMX_ContentPipe.h
│ │ │ ├── OMX_Core.h
│ │ │ ├── OMX_Image.h
│ │ │ ├── OMX_IndexExt.h
│ │ │ ├── OMX_Index.h
│ │ │ ├── OMX_IVCommon.h
│ │ │ ├── OMX_Other.h
│ │ │ ├── OMX_Types.h
│ │ │ ├── OMX_VideoExt.h
│ │ │ └── OMX_Video.h
│ │ ├── powermanager
│ │ │ ├── IPowerManager.h
│ │ │ └── PowerManager.h
│ │ ├── private
│ │ │ ├── binder
│ │ │ │ ├── binder_module.h
│ │ │ │ └── Static.h
│ │ │ ├── gui
│ │ │ │ ├── ComposerService.h
│ │ │ │ ├── LayerState.h
│ │ │ │ └── SyncFeatures.h
│ │ │ └── ui
│ │ │ └── RegionHelper.h
│ │ └── ui
│ │ ├── ANativeObjectBase.h
│ │ ├── DisplayInfo.h
│ │ ├── DisplayStatInfo.h
│ │ ├── Fence.h
│ │ ├── FrameStats.h
│ │ ├── GraphicBufferAllocator.h
│ │ ├── GraphicBuffer.h
│ │ ├── GraphicBufferMapper.h
│ │ ├── HdrCapabilities.h
│ │ ├── mat4.h
│ │ ├── PixelFormat.h
│ │ ├── Point.h
│ │ ├── Rect.h
│ │ ├── Region.h
│ │ ├── TMatHelpers.h
│ │ ├── TVecHelpers.h
│ │ ├── UiConfig.h
│ │ ├── vec2.h
│ │ ├── vec3.h
│ │ └── vec4.h
│ ├── libnativehelper
│ │ ├── ALog-priv.h
│ │ ├── Android.mk
│ │ ├── AsynchronousCloseMonitor.cpp
│ │ ├── include
│ │ │ └── nativehelper
│ │ │ ├── AsynchronousCloseMonitor.h
│ │ │ ├── JniConstants.h
│ │ │ ├── jni.h
│ │ │ ├── JNIHelp.h
│ │ │ ├── JniInvocation.h
│ │ │ ├── ScopedBytes.h
│ │ │ ├── ScopedFd.h
│ │ │ ├── ScopedLocalFrame.h
│ │ │ ├── ScopedLocalRef.h
│ │ │ ├── ScopedPrimitiveArray.h
│ │ │ ├── ScopedStringChars.h
│ │ │ ├── ScopedUtfChars.h
│ │ │ ├── toStringArray.h
│ │ │ └── UniquePtr.h
│ │ ├── JniConstants.cpp
│ │ ├── JNIHelp.cpp
│ │ ├── JniInvocation.cpp
│ │ ├── MODULE_LICENSE_APACHE2
│ │ ├── NOTICE
│ │ ├── README
│ │ ├── tests
│ │ │ ├── Android.mk
│ │ │ └── JniInvocation_test.cpp
│ │ └── toStringArray.cpp
│ ├── Makefile
│ ├── patch
│ │ ├── 0001-patch-code.patch
│ │ ├── 0002-static-build.patch
│ │ └── 003-rewrite-parseResourceName.patch
│ ├── prebuilts
│ │ └── clang
│ │ └── host
│ │ └── darwin-x86
│ ├── README.md
│ ├── README.zh-cn.md
│ ├── system
│ │ └── core
│ │ ├── base
│ │ │ ├── Android.mk
│ │ │ ├── CPPLINT.cfg
│ │ │ ├── errors_test.cpp
│ │ │ ├── errors_unix.cpp
│ │ │ ├── errors_windows.cpp
│ │ │ ├── file.cpp
│ │ │ ├── file_test.cpp
│ │ │ ├── include
│ │ │ │ └── android-base
│ │ │ │ ├── errors.h
│ │ │ │ ├── file.h
│ │ │ │ ├── logging.h
│ │ │ │ ├── macros.h
│ │ │ │ ├── memory.h
│ │ │ │ ├── parseint.h
│ │ │ │ ├── parsenetaddress.h
│ │ │ │ ├── stringprintf.h
│ │ │ │ ├── strings.h
│ │ │ │ ├── test_utils.h
│ │ │ │ ├── thread_annotations.h
│ │ │ │ ├── unique_fd.h
│ │ │ │ └── utf8.h
│ │ │ ├── logging.cpp
│ │ │ ├── logging_test.cpp
│ │ │ ├── parseint_test.cpp
│ │ │ ├── parsenetaddress.cpp
│ │ │ ├── parsenetaddress_test.cpp
│ │ │ ├── stringprintf.cpp
│ │ │ ├── stringprintf_test.cpp
│ │ │ ├── strings.cpp
│ │ │ ├── strings_test.cpp
│ │ │ ├── test_main.cpp
│ │ │ ├── test_utils.cpp
│ │ │ ├── utf8.cpp
│ │ │ └── utf8_test.cpp
│ │ ├── include
│ │ │ ├── android
│ │ │ │ └── log.h
│ │ │ ├── backtrace
│ │ │ │ ├── backtrace_constants.h
│ │ │ │ ├── Backtrace.h
│ │ │ │ └── BacktraceMap.h
│ │ │ ├── binderwrapper
│ │ │ │ ├── binder_test_base.h
│ │ │ │ ├── binder_wrapper.h
│ │ │ │ └── stub_binder_wrapper.h
│ │ │ ├── cutils
│ │ │ │ ├── android_reboot.h
│ │ │ │ ├── ashmem.h
│ │ │ │ ├── atomic.h
│ │ │ │ ├── bitops.h
│ │ │ │ ├── compiler.h
│ │ │ │ ├── config_utils.h
│ │ │ │ ├── debugger.h
│ │ │ │ ├── fs.h
│ │ │ │ ├── hashmap.h
│ │ │ │ ├── iosched_policy.h
│ │ │ │ ├── jstring.h
│ │ │ │ ├── klog.h
│ │ │ │ ├── list.h
│ │ │ │ ├── log.h
│ │ │ │ ├── memory.h
│ │ │ │ ├── misc.h
│ │ │ │ ├── multiuser.h
│ │ │ │ ├── native_handle.h
│ │ │ │ ├── open_memstream.h
│ │ │ │ ├── partition_utils.h
│ │ │ │ ├── process_name.h
│ │ │ │ ├── properties.h
│ │ │ │ ├── qtaguid.h
│ │ │ │ ├── record_stream.h
│ │ │ │ ├── sched_policy.h
│ │ │ │ ├── sockets.h
│ │ │ │ ├── str_parms.h
│ │ │ │ ├── threads.h
│ │ │ │ ├── trace.h
│ │ │ │ └── uevent.h
│ │ │ ├── diskconfig
│ │ │ │ └── diskconfig.h
│ │ │ ├── log
│ │ │ │ ├── event_tag_map.h
│ │ │ │ ├── logd.h
│ │ │ │ ├── logger.h
│ │ │ │ ├── log.h
│ │ │ │ ├── logprint.h
│ │ │ │ ├── log_read.h
│ │ │ │ └── uio.h
│ │ │ ├── memtrack
│ │ │ │ └── memtrack.h
│ │ │ ├── mincrypt
│ │ │ │ ├── dsa_sig.h
│ │ │ │ ├── hash-internal.h
│ │ │ │ ├── p256_ecdsa.h
│ │ │ │ ├── p256.h
│ │ │ │ ├── rsa.h
│ │ │ │ ├── sha256.h
│ │ │ │ └── sha.h
│ │ │ ├── nativebridge
│ │ │ │ └── native_bridge.h
│ │ │ ├── netutils
│ │ │ │ └── ifc.h
│ │ │ ├── private
│ │ │ │ ├── android_filesystem_capability.h
│ │ │ │ ├── android_filesystem_config.h
│ │ │ │ ├── android_logger.h
│ │ │ │ └── canned_fs_config.h
│ │ │ ├── system
│ │ │ │ ├── camera.h
│ │ │ │ ├── graphics.h
│ │ │ │ ├── radio.h
│ │ │ │ ├── thread_defs.h
│ │ │ │ └── window.h
│ │ │ ├── sysutils
│ │ │ │ ├── FrameworkClient.h
│ │ │ │ ├── FrameworkCommand.h
│ │ │ │ ├── FrameworkListener.h
│ │ │ │ ├── List.h
│ │ │ │ ├── NetlinkEvent.h
│ │ │ │ ├── NetlinkListener.h
│ │ │ │ ├── ServiceManager.h
│ │ │ │ ├── SocketClientCommand.h
│ │ │ │ ├── SocketClient.h
│ │ │ │ └── SocketListener.h
│ │ │ ├── usbhost
│ │ │ │ └── usbhost.h
│ │ │ ├── utils
│ │ │ │ ├── AndroidThreads.h
│ │ │ │ ├── ashmem.h
│ │ │ │ ├── Atomic.h
│ │ │ │ ├── BitSet.h
│ │ │ │ ├── BlobCache.h
│ │ │ │ ├── ByteOrder.h
│ │ │ │ ├── CallStack.h
│ │ │ │ ├── Compat.h
│ │ │ │ ├── Condition.h
│ │ │ │ ├── Debug.h
│ │ │ │ ├── Endian.h
│ │ │ │ ├── Errors.h
│ │ │ │ ├── FileMap.h
│ │ │ │ ├── Flattenable.h
│ │ │ │ ├── Functor.h
│ │ │ │ ├── JenkinsHash.h
│ │ │ │ ├── KeyedVector.h
│ │ │ │ ├── LinearTransform.h
│ │ │ │ ├── List.h
│ │ │ │ ├── Log.h
│ │ │ │ ├── Looper.h
│ │ │ │ ├── LruCache.h
│ │ │ │ ├── misc.h
│ │ │ │ ├── Mutex.h
│ │ │ │ ├── NativeHandle.h
│ │ │ │ ├── Printer.h
│ │ │ │ ├── ProcessCallStack.h
│ │ │ │ ├── PropertyMap.h
│ │ │ │ ├── RefBase.h
│ │ │ │ ├── RWLock.h
│ │ │ │ ├── Singleton.h
│ │ │ │ ├── SortedVector.h
│ │ │ │ ├── StopWatch.h
│ │ │ │ ├── String16.h
│ │ │ │ ├── String8.h
│ │ │ │ ├── StrongPointer.h
│ │ │ │ ├── SystemClock.h
│ │ │ │ ├── ThreadDefs.h
│ │ │ │ ├── Thread.h
│ │ │ │ ├── threads.h
│ │ │ │ ├── Timers.h
│ │ │ │ ├── Tokenizer.h
│ │ │ │ ├── Trace.h
│ │ │ │ ├── TypeHelpers.h
│ │ │ │ ├── Unicode.h
│ │ │ │ ├── Vector.h
│ │ │ │ └── VectorImpl.h
│ │ │ └── ziparchive
│ │ │ ├── zip_archive.h
│ │ │ ├── zip_archive_stream_entry.h
│ │ │ └── zip_writer.h
│ │ ├── libcutils
│ │ │ ├── Android.mk
│ │ │ ├── android_reboot.c
│ │ │ ├── arch-arm
│ │ │ │ └── memset32.S
│ │ │ ├── arch-arm64
│ │ │ │ └── android_memset.S
│ │ │ ├── arch-mips
│ │ │ │ └── android_memset.c
│ │ │ ├── arch-x86
│ │ │ │ ├── android_memset16.S
│ │ │ │ ├── android_memset32.S
│ │ │ │ └── cache.h
│ │ │ ├── arch-x86_64
│ │ │ │ ├── android_memset16.S
│ │ │ │ ├── android_memset32.S
│ │ │ │ └── cache.h
│ │ │ ├── ashmem-dev.c
│ │ │ ├── ashmem-host.c
│ │ │ ├── atomic.c
│ │ │ ├── canned_fs_config.c
│ │ │ ├── config_utils.c
│ │ │ ├── debugger.c
│ │ │ ├── dlmalloc_stubs.c
│ │ │ ├── fs.c
│ │ │ ├── fs_config.c
│ │ │ ├── hashmap.c
│ │ │ ├── iosched_policy.c
│ │ │ ├── klog.c
│ │ │ ├── load_file.c
│ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ ├── multiuser.c
│ │ │ ├── native_handle.c
│ │ │ ├── NOTICE
│ │ │ ├── open_memstream.c
│ │ │ ├── partition_utils.c
│ │ │ ├── process_name.c
│ │ │ ├── properties.c
│ │ │ ├── qtaguid.c
│ │ │ ├── record_stream.c
│ │ │ ├── sched_policy.c
│ │ │ ├── socket_inaddr_any_server_unix.c
│ │ │ ├── socket_inaddr_any_server_windows.c
│ │ │ ├── socket_local_client_unix.c
│ │ │ ├── socket_local_server_unix.c
│ │ │ ├── socket_local_unix.h
│ │ │ ├── socket_loopback_client_unix.c
│ │ │ ├── socket_loopback_server_unix.c
│ │ │ ├── socket_network_client_unix.c
│ │ │ ├── socket_network_client_windows.c
│ │ │ ├── sockets.cpp
│ │ │ ├── sockets_unix.cpp
│ │ │ ├── sockets_windows.cpp
│ │ │ ├── strdup16to8.c
│ │ │ ├── strdup8to16.c
│ │ │ ├── strlcpy.c
│ │ │ ├── str_parms.c
│ │ │ ├── tests
│ │ │ │ ├── Android.mk
│ │ │ │ ├── MemsetTest.cpp
│ │ │ │ ├── PropertiesTest.cpp
│ │ │ │ └── test_str_parms.cpp
│ │ │ ├── threads.c
│ │ │ ├── trace-dev.c
│ │ │ ├── trace-host.c
│ │ │ └── uevent.c
│ │ ├── liblog
│ │ │ ├── Android.bp
│ │ │ ├── Android.mk
│ │ │ ├── config_read.c
│ │ │ ├── config_read.h
│ │ │ ├── config_write.c
│ │ │ ├── config_write.h
│ │ │ ├── event.logtags
│ │ │ ├── event_tag_map.c
│ │ │ ├── fake_log_device.c
│ │ │ ├── fake_log_device.h
│ │ │ ├── fake_writer.c
│ │ │ ├── logd_reader.c
│ │ │ ├── logd_writer.c
│ │ │ ├── log_event_list.c
│ │ │ ├── log_event_write.c
│ │ │ ├── logger.h
│ │ │ ├── logger_lock.c
│ │ │ ├── logger_name.c
│ │ │ ├── logger_read.c
│ │ │ ├── logger_write.c
│ │ │ ├── log_is_loggable.c
│ │ │ ├── log_portability.h
│ │ │ ├── logprint.c
│ │ │ ├── log_time.cpp
│ │ │ ├── NOTICE
│ │ │ ├── pmsg_reader.c
│ │ │ ├── pmsg_writer.c
│ │ │ ├── README
│ │ │ ├── tests
│ │ │ │ ├── Android.mk
│ │ │ │ ├── benchmark.h
│ │ │ │ ├── benchmark_main.cpp
│ │ │ │ ├── libc_test.cpp
│ │ │ │ ├── liblog_benchmark.cpp
│ │ │ │ └── liblog_test.cpp
│ │ │ └── uio.c
│ │ ├── libutils
│ │ │ ├── Android.mk
│ │ │ ├── BlobCache.cpp
│ │ │ ├── CallStack.cpp
│ │ │ ├── CleanSpec.mk
│ │ │ ├── FileMap.cpp
│ │ │ ├── JenkinsHash.cpp
│ │ │ ├── LinearTransform.cpp
│ │ │ ├── Log.cpp
│ │ │ ├── Looper.cpp
│ │ │ ├── misc.cpp
│ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ ├── NativeHandle.cpp
│ │ │ ├── NOTICE
│ │ │ ├── primes.py
│ │ │ ├── Printer.cpp
│ │ │ ├── ProcessCallStack.cpp
│ │ │ ├── PropertyMap.cpp
│ │ │ ├── README
│ │ │ ├── RefBase.cpp
│ │ │ ├── SharedBuffer.cpp
│ │ │ ├── SharedBuffer.h
│ │ │ ├── SharedBufferTest.cpp
│ │ │ ├── Static.cpp
│ │ │ ├── StopWatch.cpp
│ │ │ ├── String16.cpp
│ │ │ ├── String8.cpp
│ │ │ ├── SystemClock.cpp
│ │ │ ├── tests
│ │ │ │ ├── Android.mk
│ │ │ │ ├── BitSet_test.cpp
│ │ │ │ ├── BlobCache_test.cpp
│ │ │ │ ├── Looper_test.cpp
│ │ │ │ ├── LruCache_test.cpp
│ │ │ │ ├── String8_test.cpp
│ │ │ │ ├── StrongPointer_test.cpp
│ │ │ │ ├── TestHelpers.h
│ │ │ │ ├── Unicode_test.cpp
│ │ │ │ └── Vector_test.cpp
│ │ │ ├── Threads.cpp
│ │ │ ├── Timers.cpp
│ │ │ ├── Tokenizer.cpp
│ │ │ ├── Trace.cpp
│ │ │ ├── Unicode.cpp
│ │ │ └── VectorImpl.cpp
│ │ └── libziparchive
│ │ ├── Android.mk
│ │ ├── entry_name_utils-inl.h
│ │ ├── entry_name_utils_test.cc
│ │ ├── testdata
│ │ │ ├── bad_crc.zip
│ │ │ ├── declaredlength.zip
│ │ │ ├── large.zip
│ │ │ └── valid.zip
│ │ ├── zip_archive.cc
│ │ ├── zip_archive_common.h
│ │ ├── zip_archive_private.h
│ │ ├── zip_archive_stream_entry.cc
│ │ ├── zip_archive_test.cc
│ │ ├── zip_writer.cc
│ │ └── zip_writer_test.cc
│ └── UpdateAndroidSource.sh
├── atlas-aapt-old
│ └── frameworks
│ └── base
│ ├── include
│ │ └── androidfw
│ │ ├── AssetDir.h
│ │ ├── Asset.h
│ │ ├── AssetManager.h
│ │ ├── BackupHelpers.h
│ │ ├── ByteBucketArray.h
│ │ ├── CursorWindow.h
│ │ ├── misc.h
│ │ ├── ObbFile.h
│ │ ├── ResourcePackageId.h
│ │ ├── ResourceTypes.h
│ │ ├── StreamingZipInflater.h
│ │ ├── TypeWrappers.h
│ │ ├── ZipFileRO.h
│ │ └── ZipUtils.h
│ ├── libs
│ │ └── androidfw
│ │ ├── Android.mk
│ │ ├── Asset.cpp
│ │ ├── AssetDir.cpp
│ │ ├── AssetManager.cpp
│ │ ├── BackupData.cpp
│ │ ├── BackupHelpers.cpp
│ │ ├── CursorWindow.cpp
│ │ ├── misc.cpp
│ │ ├── MODULE_LICENSE_APACHE2
│ │ ├── NOTICE
│ │ ├── ObbFile.cpp
│ │ ├── ResourceTypes.cpp
│ │ ├── StreamingZipInflater.cpp
│ │ ├── tests
│ │ │ ├── Android.mk
│ │ │ ├── BackupData_test.cpp
│ │ │ ├── ByteBucketArray_test.cpp
│ │ │ ├── ConfigLocale_test.cpp
│ │ │ ├── Config_test.cpp
│ │ │ ├── data
│ │ │ │ ├── app
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── app_arsc.h
│ │ │ │ │ ├── res
│ │ │ │ │ │ └── values
│ │ │ │ │ │ └── values.xml
│ │ │ │ │ └── R.h
│ │ │ │ ├── basic
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── basic_arsc.h
│ │ │ │ │ ├── res
│ │ │ │ │ │ ├── layout
│ │ │ │ │ │ │ └── main.xml
│ │ │ │ │ │ ├── layout-fr-sw600dp
│ │ │ │ │ │ │ └── main.xml
│ │ │ │ │ │ ├── values
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ ├── values-de
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ ├── values-fr
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ └── values-sv
│ │ │ │ │ │ └── values.xml
│ │ │ │ │ ├── R.h
│ │ │ │ │ └── split_de_fr_arsc.h
│ │ │ │ ├── feature
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── feature_arsc.h
│ │ │ │ │ └── res
│ │ │ │ │ └── values
│ │ │ │ │ └── values.xml
│ │ │ │ ├── lib
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── lib_arsc.h
│ │ │ │ │ ├── res
│ │ │ │ │ │ └── values
│ │ │ │ │ │ └── values.xml
│ │ │ │ │ └── R.h
│ │ │ │ ├── overlay
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── overlay_arsc.h
│ │ │ │ │ └── res
│ │ │ │ │ └── values
│ │ │ │ │ └── values.xml
│ │ │ │ └── system
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── res
│ │ │ │ │ └── values
│ │ │ │ │ └── themes.xml
│ │ │ │ ├── R.h
│ │ │ │ └── system_arsc.h
│ │ │ ├── Idmap_test.cpp
│ │ │ ├── ObbFile_test.cpp
│ │ │ ├── ResTable_test.cpp
│ │ │ ├── Split_test.cpp
│ │ │ ├── TestHelpers.h
│ │ │ ├── Theme_test.cpp
│ │ │ ├── TypeWrappers_test.cpp
│ │ │ └── ZipUtils_test.cpp
│ │ ├── TypeWrappers.cpp
│ │ ├── ZipFileRO.cpp
│ │ └── ZipUtils.cpp
│ └── tools
│ └── aapt
│ ├── AaptAssets.cpp
│ ├── AaptAssets.h
│ ├── AaptConfig.cpp
│ ├── AaptConfig.h
│ ├── AaptUtil.cpp
│ ├── AaptUtil.h
│ ├── AaptXml.cpp
│ ├── AaptXml.h
│ ├── Android.mk
│ ├── ApkBuilder.cpp
│ ├── ApkBuilder.h
│ ├── Bundle.h
│ ├── CacheUpdater.h
│ ├── Command.cpp
│ ├── ConfigDescription.h
│ ├── CrunchCache.cpp
│ ├── CrunchCache.h
│ ├── DirectoryWalker.h
│ ├── FileFinder.cpp
│ ├── FileFinder.h
│ ├── Images.cpp
│ ├── Images.h
│ ├── IndentPrinter.h
│ ├── Main.cpp
│ ├── Main.h
│ ├── NOTICE
│ ├── OutputSet.h
│ ├── Package.cpp
│ ├── printapk.cpp
│ ├── pseudolocalize.cpp
│ ├── pseudolocalize.h
│ ├── qsort_r_compat.c
│ ├── qsort_r_compat.h
│ ├── Resource.cpp
│ ├── ResourceFilter.cpp
│ ├── ResourceFilter.h
│ ├── ResourceIdCache.cpp
│ ├── ResourceIdCache.h
│ ├── ResourceTable.cpp
│ ├── ResourceTable.h
│ ├── SourcePos.cpp
│ ├── SourcePos.h
│ ├── StringPool.cpp
│ ├── StringPool.h
│ ├── tests
│ │ ├── AaptConfig_test.cpp
│ │ ├── AaptGroupEntry_test.cpp
│ │ ├── CrunchCache_test.cpp
│ │ ├── FileFinder_test.cpp
│ │ ├── MockCacheUpdater.h
│ │ ├── MockDirectoryWalker.h
│ │ ├── MockFileFinder.h
│ │ ├── plurals
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── res
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── run.sh
│ │ ├── ResourceFilter_test.cpp
│ │ └── TestHelper.h
│ ├── WorkQueue.cpp
│ ├── WorkQueue.h
│ ├── XMLNode.cpp
│ ├── XMLNode.h
│ ├── ZipEntry.cpp
│ ├── ZipEntry.h
│ ├── ZipFile.cpp
│ └── ZipFile.h
├── atlas-core
│ ├── build.gradle
│ ├── gradle
│ │ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── libs
│ │ ├── armeabi
│ │ │ └── libdalvikpatch.so
│ │ ├── armeabi-v7a
│ │ │ └── libdalvikpatch.so
│ │ ├── mips
│ │ │ └── libdalvikpatch.so
│ │ └── x86
│ │ └── libdalvikpatch.so
│ ├── lint.xml
│ ├── proguard.cfg
│ ├── project.properties
│ ├── publish.sh
│ ├── README.md
│ ├── README.zh_cn.md
│ ├── settings.gradle
│ └── src
│ └── main
│ ├── aidl
│ │ └── android
│ │ ├── app
│ │ │ ├── IActivityManager
│ │ │ │ └── ContentProviderHolder.aidl
│ │ │ └── IServiceConnection.aidl
│ │ └── taobao
│ │ └── atlas
│ │ └── runtime
│ │ ├── ApplicationInitException.java
│ │ └── newcomponent
│ │ └── service
│ │ └── IDelegateBinder.aidl
│ ├── AndroidManifest.xml
│ ├── java
│ │ ├── android
│ │ │ ├── support
│ │ │ │ └── multidex
│ │ │ │ ├── DexElementsMaker.java
│ │ │ │ ├── DexElementsMethodInvokerV14.java
│ │ │ │ ├── DexElementsMethodInvokerV19.java
│ │ │ │ ├── IDexElementsMaker.java
│ │ │ │ ├── IDexElementsMethodInvoker.java
│ │ │ │ ├── MultiDexExtractor.java
│ │ │ │ ├── MultiDex.java
│ │ │ │ └── ZipUtil.java
│ │ │ └── taobao
│ │ │ └── atlas
│ │ │ ├── bridge
│ │ │ │ └── BridgeApplicationDelegate.java
│ │ │ ├── bundleInfo
│ │ │ │ ├── AtlasBundleInfoGenerator.java
│ │ │ │ ├── AtlasBundleInfoManager.java
│ │ │ │ ├── BundleListing.java
│ │ │ │ └── BundleListingUtil.java
│ │ │ ├── framework
│ │ │ │ ├── Atlas.java
│ │ │ │ ├── Framework.java
│ │ │ │ └── FrameworkProperties.java
│ │ │ ├── hack
│ │ │ │ ├── AndroidHack.java
│ │ │ │ ├── AssertionArrayException.java
│ │ │ │ ├── AtlasHacks.java
│ │ │ │ ├── Hack.java
│ │ │ │ └── Interception.java
│ │ │ ├── profile
│ │ │ │ └── AtlasProfile.java
│ │ │ ├── runtime
│ │ │ │ ├── ActivityLifeCycleObserver.java
│ │ │ │ ├── ActivityTaskMgr.java
│ │ │ │ ├── ApplicationInvoker.java
│ │ │ │ ├── AtlasPreLauncher.java
│ │ │ │ ├── BundleIniter.java
│ │ │ │ ├── FrameworkLifecycleHandler.java
│ │ │ │ ├── LowDiskException.java
│ │ │ │ └── RuntimeVariables.java
│ │ │ ├── startup
│ │ │ │ ├── AtlasBridgeApplication.java
│ │ │ │ ├── DexFileCompat.java
│ │ │ │ ├── KernalVersionManager.java
│ │ │ │ ├── NClassLoader.java
│ │ │ │ └── patch
│ │ │ │ ├── CombineDexMerger.java
│ │ │ │ ├── CombineDexVerifier.java
│ │ │ │ ├── KernalBundleArchive.java
│ │ │ │ ├── KernalBundle.java
│ │ │ │ ├── KernalConstants.java
│ │ │ │ ├── KernalFileLock.java
│ │ │ │ ├── PatchMerger.java
│ │ │ │ ├── PatchVerifier.java
│ │ │ │ └── releaser
│ │ │ │ ├── BundleReleaser.java
│ │ │ │ ├── DexReleaser.java
│ │ │ │ ├── PatchDexProfile.java
│ │ │ │ └── ReleaseType.java
│ │ │ ├── util
│ │ │ │ ├── ApkUtils.java
│ │ │ │ ├── AtlasFileLock.java
│ │ │ │ ├── BundleLock.java
│ │ │ │ ├── FileUtils.java
│ │ │ │ ├── IOUtil.java
│ │ │ │ ├── log
│ │ │ │ │ ├── IAlarmer.java
│ │ │ │ │ ├── ILog.java
│ │ │ │ │ ├── IMonitor.java
│ │ │ │ │ └── impl
│ │ │ │ │ ├── AtlasAlarmer.java
│ │ │ │ │ ├── AtlasLog.java
│ │ │ │ │ └── AtlasMonitor.java
│ │ │ │ ├── RefectUtils.java
│ │ │ │ ├── SoLoader.java
│ │ │ │ ├── StringUtils.java
│ │ │ │ └── WrapperUtil.java
│ │ │ └── versionInfo
│ │ │ └── BaselineInfoManager.java
│ │ └── org
│ │ └── osgi
│ │ └── framework
│ │ ├── BundleEvent.java
│ │ ├── BundleException.java
│ │ ├── Bundle.java
│ │ ├── BundleListener.java
│ │ ├── Constants.java
│ │ ├── FrameworkEvent.java
│ │ ├── FrameworkListener.java
│ │ └── SynchronousBundleListener.java
│ └── res
│ ├── drawable
│ │ └── atlas_waitview.xml
│ ├── layout
│ │ └── atlas_progress.xml
│ └── values
│ └── style_atlas.xml
├── atlas-demo
│ ├── AtlasDemo
│ │ ├── activitygroupcompat
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── android
│ │ │ │ ├── ActivityGroupDelegate.java
│ │ │ │ └── LocalActivityManager.java
│ │ │ └── res
│ │ │ └── values
│ │ │ └── strings.xml
│ │ ├── app
│ │ │ ├── build.gradle
│ │ │ ├── dexPatchWraper.gradle
│ │ │ ├── jd-gui.cfg
│ │ │ ├── proguard-rules.pro
│ │ │ ├── push_dexpatch_out.sh
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── demo
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ ├── demo
│ │ │ │ │ ├── databind
│ │ │ │ │ │ ├── DataBundleAarActivity.java
│ │ │ │ │ │ └── User.java
│ │ │ │ │ ├── DemoApplication.java
│ │ │ │ │ ├── DemoPreLaunch.java
│ │ │ │ │ ├── MainActivity.java
│ │ │ │ │ ├── MyContentProvider.java
│ │ │ │ │ ├── RemoteDemoActivity.java
│ │ │ │ │ └── UpdateDemoActivity.java
│ │ │ │ └── update
│ │ │ │ └── Updater.java
│ │ │ └── res
│ │ │ ├── drawable
│ │ │ │ ├── ic_dashboard_black_24dp.xml
│ │ │ │ ├── ic_home_black_24dp.xml
│ │ │ │ ├── ic_notifications_black_24dp.xml
│ │ │ │ └── side_nav_bar.xml
│ │ │ ├── drawable-xxxhdpi
│ │ │ │ └── logo.png
│ │ │ ├── layout
│ │ │ │ ├── aar_databind_main.xml
│ │ │ │ ├── activity_main.xml
│ │ │ │ ├── activity_navigation.xml
│ │ │ │ ├── activity_scrolling.xml
│ │ │ │ ├── activity_update.xml
│ │ │ │ ├── app_bar_main.xml
│ │ │ │ ├── content_main.xml
│ │ │ │ ├── content_navigation_main.xml
│ │ │ │ ├── content_scrolling.xml
│ │ │ │ ├── guild_remote_bundle.xml
│ │ │ │ └── nav_header_main.xml
│ │ │ ├── menu
│ │ │ │ ├── activity_main_drawer.xml
│ │ │ │ ├── main.xml
│ │ │ │ └── navigation.xml
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── main_style.xml
│ │ │ └── strings.xml
│ │ ├── AwoForBundle.txt
│ │ ├── AwoForHost.txt
│ │ ├── build.gradle
│ │ ├── databindbundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── databindbundle
│ │ │ │ └── databind
│ │ │ │ ├── DataBundleSampleActivity.java
│ │ │ │ └── User.java
│ │ │ └── res
│ │ │ ├── layout
│ │ │ │ └── bundle_databind_main.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ ├── databindinglibrary
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── databinding
│ │ │ │ └── library
│ │ │ │ ├── DataBingAarActivity.java
│ │ │ │ └── User.java
│ │ │ └── res
│ │ │ └── layout
│ │ │ └── aar_databind.xml
│ │ ├── firstbundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── firstbundle
│ │ │ │ ├── FirstBundleActivity.java
│ │ │ │ ├── FirstBundleService.java
│ │ │ │ ├── fragment
│ │ │ │ │ ├── BlankFragment.java
│ │ │ │ │ ├── DummyContent.java
│ │ │ │ │ ├── ItemFragment.java
│ │ │ │ │ └── MyItemRecyclerViewAdapter.java
│ │ │ │ └── UseremoteActivity.java
│ │ │ └── res
│ │ │ ├── layout
│ │ │ │ ├── activity_firstbundle.xml
│ │ │ │ ├── activity_useremote.xml
│ │ │ │ ├── activity_web_view.xml
│ │ │ │ ├── fragment_blank.xml
│ │ │ │ ├── fragment_item_list.xml
│ │ │ │ └── fragment_item.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── lottie
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── airbnb
│ │ │ │ └── lottie
│ │ │ │ ├── AnimatableColorValue.java
│ │ │ │ ├── AnimatableFloatValue.java
│ │ │ │ ├── AnimatableIntegerValue.java
│ │ │ │ ├── AnimatablePathValue.java
│ │ │ │ ├── AnimatablePointValue.java
│ │ │ │ ├── AnimatableScaleValue.java
│ │ │ │ ├── AnimatableShapeValue.java
│ │ │ │ ├── AnimatableSplitDimensionPathValue.java
│ │ │ │ ├── AnimatableTransform.java
│ │ │ │ ├── AnimatableValue.java
│ │ │ │ ├── AnimatableValueParser.java
│ │ │ │ ├── BaseAnimatableValue.java
│ │ │ │ ├── BaseKeyframeAnimation.java
│ │ │ │ ├── BaseLayer.java
│ │ │ │ ├── BitmapCanvas.java
│ │ │ │ ├── Cancellable.java
│ │ │ │ ├── CanvasPool.java
│ │ │ │ ├── CircleShape.java
│ │ │ │ ├── ColorFactory.java
│ │ │ │ ├── ColorKeyframeAnimation.java
│ │ │ │ ├── CompositionLayer.java
│ │ │ │ ├── CompositionLoader.java
│ │ │ │ ├── ContentGroup.java
│ │ │ │ ├── Content.java
│ │ │ │ ├── CubicCurveData.java
│ │ │ │ ├── DrawingContent.java
│ │ │ │ ├── EllipseContent.java
│ │ │ │ ├── FileCompositionLoader.java
│ │ │ │ ├── FillContent.java
│ │ │ │ ├── FloatKeyframeAnimation.java
│ │ │ │ ├── GammaEvaluator.java
│ │ │ │ ├── ImageAssetBitmapManager.java
│ │ │ │ ├── ImageAssetDelegate.java
│ │ │ │ ├── ImageLayer.java
│ │ │ │ ├── IntegerKeyframeAnimation.java
│ │ │ │ ├── JsonCompositionLoader.java
│ │ │ │ ├── JsonUtils.java
│ │ │ │ ├── KeyframeAnimation.java
│ │ │ │ ├── Keyframe.java
│ │ │ │ ├── Layer.java
│ │ │ │ ├── L.java
│ │ │ │ ├── LottieAnimationView.java
│ │ │ │ ├── LottieComposition.java
│ │ │ │ ├── LottieDrawable.java
│ │ │ │ ├── LottieImageAsset.java
│ │ │ │ ├── Mask.java
│ │ │ │ ├── MaskKeyframeAnimation.java
│ │ │ │ ├── MergePathsContent.java
│ │ │ │ ├── MergePaths.java
│ │ │ │ ├── MiscUtils.java
│ │ │ │ ├── ModifierContent.java
│ │ │ │ ├── NullLayer.java
│ │ │ │ ├── OnCompositionLoadedListener.java
│ │ │ │ ├── PathContent.java
│ │ │ │ ├── PathKeyframeAnimation.java
│ │ │ │ ├── PathKeyframe.java
│ │ │ │ ├── PointFFactory.java
│ │ │ │ ├── PointKeyframeAnimation.java
│ │ │ │ ├── PolystarContent.java
│ │ │ │ ├── PolystarShape.java
│ │ │ │ ├── RectangleContent.java
│ │ │ │ ├── RectangleShape.java
│ │ │ │ ├── ScaleKeyframeAnimation.java
│ │ │ │ ├── ScaleXY.java
│ │ │ │ ├── ShapeContent.java
│ │ │ │ ├── ShapeData.java
│ │ │ │ ├── ShapeFill.java
│ │ │ │ ├── ShapeGroup.java
│ │ │ │ ├── ShapeKeyframeAnimation.java
│ │ │ │ ├── ShapeLayer.java
│ │ │ │ ├── ShapePath.java
│ │ │ │ ├── ShapeStroke.java
│ │ │ │ ├── ShapeTrimPath.java
│ │ │ │ ├── SolidLayer.java
│ │ │ │ ├── SplitDimensionPathKeyframeAnimation.java
│ │ │ │ ├── StaticKeyframeAnimation.java
│ │ │ │ ├── StrokeContent.java
│ │ │ │ ├── TransformKeyframeAnimation.java
│ │ │ │ ├── TrimPathContent.java
│ │ │ │ └── Utils.java
│ │ │ └── res
│ │ │ └── values
│ │ │ ├── attrs.xml
│ │ │ └── ids.xml
│ │ ├── middlewarelibrary
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── middleware
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ ├── middleware
│ │ │ │ │ │ └── dialog
│ │ │ │ │ │ ├── ButtonFlat.java
│ │ │ │ │ │ ├── Button.java
│ │ │ │ │ │ ├── CustomView.java
│ │ │ │ │ │ ├── Dialog.java
│ │ │ │ │ │ └── Utils.java
│ │ │ │ │ └── taobao
│ │ │ │ │ └── middleware
│ │ │ │ │ ├── dummy
│ │ │ │ │ │ └── DummyContent.java
│ │ │ │ │ ├── ICaculator.java
│ │ │ │ │ ├── ItemDetailActivity.java
│ │ │ │ │ ├── ItemDetailFragment.java
│ │ │ │ │ ├── ItemListActivity.java
│ │ │ │ │ └── StringUtil.java
│ │ │ │ └── res
│ │ │ │ ├── anim
│ │ │ │ │ ├── dialog_main_hide_amination.xml
│ │ │ │ │ ├── dialog_main_show_amination.xml
│ │ │ │ │ ├── dialog_root_hide_amin.xml
│ │ │ │ │ └── dialog_root_show_amin.xml
│ │ │ │ ├── drawable
│ │ │ │ │ └── background_transparent.xml
│ │ │ │ ├── drawable-xxhdpi
│ │ │ │ │ └── dialog_background.9.png
│ │ │ │ ├── layout
│ │ │ │ │ ├── activity_item_detail.xml
│ │ │ │ │ ├── activity_item_list.xml
│ │ │ │ │ ├── item_detail.xml
│ │ │ │ │ ├── item_list_content.xml
│ │ │ │ │ ├── item_list.xml
│ │ │ │ │ └── update_dialog.xml
│ │ │ │ ├── layout-w900dp
│ │ │ │ │ └── item_list.xml
│ │ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── middleware
│ │ │ └── ExampleUnitTest.java
│ │ ├── publicbundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── publicBundle
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ └── taobao
│ │ │ │ │ └── publicBundle
│ │ │ │ │ └── Tools.java
│ │ │ │ └── res
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── publicBundle
│ │ │ └── ExampleUnitTest.java
│ │ ├── README.md
│ │ ├── remotebundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── remotebunle
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ └── taobao
│ │ │ │ │ └── remotebunle
│ │ │ │ │ └── RemoteBundleActivity.java
│ │ │ │ └── res
│ │ │ │ ├── layout
│ │ │ │ │ └── activity_remote_bundle.xml
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── remotebunle
│ │ │ └── ExampleUnitTest.java
│ │ ├── secondbundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ └── taobao
│ │ │ │ │ └── secondbundle
│ │ │ │ │ ├── MyRichView.java
│ │ │ │ │ ├── PlusOneFragment.java
│ │ │ │ │ ├── SecondBundleActivity.java
│ │ │ │ │ ├── SecondBundleApplication.java
│ │ │ │ │ ├── SecondBundleFragment.java
│ │ │ │ │ └── SecondBundleIniter.java
│ │ │ │ └── res
│ │ │ │ ├── layout
│ │ │ │ │ ├── activity_secondbundle.xml
│ │ │ │ │ ├── fragment_plus_one.xml
│ │ │ │ │ └── test_layout.xml
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── secondbundle
│ │ │ └── ExampleUnitTest.java
│ │ ├── secondbundlelibrary
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── secondbundlelibrary
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ └── taobao
│ │ │ │ │ └── secondbundlelibrary
│ │ │ │ │ └── SecondbundleShareActivity.java
│ │ │ │ └── res
│ │ │ │ ├── layout
│ │ │ │ │ └── activity_secondbundle_share.xml
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── secondbundlelibrary
│ │ │ └── ExampleUnitTest.java
│ │ ├── settings.gradle
│ │ ├── splashscreen
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── splashscreen
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── assets
│ │ │ │ │ ├── A.json
│ │ │ │ │ ├── L.json
│ │ │ │ │ ├── S.json
│ │ │ │ │ └── T.json
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ ├── airbnb
│ │ │ │ │ │ └── lottiesplash
│ │ │ │ │ │ └── LottieFontViewGroup.java
│ │ │ │ │ └── taobao
│ │ │ │ │ └── splashscreen
│ │ │ │ │ └── WelcomeActivity.java
│ │ │ │ └── res
│ │ │ │ ├── layout
│ │ │ │ │ └── activity_welcome.xml
│ │ │ │ └── values
│ │ │ │ ├── attrs.xml
│ │ │ │ ├── colors.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── splashscreen
│ │ │ └── ExampleUnitTest.java
│ │ ├── structor.md
│ │ └── Tpatch.txt
│ ├── img
│ │ ├── apk目录.png
│ │ ├── appfirstbundlepatch.png
│ │ ├── appremotebundle.png
│ │ ├── apptoast.png
│ │ ├── app动态部署.png
│ │ ├── buildgradle.png
│ │ ├── dictionary.png
│ │ ├── _firstbundlepatch.png
│ │ ├── firstbundlepatch.png
│ │ ├── mainactivitynav.png
│ │ ├── mainactivityoncreate.png
│ │ ├── manifest.png
│ │ ├── structer.png
│ │ ├── toast.png
│ │ └── welcomepostcreate.png
│ ├── IncrementAtlasDemo
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── increment_app
│ │ │ ├── build.gradle
│ │ │ └── src
│ │ │ └── main
│ │ │ └── AndroidManifest.xml
│ │ └── settings.gradle
│ ├── multi-feature-module
│ │ ├── base
│ │ │ ├── build.gradle
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── android
│ │ │ │ └── unsplash
│ │ │ │ ├── data
│ │ │ │ │ ├── model
│ │ │ │ │ │ └── Photo.java
│ │ │ │ │ ├── PhotoService.java
│ │ │ │ │ └── UnsplashService.java
│ │ │ │ ├── IntentUtil.kt
│ │ │ │ ├── test.kt
│ │ │ │ ├── transition
│ │ │ │ │ └── TextResize.java
│ │ │ │ └── ui
│ │ │ │ ├── DetailSharedElementEnterCallback.java
│ │ │ │ ├── ForegroundImageView.java
│ │ │ │ ├── grid
│ │ │ │ │ ├── GridMarginDecoration.java
│ │ │ │ │ ├── OnItemSelectedListener.java
│ │ │ │ │ ├── PhotoAdapter.java
│ │ │ │ │ └── PhotoViewHolder.java
│ │ │ │ ├── ImageSize.java
│ │ │ │ ├── pager
│ │ │ │ │ └── DetailViewPagerAdapter.java
│ │ │ │ ├── ThreeTwoImageView.java
│ │ │ │ └── TransitionCallback.java
│ │ │ └── res
│ │ │ ├── animator
│ │ │ │ └── raise.xml
│ │ │ ├── drawable
│ │ │ │ ├── grey_ripple.xml
│ │ │ │ └── ic_arrow_back.xml
│ │ │ ├── layout
│ │ │ │ ├── detail_view.xml
│ │ │ │ └── photo_item.xml
│ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── transition
│ │ │ │ ├── grid_exit.xml
│ │ │ │ ├── grid_reenter.xml
│ │ │ │ └── shared_main_detail.xml
│ │ │ └── values
│ │ │ ├── attrs_foreground_view.xml
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── ids.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ ├── build.gradle
│ │ ├── detail
│ │ │ ├── build.gradle
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── android
│ │ │ │ └── unsplash
│ │ │ │ └── DetailActivityTest.java
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── android
│ │ │ │ └── unsplash
│ │ │ │ └── DetailActivity.java
│ │ │ └── res
│ │ │ ├── drawable
│ │ │ │ └── page_margin.xml
│ │ │ └── layout
│ │ │ └── activity_detail.xml
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── installed
│ │ │ ├── build.gradle
│ │ │ └── src
│ │ │ └── main
│ │ │ └── AndroidManifest.xml
│ │ ├── instant
│ │ │ └── build.gradle
│ │ ├── LICENSE
│ │ ├── main
│ │ │ ├── build.gradle
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── android
│ │ │ │ └── unsplash
│ │ │ │ └── MainActivityTest.java
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── android
│ │ │ │ └── unsplash
│ │ │ │ └── MainActivity.java
│ │ │ └── res
│ │ │ └── layout
│ │ │ └── activity_main.xml
│ │ ├── NOTICE
│ │ ├── proguard.pro
│ │ ├── README.md
│ │ └── settings.gradle
│ ├── MyApplication
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ └── gradlew
│ ├── README.md
│ └── 基于版本打包的demo
│ ├── app
│ │ ├── activitygroupdelegate
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taoboa
│ │ │ │ └── activitygroupdelegate
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── res
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taoboa
│ │ │ └── activitygroupdelegate
│ │ │ └── ExampleUnitTest.java
│ │ ├── buildApk.sh
│ │ ├── build.gradle
│ │ ├── buildTpatch.sh
│ │ ├── firstbundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── firstbundle
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ └── taobao
│ │ │ │ │ └── firstbundle
│ │ │ │ │ └── MainActivity.java
│ │ │ │ └── res
│ │ │ │ ├── drawable
│ │ │ │ │ ├── ic_dashboard_black_24dp.xml
│ │ │ │ │ ├── ic_home_black_24dp.xml
│ │ │ │ │ └── ic_notifications_black_24dp.xml
│ │ │ │ ├── layout
│ │ │ │ │ └── activity_main.xml
│ │ │ │ ├── menu
│ │ │ │ │ └── navigation.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── firstbundle
│ │ │ └── ExampleUnitTest.java
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── proguard.cfg
│ │ ├── secondbundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── secondbundle
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ └── taobao
│ │ │ │ │ └── secondbundle
│ │ │ │ │ └── LoginActivity.java
│ │ │ │ └── res
│ │ │ │ ├── layout
│ │ │ │ │ └── activity_login.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── secondbundle
│ │ │ └── ExampleUnitTest.java
│ │ ├── settings.gradle
│ │ ├── sharebundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── sharebundle
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── res
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── sharebundle
│ │ │ └── ExampleUnitTest.java
│ │ ├── sharedlibrary
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── taobao
│ │ │ │ └── sharedlibrary
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── res
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── taobao
│ │ │ └── sharedlibrary
│ │ │ └── ExampleUnitTest.java
│ │ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── demo
│ │ │ ├── DemoApplication.java
│ │ │ ├── update
│ │ │ │ └── Updater.java
│ │ │ └── WelcomActivity.java
│ │ └── res
│ │ ├── drawable
│ │ │ └── app_launcher.png
│ │ ├── layout
│ │ │ └── main.xml
│ │ └── values
│ │ ├── colors.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── build.gradle
│ ├── FirstBundle
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── firstbundle
│ │ │ ├── FirstBundleActivity.java
│ │ │ └── FirstBundleApplication.java
│ │ └── res
│ │ ├── layout
│ │ │ └── first_main.xml
│ │ └── values
│ │ └── strings.xml
│ ├── gradle
│ │ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── README.md
│ ├── README.zh_cn.md
│ └── settings.gradle
├── atlas-docs
│ ├── _book
│ │ ├── code_read
│ │ │ ├── atlas_bundle_load
│ │ │ │ ├── atlas_bundle_load.html
│ │ │ │ ├── bundle_load_img.svg
│ │ │ │ ├── bundle_load_part_2_img.svg
│ │ │ │ ├── bundle_load_part_2.uml
│ │ │ │ └── bundle_load.uml
│ │ │ ├── atlas_gradle_apk
│ │ │ │ ├── atlas_apk_gradle.png
│ │ │ │ ├── atlas_atlas_gradle_apk.html
│ │ │ │ ├── atlas_bundle_position.png
│ │ │ │ ├── atlas_dex_pkg.png
│ │ │ │ ├── atlas_dex_secondbundle.png
│ │ │ │ └── atlas_manifest.png
│ │ │ └── atlas_start
│ │ │ ├── atlas_application_demo.png
│ │ │ ├── atlas_core_start_callback.uml
│ │ │ ├── atlas_core_start_img.svg
│ │ │ ├── atlas_core_start_provider_img.svg
│ │ │ ├── atlas_core_start_provider.uml
│ │ │ ├── atlas_core_start.uml
│ │ │ ├── atlas_framework_property.svg
│ │ │ ├── atlas_java_startup_img.svg
│ │ │ ├── atlas_java_startup.uml
│ │ │ ├── atlas_manifest_application.png
│ │ │ ├── atlas_meta_data.png
│ │ │ ├── atlas_start_1.html
│ │ │ └── atlas_start_2.html
│ │ ├── dingtalk.png
│ │ ├── faq
│ │ │ ├── dynamic_failed_help.html
│ │ │ ├── dynamic_help_img
│ │ │ │ └── unit_tag_list.png
│ │ │ ├── help.html
│ │ │ ├── help_img
│ │ │ │ ├── multidex.png
│ │ │ │ ├── reject.png
│ │ │ │ └── vfy.png
│ │ │ ├── question.html
│ │ │ └── variant.html
│ │ ├── gitbook
│ │ │ ├── fonts
│ │ │ │ └── fontawesome
│ │ │ │ ├── FontAwesome.otf
│ │ │ │ ├── fontawesome-webfont.eot
│ │ │ │ ├── fontawesome-webfont.svg
│ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ ├── fontawesome-webfont.woff
│ │ │ │ └── fontawesome-webfont.woff2
│ │ │ ├── gitbook.js
│ │ │ ├── gitbook-plugin-fontsettings
│ │ │ │ ├── fontsettings.js
│ │ │ │ └── website.css
│ │ │ ├── gitbook-plugin-highlight
│ │ │ │ ├── ebook.css
│ │ │ │ └── website.css
│ │ │ ├── gitbook-plugin-livereload
│ │ │ │ └── plugin.js
│ │ │ ├── gitbook-plugin-lunr
│ │ │ │ ├── lunr.min.js
│ │ │ │ └── search-lunr.js
│ │ │ ├── gitbook-plugin-search
│ │ │ │ ├── lunr.min.js
│ │ │ │ ├── search.css
│ │ │ │ ├── search-engine.js
│ │ │ │ └── search.js
│ │ │ ├── gitbook-plugin-sharing
│ │ │ │ └── buttons.js
│ │ │ ├── images
│ │ │ │ ├── apple-touch-icon-precomposed-152.png
│ │ │ │ └── favicon.ico
│ │ │ ├── style.css
│ │ │ └── theme.js
│ │ ├── guide-for-use
│ │ │ ├── bundleCommunicate.html
│ │ │ ├── class-relation.png
│ │ │ ├── fragment-relation.png
│ │ │ ├── fragment-start.png
│ │ │ ├── guide_for_build.html
│ │ │ ├── guide_for_bundle.html
│ │ │ ├── guide_for_compile.html
│ │ │ ├── guide_img
│ │ │ │ ├── bundlebaseinfo.png
│ │ │ │ └── packageId.png
│ │ │ └── index.html
│ │ ├── img
│ │ │ ├── atlas_dev.svg
│ │ │ ├── atlas_runtime_maintenance.svg
│ │ │ └── relation.png
│ │ ├── index.html
│ │ ├── principle-intro
│ │ │ ├── Apk_architecture.html
│ │ │ ├── File_architecture_runtime.html
│ │ │ ├── Project_architectured.html
│ │ │ ├── Project_architectured_img
│ │ │ │ ├── apk_struct.png
│ │ │ │ ├── bundle_cycle.png
│ │ │ │ ├── bundleinfo.png
│ │ │ │ ├── class_find.png
│ │ │ │ ├── classloader.png
│ │ │ │ ├── large_project.png
│ │ │ │ ├── manifest.png
│ │ │ │ ├── middle_project.png
│ │ │ │ ├── relation.png
│ │ │ │ ├── resources.png
│ │ │ │ ├── runtime.png
│ │ │ │ ├── runtime_struct.png
│ │ │ │ └── small_project.png
│ │ │ └── Runtime_principle.html
│ │ ├── search_index.json
│ │ └── update
│ │ ├── dexpatch.html
│ │ ├── dexpatch_use_guide.html
│ │ ├── guide.html
│ │ ├── img
│ │ │ ├── art_maindex_merge.png
│ │ │ ├── base_dump.png
│ │ │ ├── bundle_merge.png
│ │ │ ├── dexpatch_build_output.png
│ │ │ ├── dex_patch_edit.png
│ │ │ ├── dexpatch.png
│ │ │ ├── dexpatch_result.png
│ │ │ ├── dexpatch_ui_click.png
│ │ │ ├── maindex_load.png
│ │ │ ├── patch_dump.png
│ │ │ ├── patch_file.png
│ │ │ ├── patch_json.png
│ │ │ ├── pathclassloader.png
│ │ │ ├── res_patch.png
│ │ │ └── verify.png
│ │ ├── index.html
│ │ └── principle.html
│ ├── code_read
│ │ ├── atlas_bundle_load
│ │ │ ├── atlas_bundle_load.md
│ │ │ ├── bundle_load_img.svg
│ │ │ ├── bundle_load_part_2_img.svg
│ │ │ ├── bundle_load_part_2.uml
│ │ │ └── bundle_load.uml
│ │ ├── atlas_gradle_apk
│ │ │ ├── atlas_apk_gradle.png
│ │ │ ├── atlas_atlas_gradle_apk.md
│ │ │ ├── atlas_bundle_position.png
│ │ │ ├── atlas_dex_pkg.png
│ │ │ ├── atlas_dex_secondbundle.png
│ │ │ └── atlas_manifest.png
│ │ └── atlas_start
│ │ ├── atlas_application_demo.png
│ │ ├── atlas_core_start_callback.uml
│ │ ├── atlas_core_start_img.svg
│ │ ├── atlas_core_start_provider_img.svg
│ │ ├── atlas_core_start_provider.uml
│ │ ├── atlas_core_start.uml
│ │ ├── atlas_framework_property.svg
│ │ ├── atlas_java_startup_img.svg
│ │ ├── atlas_java_startup.uml
│ │ ├── atlas_manifest_application.png
│ │ ├── atlas_meta_data.png
│ │ ├── atlas_start_1.md
│ │ └── atlas_start_2.md
│ ├── dingtalk.png
│ ├── faq
│ │ ├── dynamic_failed_help.md
│ │ ├── dynamic_help_img
│ │ │ └── unit_tag_list.png
│ │ ├── help_img
│ │ │ ├── multidex.png
│ │ │ ├── reject.png
│ │ │ └── vfy.png
│ │ ├── help.md
│ │ ├── question.md
│ │ └── variant.md
│ ├── guide-for-use
│ │ ├── _book
│ │ │ ├── bundleCommunicate.md
│ │ │ ├── class-relation.png
│ │ │ ├── fragment-relation.png
│ │ │ ├── fragment-start.png
│ │ │ ├── gitbook
│ │ │ │ ├── fonts
│ │ │ │ │ └── fontawesome
│ │ │ │ │ ├── FontAwesome.otf
│ │ │ │ │ ├── fontawesome-webfont.eot
│ │ │ │ │ ├── fontawesome-webfont.svg
│ │ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ │ ├── fontawesome-webfont.woff
│ │ │ │ │ └── fontawesome-webfont.woff2
│ │ │ │ ├── gitbook.js
│ │ │ │ ├── gitbook-plugin-fontsettings
│ │ │ │ │ ├── fontsettings.js
│ │ │ │ │ └── website.css
│ │ │ │ ├── gitbook-plugin-highlight
│ │ │ │ │ ├── ebook.css
│ │ │ │ │ └── website.css
│ │ │ │ ├── gitbook-plugin-livereload
│ │ │ │ │ └── plugin.js
│ │ │ │ ├── gitbook-plugin-lunr
│ │ │ │ │ ├── lunr.min.js
│ │ │ │ │ └── search-lunr.js
│ │ │ │ ├── gitbook-plugin-search
│ │ │ │ │ ├── lunr.min.js
│ │ │ │ │ ├── search.css
│ │ │ │ │ ├── search-engine.js
│ │ │ │ │ └── search.js
│ │ │ │ ├── gitbook-plugin-sharing
│ │ │ │ │ └── buttons.js
│ │ │ │ ├── images
│ │ │ │ │ ├── apple-touch-icon-precomposed-152.png
│ │ │ │ │ └── favicon.ico
│ │ │ │ ├── style.css
│ │ │ │ └── theme.js
│ │ │ ├── guide_for_build.md
│ │ │ ├── guide_for_bundle.md
│ │ │ ├── guide_for_compile.md
│ │ │ ├── guide_img
│ │ │ │ ├── bundlebaseinfo.png
│ │ │ │ └── packageId.png
│ │ │ ├── index.html
│ │ │ └── search_index.json
│ │ ├── bundleCommunicate.md
│ │ ├── class-relation.png
│ │ ├── fragment-relation.png
│ │ ├── fragment-start.png
│ │ ├── guide_for_build.md
│ │ ├── guide_for_bundle.md
│ │ ├── guide_for_compile.md
│ │ ├── guide_for_progurad.md
│ │ ├── guide_img
│ │ │ ├── bundlebaseinfo.png
│ │ │ └── packageId.png
│ │ └── README.md
│ ├── img
│ │ ├── atlas_dev.svg
│ │ ├── atlas_runtime_maintenance.svg
│ │ └── relation.png
│ ├── principle-intro
│ │ ├── Apk_architecture.md
│ │ ├── File_architecture_runtime.md
│ │ ├── Project_architectured_img
│ │ │ ├── apk_struct.png
│ │ │ ├── bundle_cycle.png
│ │ │ ├── bundleinfo.png
│ │ │ ├── class_find.png
│ │ │ ├── classloader.png
│ │ │ ├── large_project.png
│ │ │ ├── manifest.png
│ │ │ ├── middle_project.png
│ │ │ ├── relation.png
│ │ │ ├── resources.png
│ │ │ ├── runtime.png
│ │ │ ├── runtime_struct.png
│ │ │ └── small_project.png
│ │ ├── Project_architectured.md
│ │ └── Runtime_principle.md
│ ├── README.md
│ ├── SUMMARY.md
│ └── update
│ ├── dexpatch.md
│ ├── dexpatch_use_guide.md
│ ├── guide.md
│ ├── img
│ │ ├── art_maindex_merge.png
│ │ ├── base_dump.png
│ │ ├── bundle_merge.png
│ │ ├── dexpatch_build_output.png
│ │ ├── dex_patch_edit.png
│ │ ├── dexpatch.png
│ │ ├── dexpatch_result.png
│ │ ├── dexpatch_ui_click.png
│ │ ├── maindex_load.png
│ │ ├── patch_dump.png
│ │ ├── patch_file.png
│ │ ├── patch_json.png
│ │ ├── pathclassloader.png
│ │ ├── res_patch.png
│ │ └── verify.png
│ ├── principle.md
│ └── README.md
├── atlas-gradle-plugin
│ ├── aapt
│ │ ├── build.gradle
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── android
│ │ │ └── AaptLib.java
│ │ └── resources
│ │ └── aapt
│ │ ├── linux
│ │ │ └── aapt
│ │ ├── mac
│ │ │ └── aapt
│ │ └── win
│ │ └── aapt.exe
│ ├── atlas-plugin
│ │ ├── atlas-plugin.iml
│ │ ├── build
│ │ │ └── resources
│ │ │ └── main
│ │ │ └── META-INF
│ │ │ └── gradle-plugins
│ │ │ ├── com.taobao.atlas.feature.properties
│ │ │ └── com.taobao.atlas.instantapp.properties
│ │ ├── build.gradle
│ │ ├── increment.sh
│ │ ├── libs
│ │ │ └── libarsc.jar
│ │ ├── publish.sh
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ ├── android
│ │ │ │ │ │ └── aapt
│ │ │ │ │ │ └── pb
│ │ │ │ │ │ └── internal
│ │ │ │ │ │ └── ResourcesInternal.java
│ │ │ │ │ ├── com
│ │ │ │ │ │ ├── android
│ │ │ │ │ │ │ ├── aapt
│ │ │ │ │ │ │ │ └── Resources.java
│ │ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ │ └── gradle
│ │ │ │ │ │ │ │ ├── internal
│ │ │ │ │ │ │ │ │ ├── AndroidComponent.java
│ │ │ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ │ │ │ ├── ApContext.java
│ │ │ │ │ │ │ │ │ │ ├── ApkFiles.java
│ │ │ │ │ │ │ │ │ │ ├── AppVariantContext.java
│ │ │ │ │ │ │ │ │ │ ├── AppVariantOutputContext.java
│ │ │ │ │ │ │ │ │ │ ├── AwbTransform.java
│ │ │ │ │ │ │ │ │ │ ├── FeatureVariantContext.java
│ │ │ │ │ │ │ │ │ │ ├── LibVariantContext.java
│ │ │ │ │ │ │ │ │ │ └── VariantContext.java
│ │ │ │ │ │ │ │ │ ├── ApkDataUtils.java
│ │ │ │ │ │ │ │ │ ├── AtlasDependencyManager2.java
│ │ │ │ │ │ │ │ │ ├── AtlasDependencyManager.java
│ │ │ │ │ │ │ │ │ ├── ide
│ │ │ │ │ │ │ │ │ │ ├── AtlasAndroidLibraryImpl.java
│ │ │ │ │ │ │ │ │ │ ├── AtlasDependencyGraph.java
│ │ │ │ │ │ │ │ │ │ └── DependencyConvertUtils.java
│ │ │ │ │ │ │ │ │ ├── incremental
│ │ │ │ │ │ │ │ │ │ ├── TBConstructorRedirection.java
│ │ │ │ │ │ │ │ │ │ ├── TBIncrementalChangeVisitor.java
│ │ │ │ │ │ │ │ │ │ ├── TBIncrementalSupportVisitor.java
│ │ │ │ │ │ │ │ │ │ ├── TBIncrementalVisitor.java
│ │ │ │ │ │ │ │ │ │ └── TBMethodRedirection.java
│ │ │ │ │ │ │ │ │ ├── pipeline
│ │ │ │ │ │ │ │ │ │ ├── AtlasExtendedContentType.java
│ │ │ │ │ │ │ │ │ │ ├── AtlasIncrementalFileMergeTransformUtils.java
│ │ │ │ │ │ │ │ │ │ ├── AtlasIntermediateFolderUtils.java
│ │ │ │ │ │ │ │ │ │ ├── AtlasIntermediateStreamHelper.java
│ │ │ │ │ │ │ │ │ │ ├── InjectTransform.java
│ │ │ │ │ │ │ │ │ │ └── InjectTransformManager.java
│ │ │ │ │ │ │ │ │ ├── publishing
│ │ │ │ │ │ │ │ │ │ └── AtlasAndroidArtifacts.java
│ │ │ │ │ │ │ │ │ ├── scope
│ │ │ │ │ │ │ │ │ │ └── ConventionMappingHelper.java
│ │ │ │ │ │ │ │ │ └── transforms
│ │ │ │ │ │ │ │ │ ├── ApTransform.java
│ │ │ │ │ │ │ │ │ ├── ExtractApTransform.java
│ │ │ │ │ │ │ │ │ ├── ExtractAwbTransform.java
│ │ │ │ │ │ │ │ │ ├── ExtractSolibTransform.java
│ │ │ │ │ │ │ │ │ ├── LoadSolibFromLibsTransform.java
│ │ │ │ │ │ │ │ │ └── LoadSolibTransform.java
│ │ │ │ │ │ │ │ └── tasks
│ │ │ │ │ │ │ │ ├── factory
│ │ │ │ │ │ │ │ │ └── AwbAndroidJavaCompile.java
│ │ │ │ │ │ │ │ └── PackageAwb.java
│ │ │ │ │ │ │ ├── builder
│ │ │ │ │ │ │ │ └── core
│ │ │ │ │ │ │ │ ├── AtlasAapt.java
│ │ │ │ │ │ │ │ └── AtlasBuilder.java
│ │ │ │ │ │ │ ├── ide
│ │ │ │ │ │ │ │ └── common
│ │ │ │ │ │ │ │ └── process
│ │ │ │ │ │ │ │ ├── CmdExecutor.java
│ │ │ │ │ │ │ │ ├── MtlProcessExecutor.java
│ │ │ │ │ │ │ │ ├── MtlProcessInfoBuilder.java
│ │ │ │ │ │ │ │ └── MtlProcessInfo.java
│ │ │ │ │ │ │ └── tools
│ │ │ │ │ │ │ └── r8
│ │ │ │ │ │ │ ├── AtlasD8DexArchiveBuilder.java
│ │ │ │ │ │ │ ├── AtlasD8.java
│ │ │ │ │ │ │ ├── AtlasD8Merger.java
│ │ │ │ │ │ │ └── dex
│ │ │ │ │ │ │ ├── AtlasApplicationWriter.java
│ │ │ │ │ │ │ └── AtlasVirtualFile.java
│ │ │ │ │ │ └── taobao
│ │ │ │ │ │ └── android
│ │ │ │ │ │ └── builder
│ │ │ │ │ │ ├── adapter
│ │ │ │ │ │ │ ├── AppVariantContextFactory.java
│ │ │ │ │ │ │ ├── AtlasExtensionFactory.java
│ │ │ │ │ │ │ └── BuilderAdapter.java
│ │ │ │ │ │ ├── AtlasAppPlugin.java
│ │ │ │ │ │ ├── AtlasBasePlugin.java
│ │ │ │ │ │ ├── AtlasBuildContext.java
│ │ │ │ │ │ ├── AtlasFeaturePlugin.java
│ │ │ │ │ │ ├── AtlasInstantAppPlugin.java
│ │ │ │ │ │ ├── AtlasLibPlugin.java
│ │ │ │ │ │ ├── AtlasMainDexHelper.java
│ │ │ │ │ │ ├── AtlasPlugin.java
│ │ │ │ │ │ ├── dependency
│ │ │ │ │ │ │ ├── ap
│ │ │ │ │ │ │ │ └── ApDependency.java
│ │ │ │ │ │ │ ├── AtlasDependencyTree.java
│ │ │ │ │ │ │ ├── AtlasProjectDependencyManager.java
│ │ │ │ │ │ │ ├── diff
│ │ │ │ │ │ │ │ ├── DependencyCompareUtils.java
│ │ │ │ │ │ │ │ └── DependencyDiff.java
│ │ │ │ │ │ │ ├── model
│ │ │ │ │ │ │ │ ├── ApkLibrary.java
│ │ │ │ │ │ │ │ ├── ApLibrary.java
│ │ │ │ │ │ │ │ ├── AwbBundle.java
│ │ │ │ │ │ │ │ └── SoLibrary.java
│ │ │ │ │ │ │ ├── output
│ │ │ │ │ │ │ │ └── DependencyJson.java
│ │ │ │ │ │ │ └── parser
│ │ │ │ │ │ │ ├── AtlasDepHelper.java
│ │ │ │ │ │ │ ├── AtlasDepTreeParser.java
│ │ │ │ │ │ │ ├── CircleDependencyCheck.java
│ │ │ │ │ │ │ ├── DependencyLocationManager.java
│ │ │ │ │ │ │ ├── helper
│ │ │ │ │ │ │ │ ├── DependencyGroup.java
│ │ │ │ │ │ │ │ └── DependencyResolver.java
│ │ │ │ │ │ │ └── ResolvedDependencyInfo.java
│ │ │ │ │ │ ├── extension
│ │ │ │ │ │ │ ├── annotation
│ │ │ │ │ │ │ │ ├── ConfigGroup.java
│ │ │ │ │ │ │ │ └── Config.java
│ │ │ │ │ │ │ ├── AtlasExtension.java
│ │ │ │ │ │ │ ├── BundleConfig.java
│ │ │ │ │ │ │ ├── DefaultChannelConfig.java
│ │ │ │ │ │ │ ├── DexConfig.java
│ │ │ │ │ │ │ ├── EnhanceConfig.java
│ │ │ │ │ │ │ ├── factory
│ │ │ │ │ │ │ │ ├── DefaultChannelConfigFactory.java
│ │ │ │ │ │ │ │ ├── DexConfigFactory.java
│ │ │ │ │ │ │ │ ├── EnhanceConfigFactory.java
│ │ │ │ │ │ │ │ ├── MultiDexConfigFactory.java
│ │ │ │ │ │ │ │ ├── PatchConfigFactory.java
│ │ │ │ │ │ │ │ └── TBuildTypeFactory.java
│ │ │ │ │ │ │ ├── ManifestOptions.java
│ │ │ │ │ │ │ ├── MultiDexConfig.java
│ │ │ │ │ │ │ ├── PatchConfig.java
│ │ │ │ │ │ │ ├── TBuildConfig.java
│ │ │ │ │ │ │ └── TBuildType.java
│ │ │ │ │ │ ├── hook
│ │ │ │ │ │ │ ├── AppPluginHook.java
│ │ │ │ │ │ │ └── dex
│ │ │ │ │ │ │ ├── AtlasD8Creator.java
│ │ │ │ │ │ │ ├── AtlasDexArchiveMerger.java
│ │ │ │ │ │ │ ├── DexArchiveMergerHook.java
│ │ │ │ │ │ │ ├── DexByteCodeConverterHook.java
│ │ │ │ │ │ │ ├── DexWrapperHook.java
│ │ │ │ │ │ │ ├── DirDexArchiveHook.java
│ │ │ │ │ │ │ └── NonIncrementalJarDexArchiveHook.java
│ │ │ │ │ │ ├── insant
│ │ │ │ │ │ │ ├── DelegateProguardTransform.java
│ │ │ │ │ │ │ ├── InstantInfo.java
│ │ │ │ │ │ │ ├── matcher
│ │ │ │ │ │ │ │ ├── AllMatcher.java
│ │ │ │ │ │ │ │ ├── ClassMatcher.java
│ │ │ │ │ │ │ │ ├── ExcludeMatcher.java
│ │ │ │ │ │ │ │ ├── Imatcher.java
│ │ │ │ │ │ │ │ ├── ImplementsMatcher.java
│ │ │ │ │ │ │ │ ├── MatcherCreator.java
│ │ │ │ │ │ │ │ ├── NoMatcher.java
│ │ │ │ │ │ │ │ ├── PackageMatcher.java
│ │ │ │ │ │ │ │ ├── SeveralExcludeMatcher.java
│ │ │ │ │ │ │ │ └── SubPackgeMatcher.java
│ │ │ │ │ │ │ ├── TaobaoExtractJarsTransform.java
│ │ │ │ │ │ │ ├── TaobaoInstantRunDependenciesApkBuilder.java
│ │ │ │ │ │ │ ├── TaobaoInstantRunDex.java
│ │ │ │ │ │ │ ├── TaobaoInstantRunSlicer.java
│ │ │ │ │ │ │ ├── TaobaoInstantRunTransform.java
│ │ │ │ │ │ │ └── visitor
│ │ │ │ │ │ │ ├── ModifyClassVisitor.java
│ │ │ │ │ │ │ ├── ModifyFieldVisitor.java
│ │ │ │ │ │ │ └── ModifyMethodVisitor.java
│ │ │ │ │ │ ├── manager
│ │ │ │ │ │ │ ├── AtlasAppTaskManager.java
│ │ │ │ │ │ │ ├── AtlasBaseTaskManager.java
│ │ │ │ │ │ │ ├── AtlasConfigurationHelper.java
│ │ │ │ │ │ │ ├── AtlasFeatureTaskManager.java
│ │ │ │ │ │ │ ├── AtlasLibTaskManager.java
│ │ │ │ │ │ │ ├── PluginManager.java
│ │ │ │ │ │ │ └── Version.java
│ │ │ │ │ │ ├── tasks
│ │ │ │ │ │ │ ├── app
│ │ │ │ │ │ │ │ ├── ApBuildTask.java
│ │ │ │ │ │ │ │ ├── BuildAtlasEnvTask.java
│ │ │ │ │ │ │ │ ├── bundle
│ │ │ │ │ │ │ │ │ ├── actions
│ │ │ │ │ │ │ │ │ │ ├── FirstApkAction.java
│ │ │ │ │ │ │ │ │ │ ├── LastApkAction.java
│ │ │ │ │ │ │ │ │ │ └── LastBundleAction.java
│ │ │ │ │ │ │ │ │ ├── AtlasSymbolIo.java
│ │ │ │ │ │ │ │ │ ├── AwbApkPackageTask.java
│ │ │ │ │ │ │ │ │ ├── AwbJavaCompileConfigAction.java
│ │ │ │ │ │ │ │ │ ├── AwbPackagingScope.java
│ │ │ │ │ │ │ │ │ ├── Dex.java
│ │ │ │ │ │ │ │ │ ├── JavacAwbsTask.java
│ │ │ │ │ │ │ │ │ ├── PackageAwbsTask.java
│ │ │ │ │ │ │ │ │ ├── ProcessAwbAndroidResources.java
│ │ │ │ │ │ │ │ │ └── ProcessResAwbsTask.java
│ │ │ │ │ │ │ │ ├── databinding
│ │ │ │ │ │ │ │ │ ├── AwbDataBindingExportBuildInfoTask.java
│ │ │ │ │ │ │ │ │ ├── AwbDataBindingMergeArtifactsTask.java
│ │ │ │ │ │ │ │ │ ├── AwbDataBindingProcessLayoutTask.java
│ │ │ │ │ │ │ │ │ ├── AwbDataBindingRenameTask.java
│ │ │ │ │ │ │ │ │ └── AwbXmlProcessor.java
│ │ │ │ │ │ │ │ ├── GenerateAtlasSourceTask.java
│ │ │ │ │ │ │ │ ├── LogDependenciesTask.java
│ │ │ │ │ │ │ │ ├── manifest
│ │ │ │ │ │ │ │ │ ├── PostProcessManifestAction.java
│ │ │ │ │ │ │ │ │ ├── PreProcessManifestAction.java
│ │ │ │ │ │ │ │ │ └── StandardizeLibManifestTask.java
│ │ │ │ │ │ │ │ ├── merge
│ │ │ │ │ │ │ │ │ ├── AppendMainArtifactsCollection.java
│ │ │ │ │ │ │ │ │ ├── bundle
│ │ │ │ │ │ │ │ │ │ ├── AwbDataBindingProcessLayoutsTask.java
│ │ │ │ │ │ │ │ │ │ ├── MergeAwbAssets.java
│ │ │ │ │ │ │ │ │ │ └── MergeAwbResource.java
│ │ │ │ │ │ │ │ │ ├── MainArtifactsCollection.java
│ │ │ │ │ │ │ │ │ ├── MainFilesCollection.java
│ │ │ │ │ │ │ │ │ ├── MergeAssetAwbsConfigAction.java
│ │ │ │ │ │ │ │ │ ├── MergeAwbsJniFolder.java
│ │ │ │ │ │ │ │ │ ├── MergeManifestAwbsConfigAction.java
│ │ │ │ │ │ │ │ │ ├── MergeResAwbsConfigAction.java
│ │ │ │ │ │ │ │ │ ├── MergeResV4Dir.java
│ │ │ │ │ │ │ │ │ └── MergeSoLibTask.java
│ │ │ │ │ │ │ │ ├── prepare
│ │ │ │ │ │ │ │ │ ├── AddLocalJarTask.java
│ │ │ │ │ │ │ │ │ ├── BundleInfoSourceCreator.java
│ │ │ │ │ │ │ │ │ ├── PrepareAaptTask.java
│ │ │ │ │ │ │ │ │ ├── PrepareBundleInfoTask.java
│ │ │ │ │ │ │ │ │ └── PreparePackageIdsTask.java
│ │ │ │ │ │ │ │ ├── ResourcePatch.java
│ │ │ │ │ │ │ │ └── ScanDupResTask.java
│ │ │ │ │ │ │ ├── awo
│ │ │ │ │ │ │ │ └── utils
│ │ │ │ │ │ │ │ └── AwoInstaller.java
│ │ │ │ │ │ │ ├── execution
│ │ │ │ │ │ │ │ └── SkipExecuter.java
│ │ │ │ │ │ │ ├── feature
│ │ │ │ │ │ │ │ ├── FeatureLibManifestTask.java
│ │ │ │ │ │ │ │ └── PrePareFeatureTask.java
│ │ │ │ │ │ │ ├── helper
│ │ │ │ │ │ │ │ └── AtlasListTask.java
│ │ │ │ │ │ │ ├── instantapp
│ │ │ │ │ │ │ │ └── AtlasBundleInstantApp.java
│ │ │ │ │ │ │ ├── library
│ │ │ │ │ │ │ │ ├── AndroidComponetCreator.java
│ │ │ │ │ │ │ │ ├── AwbGenerator.java
│ │ │ │ │ │ │ │ ├── JarExtractTask.java
│ │ │ │ │ │ │ │ ├── ModuleInfoWriter.java
│ │ │ │ │ │ │ │ └── publish
│ │ │ │ │ │ │ │ ├── PublishHooker.java
│ │ │ │ │ │ │ │ └── UpdatePomTask.java
│ │ │ │ │ │ │ ├── manager
│ │ │ │ │ │ │ │ ├── AbstractBundleTask.java
│ │ │ │ │ │ │ │ ├── MtlBaseTaskAction.java
│ │ │ │ │ │ │ │ ├── MtlParallelTask.java
│ │ │ │ │ │ │ │ ├── MtlTaskContext.java
│ │ │ │ │ │ │ │ ├── MtlTaskFactoryImpl.java
│ │ │ │ │ │ │ │ ├── MtlTaskFactory.java
│ │ │ │ │ │ │ │ ├── MtlTaskInjector.java
│ │ │ │ │ │ │ │ ├── TaskCreater.java
│ │ │ │ │ │ │ │ ├── TaskQueryHelper.java
│ │ │ │ │ │ │ │ └── transform
│ │ │ │ │ │ │ │ ├── MtlInjectTransform.java
│ │ │ │ │ │ │ │ ├── MtlTransformContext.java
│ │ │ │ │ │ │ │ ├── MtlTransformInjector.java
│ │ │ │ │ │ │ │ └── TransformManager.java
│ │ │ │ │ │ │ ├── maven
│ │ │ │ │ │ │ │ └── PublishToMavenRepositoryHook.java
│ │ │ │ │ │ │ ├── PrepareAPTask.java
│ │ │ │ │ │ │ ├── tpatch
│ │ │ │ │ │ │ │ ├── DiffBundleInfoTask.java
│ │ │ │ │ │ │ │ ├── PackageTPatchConfigAction.java
│ │ │ │ │ │ │ │ ├── TPatchDiffApkBuildTask.java
│ │ │ │ │ │ │ │ ├── TPatchDiffResAPBuildTask.java
│ │ │ │ │ │ │ │ └── TPatchTask.java
│ │ │ │ │ │ │ └── transform
│ │ │ │ │ │ │ ├── AtlasDataBindingMergeArtifactsTransform.java
│ │ │ │ │ │ │ ├── AtlasDesugarTransform.java
│ │ │ │ │ │ │ ├── AtlasFixStackFramesTransform.java
│ │ │ │ │ │ │ ├── AtlasMergeJavaResourcesTransform.java
│ │ │ │ │ │ │ ├── AtlasProguardTransform.java
│ │ │ │ │ │ │ ├── AtlasTransformUtils.java
│ │ │ │ │ │ │ ├── ClassInjectTransform.java
│ │ │ │ │ │ │ ├── dex
│ │ │ │ │ │ │ │ ├── AtlasDexArchiveBuilderCacheHander.java
│ │ │ │ │ │ │ │ ├── AtlasDexArchiveBuilderTransform.java
│ │ │ │ │ │ │ │ ├── AtlasDexMerger.java
│ │ │ │ │ │ │ │ ├── AtlasDexMergerTransform.java
│ │ │ │ │ │ │ │ ├── AtlasMainDexMerger.java
│ │ │ │ │ │ │ │ ├── AtlasMultiDexListTransform.java
│ │ │ │ │ │ │ │ ├── AwbDexsMerger.java
│ │ │ │ │ │ │ │ └── DexMergeTransformCallable.java
│ │ │ │ │ │ │ ├── ResourcesShrinker.java
│ │ │ │ │ │ │ └── TransformReplacer.java
│ │ │ │ │ │ └── tools
│ │ │ │ │ │ ├── asm
│ │ │ │ │ │ │ ├── ClassNameRenamer.java
│ │ │ │ │ │ │ ├── ClazzBasicHandler.java
│ │ │ │ │ │ │ ├── ClazzReplacer.java
│ │ │ │ │ │ │ ├── field
│ │ │ │ │ │ │ │ ├── AsmFieldEditor.java
│ │ │ │ │ │ │ │ ├── Field.java
│ │ │ │ │ │ │ │ └── ModifyClassVisiter.java
│ │ │ │ │ │ │ ├── method
│ │ │ │ │ │ │ │ ├── Method.java
│ │ │ │ │ │ │ │ ├── MethodReplaceClazzVisitor.java
│ │ │ │ │ │ │ │ ├── MethodReplaceMethodVisitor.java
│ │ │ │ │ │ │ │ └── MethodStore.java
│ │ │ │ │ │ │ └── MethodReplacer.java
│ │ │ │ │ │ ├── BuildHelper.java
│ │ │ │ │ │ ├── bundleinfo
│ │ │ │ │ │ │ ├── ApkFileListUtils.java
│ │ │ │ │ │ │ ├── BundleGraphExecutor.java
│ │ │ │ │ │ │ ├── BundleInfoUtils.java
│ │ │ │ │ │ │ ├── BundleItem.java
│ │ │ │ │ │ │ ├── BundleItemRunner.java
│ │ │ │ │ │ │ ├── DynamicBundleInfo.java
│ │ │ │ │ │ │ └── model
│ │ │ │ │ │ │ ├── BasicBundleInfo.java
│ │ │ │ │ │ │ └── BundleInfo.java
│ │ │ │ │ │ ├── cache
│ │ │ │ │ │ │ ├── Cache.java
│ │ │ │ │ │ │ ├── FileCacheCenter.java
│ │ │ │ │ │ │ ├── FileCacheException.java
│ │ │ │ │ │ │ ├── FileLockUtils.java
│ │ │ │ │ │ │ ├── SimpleLocalCache.java
│ │ │ │ │ │ │ └── SimpleNetworkCache.java
│ │ │ │ │ │ ├── classinject
│ │ │ │ │ │ │ ├── ApkInjectInfoCreator.java
│ │ │ │ │ │ │ ├── ClazzInjecter.java
│ │ │ │ │ │ │ ├── CodeInjectByJavassist.java
│ │ │ │ │ │ │ ├── FrameworkProperties.java
│ │ │ │ │ │ │ └── InjectParam.java
│ │ │ │ │ │ ├── command
│ │ │ │ │ │ │ ├── CommandExecutor.java
│ │ │ │ │ │ │ └── ExecutionException.java
│ │ │ │ │ │ ├── concurrent
│ │ │ │ │ │ │ └── ExecutorServicesHelper.java
│ │ │ │ │ │ ├── diff
│ │ │ │ │ │ │ └── DiffResExtractor.java
│ │ │ │ │ │ ├── EnvHelper.java
│ │ │ │ │ │ ├── FileNameUtils.java
│ │ │ │ │ │ ├── groovy
│ │ │ │ │ │ │ └── ClosureFactory.java
│ │ │ │ │ │ ├── guide
│ │ │ │ │ │ │ ├── AtlasConfigField.java
│ │ │ │ │ │ │ ├── AtlasConfigHelper.java
│ │ │ │ │ │ │ └── AtlasExtensionOutput.java
│ │ │ │ │ │ ├── ideaplugin
│ │ │ │ │ │ │ ├── ApDownloader.java
│ │ │ │ │ │ │ └── AwoPropHandler.java
│ │ │ │ │ │ ├── jarmerge
│ │ │ │ │ │ │ └── JarMergerWithOverride.java
│ │ │ │ │ │ ├── JarUtils.java
│ │ │ │ │ │ ├── log
│ │ │ │ │ │ │ ├── FileLogger.java
│ │ │ │ │ │ │ └── LogOutputListener.java
│ │ │ │ │ │ ├── manifest
│ │ │ │ │ │ │ ├── AtlasProxy.java
│ │ │ │ │ │ │ ├── ManifestFileUtils.java
│ │ │ │ │ │ │ ├── ManifestHelper.java
│ │ │ │ │ │ │ ├── ManifestInfo.java
│ │ │ │ │ │ │ ├── Permission.java
│ │ │ │ │ │ │ └── Result.java
│ │ │ │ │ │ ├── MD5Util.java
│ │ │ │ │ │ ├── multidex
│ │ │ │ │ │ │ ├── dex
│ │ │ │ │ │ │ │ ├── DexGroup.java
│ │ │ │ │ │ │ │ ├── DexMerger.java
│ │ │ │ │ │ │ │ └── FileComparator.java
│ │ │ │ │ │ │ ├── FastMultiDexer.java
│ │ │ │ │ │ │ └── mutli
│ │ │ │ │ │ │ ├── JarRefactor.java
│ │ │ │ │ │ │ ├── MainDexLister.java
│ │ │ │ │ │ │ ├── MappingReaderProcess.java
│ │ │ │ │ │ │ └── NameComparator.java
│ │ │ │ │ │ ├── OSUtils.java
│ │ │ │ │ │ ├── PathUtil.java
│ │ │ │ │ │ ├── PluginTypeUtils.java
│ │ │ │ │ │ ├── process
│ │ │ │ │ │ │ └── ApkProcessor.java
│ │ │ │ │ │ ├── Profiler.java
│ │ │ │ │ │ ├── proguard
│ │ │ │ │ │ │ ├── AtlasProguardHelper.java
│ │ │ │ │ │ │ ├── AwbProguardConfiguration.java
│ │ │ │ │ │ │ ├── BundleProguarder.java
│ │ │ │ │ │ │ ├── domain
│ │ │ │ │ │ │ │ ├── Input.java
│ │ │ │ │ │ │ │ └── Result.java
│ │ │ │ │ │ │ ├── dump
│ │ │ │ │ │ │ │ ├── AbstractClasslVisitor.java
│ │ │ │ │ │ │ │ ├── BundleProguardDumper.java
│ │ │ │ │ │ │ │ ├── ClassDetailVisitor.java
│ │ │ │ │ │ │ │ ├── ClassStructVisitor.java
│ │ │ │ │ │ │ │ ├── ClazzRefInfoContainer.java
│ │ │ │ │ │ │ │ ├── ClazzRefInfo.java
│ │ │ │ │ │ │ │ ├── KeepConverter.java
│ │ │ │ │ │ │ │ ├── utils
│ │ │ │ │ │ │ │ │ └── ReflectUtils.java
│ │ │ │ │ │ │ │ └── VisitorDTO.java
│ │ │ │ │ │ │ ├── KeepOnlyConfigurationParser.java
│ │ │ │ │ │ │ └── ProGuardPercentPrinter.java
│ │ │ │ │ │ ├── ReflectUtils.java
│ │ │ │ │ │ ├── sign
│ │ │ │ │ │ │ ├── AndroidSigner.java
│ │ │ │ │ │ │ ├── LocalSignedJarBuilder.java
│ │ │ │ │ │ │ └── LocalSignHelper.java
│ │ │ │ │ │ ├── solib
│ │ │ │ │ │ │ ├── NativeSoFilter.java
│ │ │ │ │ │ │ └── NativeSoUtils.java
│ │ │ │ │ │ ├── TransformInputUtils.java
│ │ │ │ │ │ ├── VersionUtils.java
│ │ │ │ │ │ ├── xml
│ │ │ │ │ │ │ └── XmlHelper.java
│ │ │ │ │ │ ├── zip
│ │ │ │ │ │ │ ├── BetterZip.java
│ │ │ │ │ │ │ ├── FileMkUtils.java
│ │ │ │ │ │ │ └── ZipUtils.java
│ │ │ │ │ │ └── zipalign
│ │ │ │ │ │ └── ZipAlignUtils.java
│ │ │ │ │ └── proguard
│ │ │ │ │ ├── AtlasProguardConstants.java
│ │ │ │ │ └── io
│ │ │ │ │ └── JarWriter.java
│ │ │ │ └── resources
│ │ │ │ └── META-INF
│ │ │ │ └── gradle-plugins
│ │ │ │ ├── com.taobao.atlas.application.properties
│ │ │ │ ├── com.taobao.atlas.dexpatch.properties
│ │ │ │ ├── com.taobao.atlas.feature.properties
│ │ │ │ ├── com.taobao.atlas.instantapp.properties
│ │ │ │ ├── com.taobao.atlas.library.properties
│ │ │ │ └── com.taobao.atlas.properties
│ │ │ └── test
│ │ │ ├── java
│ │ │ │ ├── com
│ │ │ │ │ └── taobao
│ │ │ │ │ ├── asm
│ │ │ │ │ │ ├── AsmExample.java
│ │ │ │ │ │ ├── AsmFieldTest.java
│ │ │ │ │ │ ├── AsmTest.java
│ │ │ │ │ │ └── Config.java
│ │ │ │ │ └── atlas
│ │ │ │ │ ├── bundle
│ │ │ │ │ │ └── BundleDependenyTest.java
│ │ │ │ │ ├── cache
│ │ │ │ │ │ └── FileLockTest.java
│ │ │ │ │ ├── dex
│ │ │ │ │ │ └── FastDexMergeTest.java
│ │ │ │ │ └── manifest
│ │ │ │ │ ├── ManifestHelperTest.java
│ │ │ │ │ └── ManifestTest.java
│ │ │ │ └── proguard
│ │ │ │ └── KeepOnlyConfigurationParserTest.java
│ │ │ └── resources
│ │ │ ├── AndroidManifest2.xml
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── bundleInfoList.json
│ │ │ └── log4j.properties
│ │ ├── test.sh
│ │ └── todo.txt
│ ├── build.gradle
│ ├── dexpatch
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradlew
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ ├── android
│ │ │ │ └── content
│ │ │ │ └── res
│ │ │ │ ├── AXMLResource.java
│ │ │ │ ├── chunk
│ │ │ │ │ ├── AttributeType.java
│ │ │ │ │ ├── ChunkType.java
│ │ │ │ │ ├── ChunkUtil.java
│ │ │ │ │ ├── PoolItem.java
│ │ │ │ │ ├── sections
│ │ │ │ │ │ ├── ChunkSection.java
│ │ │ │ │ │ ├── GenericChunkSection.java
│ │ │ │ │ │ ├── ResourceSection.java
│ │ │ │ │ │ └── StringSection.java
│ │ │ │ │ └── types
│ │ │ │ │ ├── Attribute.java
│ │ │ │ │ ├── AXMLHeader.java
│ │ │ │ │ ├── Buffer.java
│ │ │ │ │ ├── Chunk.java
│ │ │ │ │ ├── EndTag.java
│ │ │ │ │ ├── GenericChunk.java
│ │ │ │ │ ├── NameSpace.java
│ │ │ │ │ ├── StartTag.java
│ │ │ │ │ └── TextTag.java
│ │ │ │ └── IntReader.java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ ├── android
│ │ │ │ ├── apatch
│ │ │ │ │ ├── AndFixFilterImpl.java
│ │ │ │ │ ├── annotation
│ │ │ │ │ │ └── MethodReplaceAnnotation.java
│ │ │ │ │ ├── ApkPatch.java
│ │ │ │ │ ├── builder
│ │ │ │ │ │ ├── PatchBuilder.java
│ │ │ │ │ │ └── SignedJarBuilder.java
│ │ │ │ │ ├── Build.java
│ │ │ │ │ ├── FastBuild.java
│ │ │ │ │ ├── MergePatch.java
│ │ │ │ │ └── utils
│ │ │ │ │ ├── Formater.java
│ │ │ │ │ ├── HexUtil.java
│ │ │ │ │ ├── MappingParser.java
│ │ │ │ │ ├── SmaliDiffUtils.java
│ │ │ │ │ └── TypeGenUtil.java
│ │ │ │ ├── baksmali
│ │ │ │ │ ├── adaptors
│ │ │ │ │ │ ├── AnnotationFormatter.java
│ │ │ │ │ │ ├── BlankMethodItem.java
│ │ │ │ │ │ ├── CatchMethodItem.java
│ │ │ │ │ │ ├── ClassDefinition.java
│ │ │ │ │ │ ├── CommentedOutMethodItem.java
│ │ │ │ │ │ ├── CommentingIndentingWriter.java
│ │ │ │ │ │ ├── CommentMethodItem.java
│ │ │ │ │ │ ├── Debug
│ │ │ │ │ │ │ ├── BeginEpilogueMethodItem.java
│ │ │ │ │ │ │ ├── DebugMethodItem.java
│ │ │ │ │ │ │ ├── EndLocalMethodItem.java
│ │ │ │ │ │ │ ├── EndPrologueMethodItem.java
│ │ │ │ │ │ │ ├── LineNumberMethodItem.java
│ │ │ │ │ │ │ ├── LocalFormatter.java
│ │ │ │ │ │ │ ├── RestartLocalMethodItem.java
│ │ │ │ │ │ │ ├── SetSourceFileMethodItem.java
│ │ │ │ │ │ │ └── StartLocalMethodItem.java
│ │ │ │ │ │ ├── EncodedValue
│ │ │ │ │ │ │ ├── AnnotationEncodedValueAdaptor.java
│ │ │ │ │ │ │ ├── ArrayEncodedValueAdaptor.java
│ │ │ │ │ │ │ └── EncodedValueAdaptor.java
│ │ │ │ │ │ ├── EndTryLabelMethodItem.java
│ │ │ │ │ │ ├── FieldDefinition.java
│ │ │ │ │ │ ├── Format
│ │ │ │ │ │ │ ├── ArrayDataMethodItem.java
│ │ │ │ │ │ │ ├── InstructionMethodItemFactory.java
│ │ │ │ │ │ │ ├── InstructionMethodItem.java
│ │ │ │ │ │ │ ├── OffsetInstructionFormatMethodItem.java
│ │ │ │ │ │ │ ├── PackedSwitchMethodItem.java
│ │ │ │ │ │ │ ├── SparseSwitchMethodItem.java
│ │ │ │ │ │ │ └── UnresolvedOdexInstructionMethodItem.java
│ │ │ │ │ │ ├── LabelMethodItem.java
│ │ │ │ │ │ ├── MethodDefinition.java
│ │ │ │ │ │ ├── MethodItem.java
│ │ │ │ │ │ ├── PostInstructionRegisterInfoMethodItem.java
│ │ │ │ │ │ ├── PreInstructionRegisterInfoMethodItem.java
│ │ │ │ │ │ ├── ReferenceFormatter.java
│ │ │ │ │ │ ├── RegisterFormatter.java
│ │ │ │ │ │ └── SyntheticAccessCommentMethodItem.java
│ │ │ │ │ ├── Renderers
│ │ │ │ │ │ ├── BooleanRenderer.java
│ │ │ │ │ │ ├── ByteRenderer.java
│ │ │ │ │ │ ├── CharRenderer.java
│ │ │ │ │ │ ├── DoubleRenderer.java
│ │ │ │ │ │ ├── FloatRenderer.java
│ │ │ │ │ │ ├── IntegerRenderer.java
│ │ │ │ │ │ ├── LongRenderer.java
│ │ │ │ │ │ └── ShortRenderer.java
│ │ │ │ │ └── util
│ │ │ │ │ └── ReferenceUtil.java
│ │ │ │ ├── dex
│ │ │ │ │ ├── Annotation.java
│ │ │ │ │ ├── ClassData.java
│ │ │ │ │ ├── ClassDef.java
│ │ │ │ │ ├── Code.java
│ │ │ │ │ ├── DexException.java
│ │ │ │ │ ├── DexFormat.java
│ │ │ │ │ ├── DexIndexOverflowException.java
│ │ │ │ │ ├── Dex.java
│ │ │ │ │ ├── EncodedValueCodec.java
│ │ │ │ │ ├── EncodedValue.java
│ │ │ │ │ ├── EncodedValueReader.java
│ │ │ │ │ ├── FieldId.java
│ │ │ │ │ ├── Leb128.java
│ │ │ │ │ ├── MethodId.java
│ │ │ │ │ ├── Mutf8.java
│ │ │ │ │ ├── ProtoId.java
│ │ │ │ │ ├── SizeOf.java
│ │ │ │ │ ├── TableOfContents.java
│ │ │ │ │ ├── TypeList.java
│ │ │ │ │ └── util
│ │ │ │ │ ├── ByteArrayByteInput.java
│ │ │ │ │ ├── ByteInput.java
│ │ │ │ │ ├── ByteOutput.java
│ │ │ │ │ ├── ExceptionWithContext.java
│ │ │ │ │ ├── FileUtils.java
│ │ │ │ │ └── Unsigned.java
│ │ │ │ ├── differ
│ │ │ │ │ └── dex
│ │ │ │ │ ├── ApkDiff.java
│ │ │ │ │ ├── BundleDiffResult.java
│ │ │ │ │ ├── DexDiffer.java
│ │ │ │ │ └── PatchException.java
│ │ │ │ ├── dx
│ │ │ │ │ ├── cf
│ │ │ │ │ │ ├── attrib
│ │ │ │ │ │ │ ├── AttAnnotationDefault.java
│ │ │ │ │ │ │ ├── AttCode.java
│ │ │ │ │ │ │ ├── AttConstantValue.java
│ │ │ │ │ │ │ ├── AttDeprecated.java
│ │ │ │ │ │ │ ├── AttEnclosingMethod.java
│ │ │ │ │ │ │ ├── AttExceptions.java
│ │ │ │ │ │ │ ├── AttInnerClasses.java
│ │ │ │ │ │ │ ├── AttLineNumberTable.java
│ │ │ │ │ │ │ ├── AttLocalVariableTable.java
│ │ │ │ │ │ │ ├── AttLocalVariableTypeTable.java
│ │ │ │ │ │ │ ├── AttRuntimeInvisibleAnnotations.java
│ │ │ │ │ │ │ ├── AttRuntimeInvisibleParameterAnnotations.java
│ │ │ │ │ │ │ ├── AttRuntimeVisibleAnnotations.java
│ │ │ │ │ │ │ ├── AttRuntimeVisibleParameterAnnotations.java
│ │ │ │ │ │ │ ├── AttSignature.java
│ │ │ │ │ │ │ ├── AttSourceFile.java
│ │ │ │ │ │ │ ├── AttSynthetic.java
│ │ │ │ │ │ │ ├── BaseAnnotations.java
│ │ │ │ │ │ │ ├── BaseAttribute.java
│ │ │ │ │ │ │ ├── BaseLocalVariables.java
│ │ │ │ │ │ │ ├── BaseParameterAnnotations.java
│ │ │ │ │ │ │ ├── InnerClassList.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ └── RawAttribute.java
│ │ │ │ │ │ ├── code
│ │ │ │ │ │ │ ├── BaseMachine.java
│ │ │ │ │ │ │ ├── BasicBlocker.java
│ │ │ │ │ │ │ ├── ByteBlock.java
│ │ │ │ │ │ │ ├── ByteBlockList.java
│ │ │ │ │ │ │ ├── ByteCatchList.java
│ │ │ │ │ │ │ ├── BytecodeArray.java
│ │ │ │ │ │ │ ├── ByteOps.java
│ │ │ │ │ │ │ ├── ConcreteMethod.java
│ │ │ │ │ │ │ ├── ExecutionStack.java
│ │ │ │ │ │ │ ├── Frame.java
│ │ │ │ │ │ │ ├── LineNumberList.java
│ │ │ │ │ │ │ ├── LocalsArray.java
│ │ │ │ │ │ │ ├── LocalsArraySet.java
│ │ │ │ │ │ │ ├── LocalVariableList.java
│ │ │ │ │ │ │ ├── Machine.java
│ │ │ │ │ │ │ ├── Merger.java
│ │ │ │ │ │ │ ├── OneLocalsArray.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ ├── ReturnAddress.java
│ │ │ │ │ │ │ ├── Ropper.java
│ │ │ │ │ │ │ ├── RopperMachine.java
│ │ │ │ │ │ │ ├── SimException.java
│ │ │ │ │ │ │ ├── Simulator.java
│ │ │ │ │ │ │ ├── SwitchList.java
│ │ │ │ │ │ │ └── ValueAwareMachine.java
│ │ │ │ │ │ ├── cst
│ │ │ │ │ │ │ ├── ConstantPoolParser.java
│ │ │ │ │ │ │ └── ConstantTags.java
│ │ │ │ │ │ ├── direct
│ │ │ │ │ │ │ ├── AnnotationParser.java
│ │ │ │ │ │ │ ├── AttributeFactory.java
│ │ │ │ │ │ │ ├── AttributeListParser.java
│ │ │ │ │ │ │ ├── ClassPathOpener.java
│ │ │ │ │ │ │ ├── CodeObserver.java
│ │ │ │ │ │ │ ├── DirectClassFile.java
│ │ │ │ │ │ │ ├── FieldListParser.java
│ │ │ │ │ │ │ ├── MemberListParser.java
│ │ │ │ │ │ │ ├── MethodListParser.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ └── StdAttributeFactory.java
│ │ │ │ │ │ └── iface
│ │ │ │ │ │ ├── Attribute.java
│ │ │ │ │ │ ├── AttributeList.java
│ │ │ │ │ │ ├── ClassFile.java
│ │ │ │ │ │ ├── Field.java
│ │ │ │ │ │ ├── FieldList.java
│ │ │ │ │ │ ├── HasAttribute.java
│ │ │ │ │ │ ├── Member.java
│ │ │ │ │ │ ├── Method.java
│ │ │ │ │ │ ├── MethodList.java
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ ├── ParseException.java
│ │ │ │ │ │ ├── ParseObserver.java
│ │ │ │ │ │ ├── StdAttributeList.java
│ │ │ │ │ │ ├── StdField.java
│ │ │ │ │ │ ├── StdFieldList.java
│ │ │ │ │ │ ├── StdMember.java
│ │ │ │ │ │ ├── StdMethod.java
│ │ │ │ │ │ └── StdMethodList.java
│ │ │ │ │ ├── command
│ │ │ │ │ │ ├── annotool
│ │ │ │ │ │ │ ├── AnnotationLister.java
│ │ │ │ │ │ │ └── Main.java
│ │ │ │ │ │ ├── dexer
│ │ │ │ │ │ │ └── Main.java
│ │ │ │ │ │ ├── dump
│ │ │ │ │ │ │ ├── Args.java
│ │ │ │ │ │ │ ├── BaseDumper.java
│ │ │ │ │ │ │ ├── BlockDumper.java
│ │ │ │ │ │ │ ├── ClassDumper.java
│ │ │ │ │ │ │ ├── DotDumper.java
│ │ │ │ │ │ │ ├── Main.java
│ │ │ │ │ │ │ └── SsaDumper.java
│ │ │ │ │ │ ├── DxConsole.java
│ │ │ │ │ │ ├── findusages
│ │ │ │ │ │ │ ├── FindUsages.java
│ │ │ │ │ │ │ └── Main.java
│ │ │ │ │ │ ├── grep
│ │ │ │ │ │ │ ├── Grep.java
│ │ │ │ │ │ │ └── Main.java
│ │ │ │ │ │ ├── Main.java
│ │ │ │ │ │ └── UsageException.java
│ │ │ │ │ ├── dex
│ │ │ │ │ │ ├── cf
│ │ │ │ │ │ │ ├── AttributeTranslator.java
│ │ │ │ │ │ │ ├── CfOptions.java
│ │ │ │ │ │ │ ├── CfTranslator.java
│ │ │ │ │ │ │ ├── CodeStatistics.java
│ │ │ │ │ │ │ ├── OptimizerOptions.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── code
│ │ │ │ │ │ │ ├── ArrayData.java
│ │ │ │ │ │ │ ├── BlockAddresses.java
│ │ │ │ │ │ │ ├── CatchBuilder.java
│ │ │ │ │ │ │ ├── CatchHandlerList.java
│ │ │ │ │ │ │ ├── CatchTable.java
│ │ │ │ │ │ │ ├── CodeAddress.java
│ │ │ │ │ │ │ ├── CstInsn.java
│ │ │ │ │ │ │ ├── DalvCode.java
│ │ │ │ │ │ │ ├── DalvInsn.java
│ │ │ │ │ │ │ ├── DalvInsnList.java
│ │ │ │ │ │ │ ├── Dop.java
│ │ │ │ │ │ │ ├── Dops.java
│ │ │ │ │ │ │ ├── FixedSizeInsn.java
│ │ │ │ │ │ │ ├── form
│ │ │ │ │ │ │ │ ├── Form10t.java
│ │ │ │ │ │ │ │ ├── Form10x.java
│ │ │ │ │ │ │ │ ├── Form11n.java
│ │ │ │ │ │ │ │ ├── Form11x.java
│ │ │ │ │ │ │ │ ├── Form12x.java
│ │ │ │ │ │ │ │ ├── Form20t.java
│ │ │ │ │ │ │ │ ├── Form21c.java
│ │ │ │ │ │ │ │ ├── Form21h.java
│ │ │ │ │ │ │ │ ├── Form21s.java
│ │ │ │ │ │ │ │ ├── Form21t.java
│ │ │ │ │ │ │ │ ├── Form22b.java
│ │ │ │ │ │ │ │ ├── Form22c.java
│ │ │ │ │ │ │ │ ├── Form22s.java
│ │ │ │ │ │ │ │ ├── Form22t.java
│ │ │ │ │ │ │ │ ├── Form22x.java
│ │ │ │ │ │ │ │ ├── Form23x.java
│ │ │ │ │ │ │ │ ├── Form30t.java
│ │ │ │ │ │ │ │ ├── Form31c.java
│ │ │ │ │ │ │ │ ├── Form31i.java
│ │ │ │ │ │ │ │ ├── Form31t.java
│ │ │ │ │ │ │ │ ├── Form32x.java
│ │ │ │ │ │ │ │ ├── Form35c.java
│ │ │ │ │ │ │ │ ├── Form3rc.java
│ │ │ │ │ │ │ │ ├── Form51l.java
│ │ │ │ │ │ │ │ └── SpecialFormat.java
│ │ │ │ │ │ │ ├── HighRegisterPrefix.java
│ │ │ │ │ │ │ ├── InsnFormat.java
│ │ │ │ │ │ │ ├── LocalList.java
│ │ │ │ │ │ │ ├── LocalSnapshot.java
│ │ │ │ │ │ │ ├── LocalStart.java
│ │ │ │ │ │ │ ├── OddSpacer.java
│ │ │ │ │ │ │ ├── OutputCollector.java
│ │ │ │ │ │ │ ├── OutputFinisher.java
│ │ │ │ │ │ │ ├── PositionList.java
│ │ │ │ │ │ │ ├── RopToDop.java
│ │ │ │ │ │ │ ├── RopTranslator.java
│ │ │ │ │ │ │ ├── SimpleInsn.java
│ │ │ │ │ │ │ ├── StdCatchBuilder.java
│ │ │ │ │ │ │ ├── SwitchData.java
│ │ │ │ │ │ │ ├── TargetInsn.java
│ │ │ │ │ │ │ ├── VariableSizeInsn.java
│ │ │ │ │ │ │ └── ZeroSizeInsn.java
│ │ │ │ │ │ ├── DexOptions.java
│ │ │ │ │ │ └── file
│ │ │ │ │ │ ├── AnnotationItem.java
│ │ │ │ │ │ ├── AnnotationsDirectoryItem.java
│ │ │ │ │ │ ├── AnnotationSetItem.java
│ │ │ │ │ │ ├── AnnotationSetRefItem.java
│ │ │ │ │ │ ├── AnnotationUtils.java
│ │ │ │ │ │ ├── CatchStructs.java
│ │ │ │ │ │ ├── ClassDataItem.java
│ │ │ │ │ │ ├── ClassDefItem.java
│ │ │ │ │ │ ├── ClassDefsSection.java
│ │ │ │ │ │ ├── CodeItem.java
│ │ │ │ │ │ ├── DebugInfoConstants.java
│ │ │ │ │ │ ├── DebugInfoDecoder.java
│ │ │ │ │ │ ├── DebugInfoEncoder.java
│ │ │ │ │ │ ├── DebugInfoItem.java
│ │ │ │ │ │ ├── DexFile.java
│ │ │ │ │ │ ├── EncodedArrayItem.java
│ │ │ │ │ │ ├── EncodedField.java
│ │ │ │ │ │ ├── EncodedMember.java
│ │ │ │ │ │ ├── EncodedMethod.java
│ │ │ │ │ │ ├── FieldAnnotationStruct.java
│ │ │ │ │ │ ├── FieldIdItem.java
│ │ │ │ │ │ ├── FieldIdsSection.java
│ │ │ │ │ │ ├── HeaderItem.java
│ │ │ │ │ │ ├── HeaderSection.java
│ │ │ │ │ │ ├── IdItem.java
│ │ │ │ │ │ ├── IndexedItem.java
│ │ │ │ │ │ ├── Item.java
│ │ │ │ │ │ ├── ItemType.java
│ │ │ │ │ │ ├── MapItem.java
│ │ │ │ │ │ ├── MemberIdItem.java
│ │ │ │ │ │ ├── MemberIdsSection.java
│ │ │ │ │ │ ├── MethodAnnotationStruct.java
│ │ │ │ │ │ ├── MethodIdItem.java
│ │ │ │ │ │ ├── MethodIdsSection.java
│ │ │ │ │ │ ├── MixedItemSection.java
│ │ │ │ │ │ ├── OffsettedItem.java
│ │ │ │ │ │ ├── ParameterAnnotationStruct.java
│ │ │ │ │ │ ├── ProtoIdItem.java
│ │ │ │ │ │ ├── ProtoIdsSection.java
│ │ │ │ │ │ ├── Section.java
│ │ │ │ │ │ ├── Statistics.java
│ │ │ │ │ │ ├── StringDataItem.java
│ │ │ │ │ │ ├── StringIdItem.java
│ │ │ │ │ │ ├── StringIdsSection.java
│ │ │ │ │ │ ├── TypeIdItem.java
│ │ │ │ │ │ ├── TypeIdsSection.java
│ │ │ │ │ │ ├── TypeListItem.java
│ │ │ │ │ │ ├── UniformItemSection.java
│ │ │ │ │ │ ├── UniformListItem.java
│ │ │ │ │ │ └── ValueEncoder.java
│ │ │ │ │ ├── io
│ │ │ │ │ │ ├── CodeReader.java
│ │ │ │ │ │ ├── DexIndexPrinter.java
│ │ │ │ │ │ ├── IndexType.java
│ │ │ │ │ │ ├── instructions
│ │ │ │ │ │ │ ├── AddressMap.java
│ │ │ │ │ │ │ ├── BaseCodeCursor.java
│ │ │ │ │ │ │ ├── CodeCursor.java
│ │ │ │ │ │ │ ├── CodeInput.java
│ │ │ │ │ │ │ ├── CodeOutput.java
│ │ │ │ │ │ │ ├── DecodedInstruction.java
│ │ │ │ │ │ │ ├── FillArrayDataPayloadDecodedInstruction.java
│ │ │ │ │ │ │ ├── FiveRegisterDecodedInstruction.java
│ │ │ │ │ │ │ ├── FourRegisterDecodedInstruction.java
│ │ │ │ │ │ │ ├── InstructionCodec.java
│ │ │ │ │ │ │ ├── OneRegisterDecodedInstruction.java
│ │ │ │ │ │ │ ├── PackedSwitchPayloadDecodedInstruction.java
│ │ │ │ │ │ │ ├── RegisterRangeDecodedInstruction.java
│ │ │ │ │ │ │ ├── ShortArrayCodeInput.java
│ │ │ │ │ │ │ ├── ShortArrayCodeOutput.java
│ │ │ │ │ │ │ ├── SparseSwitchPayloadDecodedInstruction.java
│ │ │ │ │ │ │ ├── ThreeRegisterDecodedInstruction.java
│ │ │ │ │ │ │ ├── TwoRegisterDecodedInstruction.java
│ │ │ │ │ │ │ └── ZeroRegisterDecodedInstruction.java
│ │ │ │ │ │ ├── OpcodeInfo.java
│ │ │ │ │ │ └── Opcodes.java
│ │ │ │ │ ├── merge
│ │ │ │ │ │ ├── CollisionPolicy.java
│ │ │ │ │ │ ├── DexMerger.java
│ │ │ │ │ │ ├── IndexMap.java
│ │ │ │ │ │ ├── InstructionTransformer.java
│ │ │ │ │ │ └── SortableType.java
│ │ │ │ │ ├── rop
│ │ │ │ │ │ ├── annotation
│ │ │ │ │ │ │ ├── Annotation.java
│ │ │ │ │ │ │ ├── Annotations.java
│ │ │ │ │ │ │ ├── AnnotationsList.java
│ │ │ │ │ │ │ ├── AnnotationVisibility.java
│ │ │ │ │ │ │ └── NameValuePair.java
│ │ │ │ │ │ ├── code
│ │ │ │ │ │ │ ├── AccessFlags.java
│ │ │ │ │ │ │ ├── BasicBlock.java
│ │ │ │ │ │ │ ├── BasicBlockList.java
│ │ │ │ │ │ │ ├── ConservativeTranslationAdvice.java
│ │ │ │ │ │ │ ├── CstInsn.java
│ │ │ │ │ │ │ ├── DexTranslationAdvice.java
│ │ │ │ │ │ │ ├── Exceptions.java
│ │ │ │ │ │ │ ├── FillArrayDataInsn.java
│ │ │ │ │ │ │ ├── Insn.java
│ │ │ │ │ │ │ ├── InsnList.java
│ │ │ │ │ │ │ ├── LocalItem.java
│ │ │ │ │ │ │ ├── LocalVariableExtractor.java
│ │ │ │ │ │ │ ├── LocalVariableInfo.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ ├── PlainCstInsn.java
│ │ │ │ │ │ │ ├── PlainInsn.java
│ │ │ │ │ │ │ ├── RegisterSpec.java
│ │ │ │ │ │ │ ├── RegisterSpecList.java
│ │ │ │ │ │ │ ├── RegisterSpecSet.java
│ │ │ │ │ │ │ ├── RegOps.java
│ │ │ │ │ │ │ ├── Rop.java
│ │ │ │ │ │ │ ├── RopMethod.java
│ │ │ │ │ │ │ ├── Rops.java
│ │ │ │ │ │ │ ├── SourcePosition.java
│ │ │ │ │ │ │ ├── SwitchInsn.java
│ │ │ │ │ │ │ ├── ThrowingCstInsn.java
│ │ │ │ │ │ │ ├── ThrowingInsn.java
│ │ │ │ │ │ │ └── TranslationAdvice.java
│ │ │ │ │ │ ├── cst
│ │ │ │ │ │ │ ├── Constant.java
│ │ │ │ │ │ │ ├── ConstantPool.java
│ │ │ │ │ │ │ ├── CstAnnotation.java
│ │ │ │ │ │ │ ├── CstArray.java
│ │ │ │ │ │ │ ├── CstBaseMethodRef.java
│ │ │ │ │ │ │ ├── CstBoolean.java
│ │ │ │ │ │ │ ├── CstByte.java
│ │ │ │ │ │ │ ├── CstChar.java
│ │ │ │ │ │ │ ├── CstDouble.java
│ │ │ │ │ │ │ ├── CstEnumRef.java
│ │ │ │ │ │ │ ├── CstFieldRef.java
│ │ │ │ │ │ │ ├── CstFloat.java
│ │ │ │ │ │ │ ├── CstInteger.java
│ │ │ │ │ │ │ ├── CstInterfaceMethodRef.java
│ │ │ │ │ │ │ ├── CstKnownNull.java
│ │ │ │ │ │ │ ├── CstLiteral32.java
│ │ │ │ │ │ │ ├── CstLiteral64.java
│ │ │ │ │ │ │ ├── CstLiteralBits.java
│ │ │ │ │ │ │ ├── CstLong.java
│ │ │ │ │ │ │ ├── CstMemberRef.java
│ │ │ │ │ │ │ ├── CstMethodRef.java
│ │ │ │ │ │ │ ├── CstNat.java
│ │ │ │ │ │ │ ├── CstShort.java
│ │ │ │ │ │ │ ├── CstString.java
│ │ │ │ │ │ │ ├── CstType.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ ├── StdConstantPool.java
│ │ │ │ │ │ │ ├── TypedConstant.java
│ │ │ │ │ │ │ └── Zeroes.java
│ │ │ │ │ │ ├── package-info.java
│ │ │ │ │ │ └── type
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ ├── Prototype.java
│ │ │ │ │ │ ├── StdTypeList.java
│ │ │ │ │ │ ├── TypeBearer.java
│ │ │ │ │ │ ├── Type.java
│ │ │ │ │ │ └── TypeList.java
│ │ │ │ │ ├── ssa
│ │ │ │ │ │ ├── back
│ │ │ │ │ │ │ ├── FirstFitAllocator.java
│ │ │ │ │ │ │ ├── FirstFitLocalCombiningAllocator.java
│ │ │ │ │ │ │ ├── IdenticalBlockCombiner.java
│ │ │ │ │ │ │ ├── InterferenceGraph.java
│ │ │ │ │ │ │ ├── LivenessAnalyzer.java
│ │ │ │ │ │ │ ├── NullRegisterAllocator.java
│ │ │ │ │ │ │ ├── RegisterAllocator.java
│ │ │ │ │ │ │ └── SsaToRop.java
│ │ │ │ │ │ ├── BasicRegisterMapper.java
│ │ │ │ │ │ ├── ConstCollector.java
│ │ │ │ │ │ ├── DeadCodeRemover.java
│ │ │ │ │ │ ├── DomFront.java
│ │ │ │ │ │ ├── Dominators.java
│ │ │ │ │ │ ├── EscapeAnalysis.java
│ │ │ │ │ │ ├── InterferenceRegisterMapper.java
│ │ │ │ │ │ ├── LiteralOpUpgrader.java
│ │ │ │ │ │ ├── LocalVariableExtractor.java
│ │ │ │ │ │ ├── LocalVariableInfo.java
│ │ │ │ │ │ ├── MoveParamCombiner.java
│ │ │ │ │ │ ├── NormalSsaInsn.java
│ │ │ │ │ │ ├── Optimizer.java
│ │ │ │ │ │ ├── package-info.java
│ │ │ │ │ │ ├── PhiInsn.java
│ │ │ │ │ │ ├── PhiTypeResolver.java
│ │ │ │ │ │ ├── RegisterMapper.java
│ │ │ │ │ │ ├── SCCP.java
│ │ │ │ │ │ ├── SetFactory.java
│ │ │ │ │ │ ├── SsaBasicBlock.java
│ │ │ │ │ │ ├── SsaConverter.java
│ │ │ │ │ │ ├── SsaInsn.java
│ │ │ │ │ │ ├── SsaMethod.java
│ │ │ │ │ │ └── SsaRenamer.java
│ │ │ │ │ ├── util
│ │ │ │ │ │ ├── AnnotatedOutput.java
│ │ │ │ │ │ ├── BitIntSet.java
│ │ │ │ │ │ ├── Bits.java
│ │ │ │ │ │ ├── ByteArrayAnnotatedOutput.java
│ │ │ │ │ │ ├── ByteArray.java
│ │ │ │ │ │ ├── FixedSizeList.java
│ │ │ │ │ │ ├── Hex.java
│ │ │ │ │ │ ├── HexParser.java
│ │ │ │ │ │ ├── IndentingWriter.java
│ │ │ │ │ │ ├── IntIterator.java
│ │ │ │ │ │ ├── IntList.java
│ │ │ │ │ │ ├── IntSet.java
│ │ │ │ │ │ ├── LabeledItem.java
│ │ │ │ │ │ ├── LabeledList.java
│ │ │ │ │ │ ├── ListIntSet.java
│ │ │ │ │ │ ├── MutabilityControl.java
│ │ │ │ │ │ ├── MutabilityException.java
│ │ │ │ │ │ ├── Output.java
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ ├── ToHuman.java
│ │ │ │ │ │ ├── TwoColumnOutput.java
│ │ │ │ │ │ ├── Warning.java
│ │ │ │ │ │ └── Writers.java
│ │ │ │ │ └── Version.java
│ │ │ │ ├── filter
│ │ │ │ │ ├── AbstractDexFilter.java
│ │ │ │ │ ├── DexDiffFilter.java
│ │ │ │ │ └── Filter.java
│ │ │ │ ├── inputs
│ │ │ │ │ ├── ApatchInput.java
│ │ │ │ │ ├── BaseInput.java
│ │ │ │ │ ├── DexPatchInput.java
│ │ │ │ │ ├── HotPatchInput.java
│ │ │ │ │ └── TpatchInput.java
│ │ │ │ ├── multidex
│ │ │ │ │ ├── ArchivePathElement.java
│ │ │ │ │ ├── ClassPathElement.java
│ │ │ │ │ ├── ClassReferenceListBuilder.java
│ │ │ │ │ ├── FolderPathElement.java
│ │ │ │ │ ├── MainDexListBuilder.java
│ │ │ │ │ └── Path.java
│ │ │ │ ├── object
│ │ │ │ │ ├── ApkFileList.java
│ │ │ │ │ ├── ArtifactBundleInfo.java
│ │ │ │ │ ├── BuildPatchInfos.java
│ │ │ │ │ ├── ClassDiffInfo.java
│ │ │ │ │ ├── DexDiffInfo.java
│ │ │ │ │ ├── DiffType.java
│ │ │ │ │ ├── FieldDiffInfo.java
│ │ │ │ │ ├── FieldObject.java
│ │ │ │ │ ├── MethodDiffInfo.java
│ │ │ │ │ ├── MethodDiffInfoObject.java
│ │ │ │ │ ├── MethodObject.java
│ │ │ │ │ ├── PatchBundleInfo.java
│ │ │ │ │ ├── PatchInfo.java
│ │ │ │ │ └── SoFileDef.java
│ │ │ │ ├── outputs
│ │ │ │ │ ├── APatchFile.java
│ │ │ │ │ ├── DexPatchFile.java
│ │ │ │ │ ├── PatchFile.java
│ │ │ │ │ └── TpatchFile.java
│ │ │ │ ├── PatchManager.java
│ │ │ │ ├── PatchType.java
│ │ │ │ ├── reader
│ │ │ │ │ ├── AtlasFrameworkPropertiesReader.java
│ │ │ │ │ ├── BundleListing.java
│ │ │ │ │ ├── BundleListingUtil.java
│ │ │ │ │ ├── ClassReader.java
│ │ │ │ │ ├── DexReader.java
│ │ │ │ │ ├── FieldReader.java
│ │ │ │ │ ├── MethodReader.java
│ │ │ │ │ └── Reader.java
│ │ │ │ ├── repatch
│ │ │ │ │ ├── AbIClassDef.java
│ │ │ │ │ ├── ClassReIClassDef.java
│ │ │ │ │ ├── FastPatchObject.java
│ │ │ │ │ ├── IClassDef.java
│ │ │ │ │ ├── InsTructionsReIClassDef.java
│ │ │ │ │ ├── mapping
│ │ │ │ │ │ ├── MappingProcessorImpl.java
│ │ │ │ │ │ ├── MappingProcessor.java
│ │ │ │ │ │ └── MappingReader.java
│ │ │ │ │ ├── MethodImplReIClassDef.java
│ │ │ │ │ ├── MethodReIClassDef.java
│ │ │ │ │ ├── processor
│ │ │ │ │ │ ├── ClassProcessor.java
│ │ │ │ │ │ └── MappingClassProcessor.java
│ │ │ │ │ └── Utils
│ │ │ │ │ └── DefineUtils.java
│ │ │ │ ├── smali
│ │ │ │ │ ├── AfBakSmali.java
│ │ │ │ │ ├── BakSmali.java
│ │ │ │ │ └── SmaliMod.java
│ │ │ │ ├── task
│ │ │ │ │ └── ExecutorServicesHelper.java
│ │ │ │ ├── tools
│ │ │ │ │ ├── AbstractTool.java
│ │ │ │ │ ├── APatchTool.java
│ │ │ │ │ ├── DexObfuscatedTool.java
│ │ │ │ │ ├── DexPatchDexTool.java
│ │ │ │ │ ├── DexPatchTool.java
│ │ │ │ │ ├── FastPatchTool.java
│ │ │ │ │ ├── HotDexPatchDexTool.java
│ │ │ │ │ ├── HotPatchTool.java
│ │ │ │ │ ├── PatchDexTool.java
│ │ │ │ │ ├── PatchFieldTool.java
│ │ │ │ │ ├── PatchMethodTool.java
│ │ │ │ │ ├── TpatchDexTool.java
│ │ │ │ │ └── TPatchTool.java
│ │ │ │ ├── tpatch
│ │ │ │ │ ├── builder
│ │ │ │ │ │ └── PatchFileBuilder.java
│ │ │ │ │ ├── manifest
│ │ │ │ │ │ ├── AndroidManifestDiffFactory.java
│ │ │ │ │ │ ├── AXMLPrint.java
│ │ │ │ │ │ └── Manifest.java
│ │ │ │ │ ├── model
│ │ │ │ │ │ ├── ApkBO.java
│ │ │ │ │ │ ├── BundleBO.java
│ │ │ │ │ │ └── PatchFile.java
│ │ │ │ │ └── utils
│ │ │ │ │ ├── DexBuilderUtils.java
│ │ │ │ │ ├── FileLock.java
│ │ │ │ │ ├── HttpClientUtils.java
│ │ │ │ │ ├── JarSplitUtils.java
│ │ │ │ │ ├── MD5Util.java
│ │ │ │ │ ├── PatchUtils.java
│ │ │ │ │ ├── PathUtils.java
│ │ │ │ │ └── SmaliUtils.java
│ │ │ │ ├── transform
│ │ │ │ │ └── DexTransform.java
│ │ │ │ └── utils
│ │ │ │ ├── CommandUtils.java
│ │ │ │ ├── DexCompareUtils.java
│ │ │ │ ├── PathMatcher.java
│ │ │ │ ├── Profiler.java
│ │ │ │ ├── SmaliCodeUtils.java
│ │ │ │ ├── SoDiffUtils.java
│ │ │ │ ├── SystemUtils.java
│ │ │ │ └── ZipUtils.java
│ │ │ ├── checker
│ │ │ │ ├── Checker.java
│ │ │ │ └── PatchChecker.java
│ │ │ ├── update
│ │ │ │ └── UpdateInfo.java
│ │ │ └── utils
│ │ │ └── SparseIntArray.java
│ │ └── resources
│ │ ├── linux
│ │ │ ├── bsdiff
│ │ │ └── bspatch
│ │ ├── mac
│ │ │ ├── bsdiff
│ │ │ └── bspatch
│ │ └── windows
│ │ ├── bsdiff.exe
│ │ └── bspatch.exe
│ ├── gradle
│ │ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── publish_bintray.gradle
│ ├── publish_mvn.gradle
│ ├── README.md
│ └── settings.gradle
├── atlas-update
│ ├── build.gradle
│ ├── gradle
│ │ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradle.properties
│ ├── gradlew
│ ├── README.md
│ ├── README.zh-cn.md
│ ├── settings.gradle
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ └── java
│ └── com
│ └── taobao
│ ├── atlas
│ │ ├── dex
│ │ │ ├── Annotation.java
│ │ │ ├── ClassData.java
│ │ │ ├── ClassDef.java
│ │ │ ├── Code.java
│ │ │ ├── DexException2.java
│ │ │ ├── DexFormat.java
│ │ │ ├── DexIndexOverflowException.java
│ │ │ ├── Dex.java
│ │ │ ├── EncodedValueCodec.java
│ │ │ ├── EncodedValue.java
│ │ │ ├── EncodedValueReader.java
│ │ │ ├── FieldId.java
│ │ │ ├── Leb128.java
│ │ │ ├── MethodId.java
│ │ │ ├── Mutf8.java
│ │ │ ├── ProtoId.java
│ │ │ ├── SizeOf.java
│ │ │ ├── TableOfContents.java
│ │ │ ├── TypeList.java
│ │ │ └── util
│ │ │ ├── AnnotatedOutput.java
│ │ │ ├── ByteArrayByteInput.java
│ │ │ ├── ByteInput.java
│ │ │ ├── ByteOutput.java
│ │ │ ├── ExceptionWithContext.java
│ │ │ ├── FileUtils.java
│ │ │ ├── Iterators.java
│ │ │ ├── NaturalOrdering.java
│ │ │ ├── PeekingIterator.java
│ │ │ └── Unsigned.java
│ │ ├── dexmerge
│ │ │ ├── DexMergeClient.java
│ │ │ ├── DexMergeService.java
│ │ │ ├── dx
│ │ │ │ ├── io
│ │ │ │ │ ├── CodeReader.java
│ │ │ │ │ ├── DexIndexPrinter.java
│ │ │ │ │ ├── IndexType.java
│ │ │ │ │ ├── instructions
│ │ │ │ │ │ ├── AddressMap.java
│ │ │ │ │ │ ├── BaseCodeCursor.java
│ │ │ │ │ │ ├── CodeCursor.java
│ │ │ │ │ │ ├── CodeInput.java
│ │ │ │ │ │ ├── CodeOutput.java
│ │ │ │ │ │ ├── DecodedInstruction.java
│ │ │ │ │ │ ├── FillArrayDataPayloadDecodedInstruction.java
│ │ │ │ │ │ ├── FiveRegisterDecodedInstruction.java
│ │ │ │ │ │ ├── FourRegisterDecodedInstruction.java
│ │ │ │ │ │ ├── InstructionCodec.java
│ │ │ │ │ │ ├── OneRegisterDecodedInstruction.java
│ │ │ │ │ │ ├── PackedSwitchPayloadDecodedInstruction.java
│ │ │ │ │ │ ├── RegisterRangeDecodedInstruction.java
│ │ │ │ │ │ ├── ShortArrayCodeInput.java
│ │ │ │ │ │ ├── ShortArrayCodeOutput.java
│ │ │ │ │ │ ├── SparseSwitchPayloadDecodedInstruction.java
│ │ │ │ │ │ ├── ThreeRegisterDecodedInstruction.java
│ │ │ │ │ │ ├── TwoRegisterDecodedInstruction.java
│ │ │ │ │ │ └── ZeroRegisterDecodedInstruction.java
│ │ │ │ │ ├── OpcodeInfo.java
│ │ │ │ │ └── Opcodes.java
│ │ │ │ ├── merge
│ │ │ │ │ ├── CollisionPolicy.java
│ │ │ │ │ ├── DexMerger.java
│ │ │ │ │ ├── DexSectionItem.java
│ │ │ │ │ ├── DexTransform.java
│ │ │ │ │ ├── IndexMap.java
│ │ │ │ │ ├── InstructionTransformer.java
│ │ │ │ │ └── SortableType.java
│ │ │ │ └── util
│ │ │ │ ├── AnnotatedOutput.java
│ │ │ │ ├── BitIntSet.java
│ │ │ │ ├── Bits.java
│ │ │ │ ├── ByteArrayAnnotatedOutput.java
│ │ │ │ ├── ByteArray.java
│ │ │ │ ├── FixedSizeList.java
│ │ │ │ ├── Hex.java
│ │ │ │ ├── HexParser.java
│ │ │ │ ├── IndentingWriter.java
│ │ │ │ ├── IntIterator.java
│ │ │ │ ├── IntList.java
│ │ │ │ ├── IntSet.java
│ │ │ │ ├── LabeledItem.java
│ │ │ │ ├── LabeledList.java
│ │ │ │ ├── ListIntSet.java
│ │ │ │ ├── MutabilityControl.java
│ │ │ │ ├── MutabilityException.java
│ │ │ │ ├── Output.java
│ │ │ │ ├── ToHuman.java
│ │ │ │ ├── TwoColumnOutput.java
│ │ │ │ ├── Warning.java
│ │ │ │ └── Writers.java
│ │ │ ├── IDexMergeBinder.java
│ │ │ ├── IDexMergeCallback.java
│ │ │ ├── MergeCallback.java
│ │ │ ├── MergeConstants.java
│ │ │ ├── MergeException.java
│ │ │ ├── MergeExcutorServices.java
│ │ │ ├── MergeObject.java
│ │ │ ├── MergeTool.java
│ │ │ └── PatchVersionReceiver.java
│ │ └── update
│ │ ├── AtlasUpdater.java
│ │ ├── AwoPatchReceiver.java
│ │ ├── DexPatchUpdater.java
│ │ ├── exception
│ │ │ └── MergeException.java
│ │ ├── model
│ │ │ └── UpdateInfo.java
│ │ ├── UpdateBundleDivider.java
│ │ └── util
│ │ ├── PatchCleaner.java
│ │ ├── PatchInstaller.java
│ │ ├── PatchMerger.java
│ │ └── ZipUtils.java
│ ├── MainThreadDisposable.java
│ ├── plugins
│ │ └── RxAndroidPlugins.java
│ ├── schedulers
│ │ ├── AndroidSchedulers.java
│ │ └── HandlerScheduler.java
│ └── utils
│ └── SparseIntArray.java
├── _config.yml
├── CONTRIBUTING.md
├── LICENSE
├── NOTICE
└── README.md
1053 directories, 4420 files
atlas:强大的Android动态组件框架源码下载。Atlas是一款Android客户端容器化框架,提供了松耦合、组件化和动态支持,解决了项目开发、Apk运行时和后续运维中的各种问题。与multidex解决方案相比,Atlas不仅解决了方法数限制问题(65535),还为Android开发提供了强大的功能,例如并行迭代、快速开发、灵活发布、动态更新、快速修复在线失败等。Atlas是一个组件框架,而不是多进程框架。支持所有Android版本从Android 4.0到9.0。
【实例截图】
【核心代码】
文件清单
└── atlas-c20c5b83f67b9a14fb597d59a287ec7a3e5bdbac
├── assets
│ └── dingtalk.jpg
├── atlas-aapt
│ ├── bionic
│ │ └── libc
│ │ └── include
│ │ ├── alloca.h
│ │ ├── android
│ │ │ ├── api-level.h
│ │ │ ├── dlext.h
│ │ │ ├── legacy_errno_inlines.h
│ │ │ ├── legacy_signal_inlines.h
│ │ │ ├── legacy_stdlib_inlines.h
│ │ │ ├── legacy_sys_atomics_inlines.h
│ │ │ ├── legacy_sys_stat_inlines.h
│ │ │ ├── legacy_termios_inlines.h
│ │ │ └── set_abort_message.h
│ │ ├── ar.h
│ │ ├── arpa
│ │ │ ├── inet.h
│ │ │ ├── nameser_compat.h
│ │ │ ├── nameser.h
│ │ │ └── telnet.h
│ │ ├── assert.h
│ │ ├── bits
│ │ │ ├── lockf.h
│ │ │ ├── posix_limits.h
│ │ │ ├── pthread_types.h
│ │ │ ├── timespec.h
│ │ │ └── wchar_limits.h
│ │ ├── byteswap.h
│ │ ├── ctype.h
│ │ ├── dirent.h
│ │ ├── dlfcn.h
│ │ ├── elf.h
│ │ ├── endian.h
│ │ ├── err.h
│ │ ├── errno.h
│ │ ├── error.h
│ │ ├── fcntl.h
│ │ ├── features.h
│ │ ├── fnmatch.h
│ │ ├── fts.h
│ │ ├── ftw.h
│ │ ├── getopt.h
│ │ ├── grp.h
│ │ ├── ifaddrs.h
│ │ ├── inttypes.h
│ │ ├── lastlog.h
│ │ ├── libgen.h
│ │ ├── limits.h
│ │ ├── link.h
│ │ ├── locale.h
│ │ ├── machine
│ │ │ ├── endian.h
│ │ │ └── ieee.h
│ │ ├── malloc.h
│ │ ├── memory.h
│ │ ├── mntent.h
│ │ ├── net
│ │ │ ├── ethernet.h
│ │ │ ├── ethertypes.h
│ │ │ ├── if_arp.h
│ │ │ ├── if_ether.h
│ │ │ ├── if.h
│ │ │ ├── if_ieee1394.h
│ │ │ ├── if_packet.h
│ │ │ ├── if_types.h
│ │ │ └── route.h
│ │ ├── netdb.h
│ │ ├── netinet
│ │ │ ├── ether.h
│ │ │ ├── icmp6.h
│ │ │ ├── if_ether.h
│ │ │ ├── in6.h
│ │ │ ├── in.h
│ │ │ ├── in_systm.h
│ │ │ ├── ip6.h
│ │ │ ├── ip.h
│ │ │ ├── ip_icmp.h
│ │ │ ├── tcp.h
│ │ │ └── udp.h
│ │ ├── netpacket
│ │ │ └── packet.h
│ │ ├── nsswitch.h
│ │ ├── paths.h
│ │ ├── poll.h
│ │ ├── pthread.h
│ │ ├── pty.h
│ │ ├── pwd.h
│ │ ├── regex.h
│ │ ├── resolv.h
│ │ ├── sched.h
│ │ ├── search.h
│ │ ├── semaphore.h
│ │ ├── setjmp.h
│ │ ├── sgtty.h
│ │ ├── signal.h
│ │ ├── stdatomic.h
│ │ ├── stdint.h
│ │ ├── stdio_ext.h
│ │ ├── stdio.h
│ │ ├── stdlib.h
│ │ ├── string.h
│ │ ├── strings.h
│ │ ├── sys
│ │ │ ├── atomics.h
│ │ │ ├── auxv.h
│ │ │ ├── cachectl.h
│ │ │ ├── capability.h
│ │ │ ├── cdefs.h
│ │ │ ├── endian.h
│ │ │ ├── epoll.h
│ │ │ ├── _errdefs.h
│ │ │ ├── errno.h
│ │ │ ├── eventfd.h
│ │ │ ├── fcntl.h
│ │ │ ├── file.h
│ │ │ ├── fsuid.h
│ │ │ ├── glibc-syscalls.h
│ │ │ ├── inotify.h
│ │ │ ├── ioctl_compat.h
│ │ │ ├── ioctl.h
│ │ │ ├── ipc.h
│ │ │ ├── klog.h
│ │ │ ├── limits.h
│ │ │ ├── mman.h
│ │ │ ├── mount.h
│ │ │ ├── msg.h
│ │ │ ├── param.h
│ │ │ ├── personality.h
│ │ │ ├── poll.h
│ │ │ ├── prctl.h
│ │ │ ├── procfs.h
│ │ │ ├── ptrace.h
│ │ │ ├── queue.h
│ │ │ ├── reboot.h
│ │ │ ├── reg.h
│ │ │ ├── resource.h
│ │ │ ├── select.h
│ │ │ ├── sem.h
│ │ │ ├── sendfile.h
│ │ │ ├── _sigdefs.h
│ │ │ ├── signalfd.h
│ │ │ ├── signal.h
│ │ │ ├── socketcalls.h
│ │ │ ├── socket.h
│ │ │ ├── statfs.h
│ │ │ ├── stat.h
│ │ │ ├── statvfs.h
│ │ │ ├── swap.h
│ │ │ ├── syscall.h
│ │ │ ├── sysconf.h
│ │ │ ├── sysinfo.h
│ │ │ ├── syslimits.h
│ │ │ ├── syslog.h
│ │ │ ├── sysmacros.h
│ │ │ ├── _system_properties.h
│ │ │ ├── system_properties.h
│ │ │ ├── time.h
│ │ │ ├── timerfd.h
│ │ │ ├── times.h
│ │ │ ├── timex.h
│ │ │ ├── ttychars.h
│ │ │ ├── ttydefaults.h
│ │ │ ├── ttydev.h
│ │ │ ├── types.h
│ │ │ ├── ucontext.h
│ │ │ ├── uio.h
│ │ │ ├── un.h
│ │ │ ├── unistd.h
│ │ │ ├── user.h
│ │ │ ├── utime.h
│ │ │ ├── utsname.h
│ │ │ ├── vfs.h
│ │ │ ├── vt.h
│ │ │ ├── wait.h
│ │ │ └── xattr.h
│ │ ├── syscall.h
│ │ ├── sysexits.h
│ │ ├── syslog.h
│ │ ├── termio.h
│ │ ├── termios.h
│ │ ├── time64.h
│ │ ├── time.h
│ │ ├── uchar.h
│ │ ├── ucontext.h
│ │ ├── unistd.h
│ │ ├── util.h
│ │ ├── utime.h
│ │ ├── utmp.h
│ │ ├── wait.h
│ │ ├── wchar.h
│ │ ├── wctype.h
│ │ └── xlocale.h
│ ├── build
│ ├── build_ShakaAapt_all_in_linux.sh
│ ├── build_ShakaAapt_all_in_maxos.sh
│ ├── CMakeLists.txt
│ ├── external
│ │ ├── compiler-rt
│ │ │ ├── Android.bp
│ │ │ ├── Android.mk
│ │ │ ├── cmake
│ │ │ │ ├── config-ix.cmake
│ │ │ │ └── Modules
│ │ │ │ ├── AddCompilerRT.cmake
│ │ │ │ ├── CompilerRTCompile.cmake
│ │ │ │ ├── CompilerRTDarwinUtils.cmake
│ │ │ │ ├── CompilerRTLink.cmake
│ │ │ │ ├── CompilerRTUtils.cmake
│ │ │ │ └── SanitizerUtils.cmake
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CODE_OWNERS.TXT
│ │ │ ├── CREDITS.TXT
│ │ │ ├── include
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ └── sanitizer
│ │ │ │ ├── allocator_interface.h
│ │ │ │ ├── asan_interface.h
│ │ │ │ ├── common_interface_defs.h
│ │ │ │ ├── coverage_interface.h
│ │ │ │ ├── dfsan_interface.h
│ │ │ │ ├── linux_syscall_hooks.h
│ │ │ │ ├── lsan_interface.h
│ │ │ │ ├── msan_interface.h
│ │ │ │ └── tsan_interface_atomic.h
│ │ │ ├── lib
│ │ │ │ ├── asan
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── asan_activation.cc
│ │ │ │ │ ├── asan_activation_flags.inc
│ │ │ │ │ ├── asan_activation.h
│ │ │ │ │ ├── asan_allocator.cc
│ │ │ │ │ ├── asan_allocator.h
│ │ │ │ │ ├── asan_android_stub.cc
│ │ │ │ │ ├── asan_blacklist.txt
│ │ │ │ │ ├── asan_debugging.cc
│ │ │ │ │ ├── asan_fake_stack.cc
│ │ │ │ │ ├── asan_fake_stack.h
│ │ │ │ │ ├── asan_flags.cc
│ │ │ │ │ ├── asan_flags.h
│ │ │ │ │ ├── asan_flags.inc
│ │ │ │ │ ├── asan_globals.cc
│ │ │ │ │ ├── asan_init_version.h
│ │ │ │ │ ├── asan_interceptors.cc
│ │ │ │ │ ├── asan_interceptors.h
│ │ │ │ │ ├── asan_interface_internal.h
│ │ │ │ │ ├── asan_internal.h
│ │ │ │ │ ├── asan_linux.cc
│ │ │ │ │ ├── asan_lock.h
│ │ │ │ │ ├── asan_mac.cc
│ │ │ │ │ ├── asan_malloc_linux.cc
│ │ │ │ │ ├── asan_malloc_mac.cc
│ │ │ │ │ ├── asan_malloc_win.cc
│ │ │ │ │ ├── asan_mapping.h
│ │ │ │ │ ├── asan_new_delete.cc
│ │ │ │ │ ├── asan_poisoning.cc
│ │ │ │ │ ├── asan_poisoning.h
│ │ │ │ │ ├── asan_posix.cc
│ │ │ │ │ ├── asan_preinit.cc
│ │ │ │ │ ├── asan_report.cc
│ │ │ │ │ ├── asan_report.h
│ │ │ │ │ ├── asan_rtl.cc
│ │ │ │ │ ├── asan_stack.cc
│ │ │ │ │ ├── asan_stack.h
│ │ │ │ │ ├── asan_stats.cc
│ │ │ │ │ ├── asan_stats.h
│ │ │ │ │ ├── asan_suppressions.cc
│ │ │ │ │ ├── asan_suppressions.h
│ │ │ │ │ ├── asan.syms.extra
│ │ │ │ │ ├── asan_thread.cc
│ │ │ │ │ ├── asan_thread.h
│ │ │ │ │ ├── asan_win.cc
│ │ │ │ │ ├── asan_win_dll_thunk.cc
│ │ │ │ │ ├── asan_win_dynamic_runtime_thunk.cc
│ │ │ │ │ ├── asanwrapper.cc
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ ├── README.txt
│ │ │ │ │ ├── scripts
│ │ │ │ │ │ ├── asan_device_setup
│ │ │ │ │ │ ├── asan_symbolize.py
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ └── symbolize.py
│ │ │ │ │ └── tests
│ │ │ │ │ ├── asan_asm_test.cc
│ │ │ │ │ ├── asan_benchmarks_test.cc
│ │ │ │ │ ├── asan_exceptions_test.cc
│ │ │ │ │ ├── asan_fake_stack_test.cc
│ │ │ │ │ ├── asan_globals_test.cc
│ │ │ │ │ ├── asan_interface_test.cc
│ │ │ │ │ ├── asan_mac_test.cc
│ │ │ │ │ ├── asan_mac_test.h
│ │ │ │ │ ├── asan_mac_test_helpers.mm
│ │ │ │ │ ├── asan_mem_test.cc
│ │ │ │ │ ├── asan_noinst_test.cc
│ │ │ │ │ ├── asan_oob_test.cc
│ │ │ │ │ ├── asan_racy_double_free_test.cc
│ │ │ │ │ ├── asan_str_test.cc
│ │ │ │ │ ├── asan_test.cc
│ │ │ │ │ ├── asan_test_config.h
│ │ │ │ │ ├── asan_test.ignore
│ │ │ │ │ ├── asan_test_main.cc
│ │ │ │ │ ├── asan_test_utils.h
│ │ │ │ │ └── CMakeLists.txt
│ │ │ │ ├── BlocksRuntime
│ │ │ │ │ ├── Block.h
│ │ │ │ │ ├── Block_private.h
│ │ │ │ │ ├── data.c
│ │ │ │ │ └── runtime.c
│ │ │ │ ├── builtins
│ │ │ │ │ ├── absvdi2.c
│ │ │ │ │ ├── absvsi2.c
│ │ │ │ │ ├── absvti2.c
│ │ │ │ │ ├── adddf3.c
│ │ │ │ │ ├── addsf3.c
│ │ │ │ │ ├── addtf3.c
│ │ │ │ │ ├── addvdi3.c
│ │ │ │ │ ├── addvsi3.c
│ │ │ │ │ ├── addvti3.c
│ │ │ │ │ ├── apple_versioning.c
│ │ │ │ │ ├── arm
│ │ │ │ │ │ ├── adddf3vfp.S
│ │ │ │ │ │ ├── addsf3vfp.S
│ │ │ │ │ │ ├── aeabi_cdcmpeq_check_nan.c
│ │ │ │ │ │ ├── aeabi_cdcmp.S
│ │ │ │ │ │ ├── aeabi_cfcmpeq_check_nan.c
│ │ │ │ │ │ ├── aeabi_cfcmp.S
│ │ │ │ │ │ ├── aeabi_dcmp.S
│ │ │ │ │ │ ├── aeabi_div0.c
│ │ │ │ │ │ ├── aeabi_drsub.c
│ │ │ │ │ │ ├── aeabi_fcmp.S
│ │ │ │ │ │ ├── aeabi_frsub.c
│ │ │ │ │ │ ├── aeabi_idivmod.S
│ │ │ │ │ │ ├── aeabi_ldivmod.S
│ │ │ │ │ │ ├── aeabi_memcmp.S
│ │ │ │ │ │ ├── aeabi_memcpy.S
│ │ │ │ │ │ ├── aeabi_memmove.S
│ │ │ │ │ │ ├── aeabi_memset.S
│ │ │ │ │ │ ├── aeabi_uidivmod.S
│ │ │ │ │ │ ├── aeabi_uldivmod.S
│ │ │ │ │ │ ├── bswapdi2.S
│ │ │ │ │ │ ├── bswapsi2.S
│ │ │ │ │ │ ├── clzdi2.S
│ │ │ │ │ │ ├── clzsi2.S
│ │ │ │ │ │ ├── comparesf2.S
│ │ │ │ │ │ ├── divdf3vfp.S
│ │ │ │ │ │ ├── divmodsi4.S
│ │ │ │ │ │ ├── divsf3vfp.S
│ │ │ │ │ │ ├── divsi3.S
│ │ │ │ │ │ ├── eqdf2vfp.S
│ │ │ │ │ │ ├── eqsf2vfp.S
│ │ │ │ │ │ ├── extendsfdf2vfp.S
│ │ │ │ │ │ ├── fixdfsivfp.S
│ │ │ │ │ │ ├── fixsfsivfp.S
│ │ │ │ │ │ ├── fixunsdfsivfp.S
│ │ │ │ │ │ ├── fixunssfsivfp.S
│ │ │ │ │ │ ├── floatsidfvfp.S
│ │ │ │ │ │ ├── floatsisfvfp.S
│ │ │ │ │ │ ├── floatunssidfvfp.S
│ │ │ │ │ │ ├── floatunssisfvfp.S
│ │ │ │ │ │ ├── gedf2vfp.S
│ │ │ │ │ │ ├── gesf2vfp.S
│ │ │ │ │ │ ├── gtdf2vfp.S
│ │ │ │ │ │ ├── gtsf2vfp.S
│ │ │ │ │ │ ├── ledf2vfp.S
│ │ │ │ │ │ ├── lesf2vfp.S
│ │ │ │ │ │ ├── ltdf2vfp.S
│ │ │ │ │ │ ├── ltsf2vfp.S
│ │ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ │ ├── modsi3.S
│ │ │ │ │ │ ├── muldf3vfp.S
│ │ │ │ │ │ ├── mulsf3vfp.S
│ │ │ │ │ │ ├── nedf2vfp.S
│ │ │ │ │ │ ├── negdf2vfp.S
│ │ │ │ │ │ ├── negsf2vfp.S
│ │ │ │ │ │ ├── nesf2vfp.S
│ │ │ │ │ │ ├── restore_vfp_d8_d15_regs.S
│ │ │ │ │ │ ├── save_vfp_d8_d15_regs.S
│ │ │ │ │ │ ├── softfloat-alias.list
│ │ │ │ │ │ ├── subdf3vfp.S
│ │ │ │ │ │ ├── subsf3vfp.S
│ │ │ │ │ │ ├── switch16.S
│ │ │ │ │ │ ├── switch32.S
│ │ │ │ │ │ ├── switch8.S
│ │ │ │ │ │ ├── switchu8.S
│ │ │ │ │ │ ├── sync_fetch_and_add_4.S
│ │ │ │ │ │ ├── sync_fetch_and_add_8.S
│ │ │ │ │ │ ├── sync_fetch_and_and_4.S
│ │ │ │ │ │ ├── sync_fetch_and_and_8.S
│ │ │ │ │ │ ├── sync_fetch_and_max_4.S
│ │ │ │ │ │ ├── sync_fetch_and_max_8.S
│ │ │ │ │ │ ├── sync_fetch_and_min_4.S
│ │ │ │ │ │ ├── sync_fetch_and_min_8.S
│ │ │ │ │ │ ├── sync_fetch_and_nand_4.S
│ │ │ │ │ │ ├── sync_fetch_and_nand_8.S
│ │ │ │ │ │ ├── sync_fetch_and_or_4.S
│ │ │ │ │ │ ├── sync_fetch_and_or_8.S
│ │ │ │ │ │ ├── sync_fetch_and_sub_4.S
│ │ │ │ │ │ ├── sync_fetch_and_sub_8.S
│ │ │ │ │ │ ├── sync_fetch_and_umax_4.S
│ │ │ │ │ │ ├── sync_fetch_and_umax_8.S
│ │ │ │ │ │ ├── sync_fetch_and_umin_4.S
│ │ │ │ │ │ ├── sync_fetch_and_umin_8.S
│ │ │ │ │ │ ├── sync_fetch_and_xor_4.S
│ │ │ │ │ │ ├── sync_fetch_and_xor_8.S
│ │ │ │ │ │ ├── sync-ops.h
│ │ │ │ │ │ ├── sync_synchronize.S
│ │ │ │ │ │ ├── truncdfsf2vfp.S
│ │ │ │ │ │ ├── udivmodsi4.S
│ │ │ │ │ │ ├── udivsi3.S
│ │ │ │ │ │ ├── umodsi3.S
│ │ │ │ │ │ ├── unorddf2vfp.S
│ │ │ │ │ │ └── unordsf2vfp.S
│ │ │ │ │ ├── arm64
│ │ │ │ │ │ ├── dummy.c
│ │ │ │ │ │ └── Makefile.mk
│ │ │ │ │ ├── armv6m
│ │ │ │ │ │ └── Makefile.mk
│ │ │ │ │ ├── ashldi3.c
│ │ │ │ │ ├── ashlti3.c
│ │ │ │ │ ├── ashrdi3.c
│ │ │ │ │ ├── ashrti3.c
│ │ │ │ │ ├── assembly.h
│ │ │ │ │ ├── atomic.c
│ │ │ │ │ ├── atomic_flag_clear.c
│ │ │ │ │ ├── atomic_flag_clear_explicit.c
│ │ │ │ │ ├── atomic_flag_test_and_set.c
│ │ │ │ │ ├── atomic_flag_test_and_set_explicit.c
│ │ │ │ │ ├── atomic_signal_fence.c
│ │ │ │ │ ├── atomic_thread_fence.c
│ │ │ │ │ ├── clear_cache.c
│ │ │ │ │ ├── clzdi2.c
│ │ │ │ │ ├── clzsi2.c
│ │ │ │ │ ├── clzti2.c
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── cmpdi2.c
│ │ │ │ │ ├── cmpti2.c
│ │ │ │ │ ├── comparedf2.c
│ │ │ │ │ ├── comparesf2.c
│ │ │ │ │ ├── comparetf2.c
│ │ │ │ │ ├── ctzdi2.c
│ │ │ │ │ ├── ctzsi2.c
│ │ │ │ │ ├── ctzti2.c
│ │ │ │ │ ├── Darwin-excludes
│ │ │ │ │ │ ├── 10.4.txt
│ │ │ │ │ │ ├── 10.4-x86_64.txt
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── ios6-armv7s.txt
│ │ │ │ │ │ ├── ios6-armv7.txt
│ │ │ │ │ │ ├── ios7-arm64.txt
│ │ │ │ │ │ ├── ios-armv7s.txt
│ │ │ │ │ │ ├── ios-armv7.txt
│ │ │ │ │ │ ├── iossim-i386.txt
│ │ │ │ │ │ ├── iossim.txt
│ │ │ │ │ │ ├── iossim-x86_64.txt
│ │ │ │ │ │ ├── ios.txt
│ │ │ │ │ │ ├── osx-i386.txt
│ │ │ │ │ │ ├── osx.txt
│ │ │ │ │ │ ├── osx-x86_64.txt
│ │ │ │ │ │ └── README.TXT
│ │ │ │ │ ├── divdc3.c
│ │ │ │ │ ├── divdf3.c
│ │ │ │ │ ├── divdi3.c
│ │ │ │ │ ├── divmoddi4.c
│ │ │ │ │ ├── divmodsi4.c
│ │ │ │ │ ├── divsc3.c
│ │ │ │ │ ├── divsf3.c
│ │ │ │ │ ├── divsi3.c
│ │ │ │ │ ├── divtc3.c
│ │ │ │ │ ├── divtf3.c
│ │ │ │ │ ├── divti3.c
│ │ │ │ │ ├── divxc3.c
│ │ │ │ │ ├── emutls.c
│ │ │ │ │ ├── enable_execute_stack.c
│ │ │ │ │ ├── eprintf.c
│ │ │ │ │ ├── extenddftf2.c
│ │ │ │ │ ├── extendhfsf2.c
│ │ │ │ │ ├── extendsfdf2.c
│ │ │ │ │ ├── extendsftf2.c
│ │ │ │ │ ├── ffsdi2.c
│ │ │ │ │ ├── ffsti2.c
│ │ │ │ │ ├── fixdfdi.c
│ │ │ │ │ ├── fixdfsi.c
│ │ │ │ │ ├── fixdfti.c
│ │ │ │ │ ├── fixsfdi.c
│ │ │ │ │ ├── fixsfsi.c
│ │ │ │ │ ├── fixsfti.c
│ │ │ │ │ ├── fixtfdi.c
│ │ │ │ │ ├── fixtfsi.c
│ │ │ │ │ ├── fixtfti.c
│ │ │ │ │ ├── fixunsdfdi.c
│ │ │ │ │ ├── fixunsdfsi.c
│ │ │ │ │ ├── fixunsdfti.c
│ │ │ │ │ ├── fixunssfdi.c
│ │ │ │ │ ├── fixunssfsi.c
│ │ │ │ │ ├── fixunssfti.c
│ │ │ │ │ ├── fixunstfdi.c
│ │ │ │ │ ├── fixunstfsi.c
│ │ │ │ │ ├── fixunstfti.c
│ │ │ │ │ ├── fixunsxfdi.c
│ │ │ │ │ ├── fixunsxfsi.c
│ │ │ │ │ ├── fixunsxfti.c
│ │ │ │ │ ├── fixxfdi.c
│ │ │ │ │ ├── fixxfti.c
│ │ │ │ │ ├── floatdidf.c
│ │ │ │ │ ├── floatdisf.c
│ │ │ │ │ ├── floatditf.c
│ │ │ │ │ ├── floatdixf.c
│ │ │ │ │ ├── floatsidf.c
│ │ │ │ │ ├── floatsisf.c
│ │ │ │ │ ├── floatsitf.c
│ │ │ │ │ ├── floattidf.c
│ │ │ │ │ ├── floattisf.c
│ │ │ │ │ ├── floattixf.c
│ │ │ │ │ ├── floatundidf.c
│ │ │ │ │ ├── floatundisf.c
│ │ │ │ │ ├── floatunditf.c
│ │ │ │ │ ├── floatundixf.c
│ │ │ │ │ ├── floatunsidf.c
│ │ │ │ │ ├── floatunsisf.c
│ │ │ │ │ ├── floatunsitf.c
│ │ │ │ │ ├── floatuntidf.c
│ │ │ │ │ ├── floatuntisf.c
│ │ │ │ │ ├── floatuntixf.c
│ │ │ │ │ ├── fp_add_impl.inc
│ │ │ │ │ ├── fp_extend.h
│ │ │ │ │ ├── fp_extend_impl.inc
│ │ │ │ │ ├── fp_fixint_impl.inc
│ │ │ │ │ ├── fp_fixuint_impl.inc
│ │ │ │ │ ├── fp_lib.h
│ │ │ │ │ ├── fp_mul_impl.inc
│ │ │ │ │ ├── fp_trunc.h
│ │ │ │ │ ├── fp_trunc_impl.inc
│ │ │ │ │ ├── gcc_personality_v0.c
│ │ │ │ │ ├── i386
│ │ │ │ │ │ ├── ashldi3.S
│ │ │ │ │ │ ├── ashrdi3.S
│ │ │ │ │ │ ├── chkstk2.S
│ │ │ │ │ │ ├── chkstk.S
│ │ │ │ │ │ ├── divdi3.S
│ │ │ │ │ │ ├── floatdidf.S
│ │ │ │ │ │ ├── floatdisf.S
│ │ │ │ │ │ ├── floatdixf.S
│ │ │ │ │ │ ├── floatundidf.S
│ │ │ │ │ │ ├── floatundisf.S
│ │ │ │ │ │ ├── floatundixf.S
│ │ │ │ │ │ ├── lshrdi3.S
│ │ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ │ ├── moddi3.S
│ │ │ │ │ │ ├── muldi3.S
│ │ │ │ │ │ ├── udivdi3.S
│ │ │ │ │ │ └── umoddi3.S
│ │ │ │ │ ├── int_endianness.h
│ │ │ │ │ ├── int_lib.h
│ │ │ │ │ ├── int_math.h
│ │ │ │ │ ├── int_types.h
│ │ │ │ │ ├── int_util.c
│ │ │ │ │ ├── int_util.h
│ │ │ │ │ ├── lshrdi3.c
│ │ │ │ │ ├── lshrti3.c
│ │ │ │ │ ├── macho_embedded
│ │ │ │ │ │ ├── arm.txt
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── common.txt
│ │ │ │ │ │ ├── i386.txt
│ │ │ │ │ │ ├── thumb2-64.txt
│ │ │ │ │ │ └── thumb2.txt
│ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ ├── moddi3.c
│ │ │ │ │ ├── modsi3.c
│ │ │ │ │ ├── modti3.c
│ │ │ │ │ ├── muldc3.c
│ │ │ │ │ ├── muldf3.c
│ │ │ │ │ ├── muldi3.c
│ │ │ │ │ ├── mulodi4.c
│ │ │ │ │ ├── mulosi4.c
│ │ │ │ │ ├── muloti4.c
│ │ │ │ │ ├── mulsc3.c
│ │ │ │ │ ├── mulsf3.c
│ │ │ │ │ ├── multc3.c
│ │ │ │ │ ├── multf3.c
│ │ │ │ │ ├── multi3.c
│ │ │ │ │ ├── mulvdi3.c
│ │ │ │ │ ├── mulvsi3.c
│ │ │ │ │ ├── mulvti3.c
│ │ │ │ │ ├── mulxc3.c
│ │ │ │ │ ├── negdf2.c
│ │ │ │ │ ├── negdi2.c
│ │ │ │ │ ├── negsf2.c
│ │ │ │ │ ├── negti2.c
│ │ │ │ │ ├── negvdi2.c
│ │ │ │ │ ├── negvsi2.c
│ │ │ │ │ ├── negvti2.c
│ │ │ │ │ ├── paritydi2.c
│ │ │ │ │ ├── paritysi2.c
│ │ │ │ │ ├── parityti2.c
│ │ │ │ │ ├── popcountdi2.c
│ │ │ │ │ ├── popcountsi2.c
│ │ │ │ │ ├── popcountti2.c
│ │ │ │ │ ├── powidf2.c
│ │ │ │ │ ├── powisf2.c
│ │ │ │ │ ├── powitf2.c
│ │ │ │ │ ├── powixf2.c
│ │ │ │ │ ├── ppc
│ │ │ │ │ │ ├── DD.h
│ │ │ │ │ │ ├── divtc3.c
│ │ │ │ │ │ ├── fixtfdi.c
│ │ │ │ │ │ ├── fixunstfdi.c
│ │ │ │ │ │ ├── floatditf.c
│ │ │ │ │ │ ├── floatunditf.c
│ │ │ │ │ │ ├── gcc_qadd.c
│ │ │ │ │ │ ├── gcc_qdiv.c
│ │ │ │ │ │ ├── gcc_qmul.c
│ │ │ │ │ │ ├── gcc_qsub.c
│ │ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ │ ├── multc3.c
│ │ │ │ │ │ ├── restFP.S
│ │ │ │ │ │ └── saveFP.S
│ │ │ │ │ ├── README.txt
│ │ │ │ │ ├── subdf3.c
│ │ │ │ │ ├── subsf3.c
│ │ │ │ │ ├── subtf3.c
│ │ │ │ │ ├── subvdi3.c
│ │ │ │ │ ├── subvsi3.c
│ │ │ │ │ ├── subvti3.c
│ │ │ │ │ ├── trampoline_setup.c
│ │ │ │ │ ├── truncdfhf2.c
│ │ │ │ │ ├── truncdfsf2.c
│ │ │ │ │ ├── truncsfhf2.c
│ │ │ │ │ ├── trunctfdf2.c
│ │ │ │ │ ├── trunctfsf2.c
│ │ │ │ │ ├── ucmpdi2.c
│ │ │ │ │ ├── ucmpti2.c
│ │ │ │ │ ├── udivdi3.c
│ │ │ │ │ ├── udivmoddi4.c
│ │ │ │ │ ├── udivmodsi4.c
│ │ │ │ │ ├── udivmodti4.c
│ │ │ │ │ ├── udivsi3.c
│ │ │ │ │ ├── udivti3.c
│ │ │ │ │ ├── umoddi3.c
│ │ │ │ │ ├── umodsi3.c
│ │ │ │ │ ├── umodti3.c
│ │ │ │ │ └── x86_64
│ │ │ │ │ ├── chkstk2.S
│ │ │ │ │ ├── chkstk.S
│ │ │ │ │ ├── floatdidf.c
│ │ │ │ │ ├── floatdisf.c
│ │ │ │ │ ├── floatdixf.c
│ │ │ │ │ ├── floatundidf.S
│ │ │ │ │ ├── floatundisf.S
│ │ │ │ │ ├── floatundixf.S
│ │ │ │ │ └── Makefile.mk
│ │ │ │ ├── cfi
│ │ │ │ │ ├── cfi_blacklist.txt
│ │ │ │ │ ├── cfi.cc
│ │ │ │ │ └── CMakeLists.txt
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── dfsan
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── dfsan.cc
│ │ │ │ │ ├── dfsan_custom.cc
│ │ │ │ │ ├── dfsan_flags.inc
│ │ │ │ │ ├── dfsan.h
│ │ │ │ │ ├── dfsan_interceptors.cc
│ │ │ │ │ ├── dfsan_platform.h
│ │ │ │ │ ├── dfsan.syms.extra
│ │ │ │ │ ├── done_abilist.txt
│ │ │ │ │ ├── libc_ubuntu1404_abilist.txt
│ │ │ │ │ └── scripts
│ │ │ │ │ ├── build-libc-list.py
│ │ │ │ │ └── check_custom_wrappers.sh
│ │ │ │ ├── interception
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── interception.h
│ │ │ │ │ ├── interception_linux.cc
│ │ │ │ │ ├── interception_linux.h
│ │ │ │ │ ├── interception_mac.cc
│ │ │ │ │ ├── interception_mac.h
│ │ │ │ │ ├── interception_type_test.cc
│ │ │ │ │ ├── interception_win.cc
│ │ │ │ │ ├── interception_win.h
│ │ │ │ │ └── Makefile.mk
│ │ │ │ ├── lsan
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── lsan_allocator.cc
│ │ │ │ │ ├── lsan_allocator.h
│ │ │ │ │ ├── lsan.cc
│ │ │ │ │ ├── lsan_common.cc
│ │ │ │ │ ├── lsan_common.h
│ │ │ │ │ ├── lsan_common_linux.cc
│ │ │ │ │ ├── lsan_flags.inc
│ │ │ │ │ ├── lsan.h
│ │ │ │ │ ├── lsan_interceptors.cc
│ │ │ │ │ ├── lsan_preinit.cc
│ │ │ │ │ ├── lsan_thread.cc
│ │ │ │ │ ├── lsan_thread.h
│ │ │ │ │ └── Makefile.mk
│ │ │ │ ├── Makefile.mk
│ │ │ │ ├── msan
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── msan_allocator.cc
│ │ │ │ │ ├── msan_allocator.h
│ │ │ │ │ ├── msan_blacklist.txt
│ │ │ │ │ ├── msan.cc
│ │ │ │ │ ├── msan_chained_origin_depot.cc
│ │ │ │ │ ├── msan_chained_origin_depot.h
│ │ │ │ │ ├── msan_flags.h
│ │ │ │ │ ├── msan_flags.inc
│ │ │ │ │ ├── msan.h
│ │ │ │ │ ├── msan_interceptors.cc
│ │ │ │ │ ├── msan_interface_internal.h
│ │ │ │ │ ├── msan_linux.cc
│ │ │ │ │ ├── msan_new_delete.cc
│ │ │ │ │ ├── msan_origin.h
│ │ │ │ │ ├── msan_poisoning.cc
│ │ │ │ │ ├── msan_poisoning.h
│ │ │ │ │ ├── msan_report.cc
│ │ │ │ │ ├── msan.syms.extra
│ │ │ │ │ ├── msan_thread.cc
│ │ │ │ │ ├── msan_thread.h
│ │ │ │ │ └── tests
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── msan_loadable.cc
│ │ │ │ │ ├── msan_test.cc
│ │ │ │ │ ├── msan_test_config.h
│ │ │ │ │ └── msan_test_main.cc
│ │ │ │ ├── profile
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── GCDAProfiling.c
│ │ │ │ │ ├── InstrProfData.inc
│ │ │ │ │ ├── InstrProfilingBuffer.c
│ │ │ │ │ ├── InstrProfiling.c
│ │ │ │ │ ├── InstrProfilingFile.c
│ │ │ │ │ ├── InstrProfiling.h
│ │ │ │ │ ├── InstrProfilingInternal.h
│ │ │ │ │ ├── InstrProfilingPlatformDarwin.c
│ │ │ │ │ ├── InstrProfilingPlatformLinux.c
│ │ │ │ │ ├── InstrProfilingPlatformOther.c
│ │ │ │ │ ├── InstrProfilingPort.h
│ │ │ │ │ ├── InstrProfilingRuntime.cc
│ │ │ │ │ ├── InstrProfilingUtil.c
│ │ │ │ │ ├── InstrProfilingUtil.h
│ │ │ │ │ ├── InstrProfilingValue.c
│ │ │ │ │ ├── InstrProfilingWriter.c
│ │ │ │ │ └── Makefile.mk
│ │ │ │ ├── safestack
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ └── safestack.cc
│ │ │ │ ├── sanitizer_common
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── Makefile.mk
│ │ │ │ │ ├── sanitizer_addrhashmap.h
│ │ │ │ │ ├── sanitizer_allocator.cc
│ │ │ │ │ ├── sanitizer_allocator.h
│ │ │ │ │ ├── sanitizer_allocator_interface.h
│ │ │ │ │ ├── sanitizer_allocator_internal.h
│ │ │ │ │ ├── sanitizer_asm.h
│ │ │ │ │ ├── sanitizer_atomic_clang.h
│ │ │ │ │ ├── sanitizer_atomic_clang_other.h
│ │ │ │ │ ├── sanitizer_atomic_clang_x86.h
│ │ │ │ │ ├── sanitizer_atomic.h
│ │ │ │ │ ├── sanitizer_atomic_msvc.h
│ │ │ │ │ ├── sanitizer_bitvector.h
│ │ │ │ │ ├── sanitizer_bvgraph.h
│ │ │ │ │ ├── sanitizer_common.cc
│ │ │ │ │ ├── sanitizer_common.h
│ │ │ │ │ ├── sanitizer_common_interceptors_format.inc
│ │ │ │ │ ├── sanitizer_common_interceptors.inc
│ │ │ │ │ ├── sanitizer_common_interceptors_ioctl.inc
│ │ │ │ │ ├── sanitizer_common_libcdep.cc
│ │ │ │ │ ├── sanitizer_common_nolibc.cc
│ │ │ │ │ ├── sanitizer_common_syscalls.inc
│ │ │ │ │ ├── sanitizer_coverage_libcdep.cc
│ │ │ │ │ ├── sanitizer_coverage_mapping_libcdep.cc
│ │ │ │ │ ├── sanitizer_deadlock_detector1.cc
│ │ │ │ │ ├── sanitizer_deadlock_detector2.cc
│ │ │ │ │ ├── sanitizer_deadlock_detector.h
│ │ │ │ │ ├── sanitizer_deadlock_detector_interface.h
│ │ │ │ │ ├── sanitizer_flag_parser.cc
│ │ │ │ │ ├── sanitizer_flag_parser.h
│ │ │ │ │ ├── sanitizer_flags.cc
│ │ │ │ │ ├── sanitizer_flags.h
│ │ │ │ │ ├── sanitizer_flags.inc
│ │ │ │ │ ├── sanitizer_freebsd.h
│ │ │ │ │ ├── sanitizer_interface_internal.h
│ │ │ │ │ ├── sanitizer_internal_defs.h
│ │ │ │ │ ├── sanitizer_lfstack.h
│ │ │ │ │ ├── sanitizer_libc.cc
│ │ │ │ │ ├── sanitizer_libc.h
│ │ │ │ │ ├── sanitizer_libignore.cc
│ │ │ │ │ ├── sanitizer_libignore.h
│ │ │ │ │ ├── sanitizer_linux.cc
│ │ │ │ │ ├── sanitizer_linux.h
│ │ │ │ │ ├── sanitizer_linux_libcdep.cc
│ │ │ │ │ ├── sanitizer_list.h
│ │ │ │ │ ├── sanitizer_mac.cc
│ │ │ │ │ ├── sanitizer_mac.h
│ │ │ │ │ ├── sanitizer_malloc_mac.inc
│ │ │ │ │ ├── sanitizer_mutex.h
│ │ │ │ │ ├── sanitizer_persistent_allocator.cc
│ │ │ │ │ ├── sanitizer_persistent_allocator.h
│ │ │ │ │ ├── sanitizer_placement_new.h
│ │ │ │ │ ├── sanitizer_platform.h
│ │ │ │ │ ├── sanitizer_platform_interceptors.h
│ │ │ │ │ ├── sanitizer_platform_limits_linux.cc
│ │ │ │ │ ├── sanitizer_platform_limits_posix.cc
│ │ │ │ │ ├── sanitizer_platform_limits_posix.h
│ │ │ │ │ ├── sanitizer_posix.cc
│ │ │ │ │ ├── sanitizer_posix.h
│ │ │ │ │ ├── sanitizer_posix_libcdep.cc
│ │ │ │ │ ├── sanitizer_printf.cc
│ │ │ │ │ ├── sanitizer_procmaps_common.cc
│ │ │ │ │ ├── sanitizer_procmaps_freebsd.cc
│ │ │ │ │ ├── sanitizer_procmaps.h
│ │ │ │ │ ├── sanitizer_procmaps_linux.cc
│ │ │ │ │ ├── sanitizer_procmaps_mac.cc
│ │ │ │ │ ├── sanitizer_quarantine.h
│ │ │ │ │ ├── sanitizer_report_decorator.h
│ │ │ │ │ ├── sanitizer_stackdepotbase.h
│ │ │ │ │ ├── sanitizer_stackdepot.cc
│ │ │ │ │ ├── sanitizer_stackdepot.h
│ │ │ │ │ ├── sanitizer_stacktrace.cc
│ │ │ │ │ ├── sanitizer_stacktrace.h
│ │ │ │ │ ├── sanitizer_stacktrace_libcdep.cc
│ │ │ │ │ ├── sanitizer_stacktrace_printer.cc
│ │ │ │ │ ├── sanitizer_stacktrace_printer.h
│ │ │ │ │ ├── sanitizer_stoptheworld.h
│ │ │ │ │ ├── sanitizer_stoptheworld_linux_libcdep.cc
│ │ │ │ │ ├── sanitizer_suppressions.cc
│ │ │ │ │ ├── sanitizer_suppressions.h
│ │ │ │ │ ├── sanitizer_symbolizer.cc
│ │ │ │ │ ├── sanitizer_symbolizer.h
│ │ │ │ │ ├── sanitizer_symbolizer_internal.h
│ │ │ │ │ ├── sanitizer_symbolizer_libbacktrace.cc
│ │ │ │ │ ├── sanitizer_symbolizer_libbacktrace.h
│ │ │ │ │ ├── sanitizer_symbolizer_libcdep.cc
│ │ │ │ │ ├── sanitizer_symbolizer_mac.cc
│ │ │ │ │ ├── sanitizer_symbolizer_mac.h
│ │ │ │ │ ├── sanitizer_symbolizer_posix_libcdep.cc
│ │ │ │ │ ├── sanitizer_symbolizer_win.cc
│ │ │ │ │ ├── sanitizer_syscall_generic.inc
│ │ │ │ │ ├── sanitizer_syscall_linux_aarch64.inc
│ │ │ │ │ ├── sanitizer_syscall_linux_x86_64.inc
│ │ │ │ │ ├── sanitizer_thread_registry.cc
│ │ │ │ │ ├── sanitizer_thread_registry.h
│ │ │ │ │ ├── sanitizer_tls_get_addr.cc
│ │ │ │ │ ├── sanitizer_tls_get_addr.h
│ │ │ │ │ ├── sanitizer_unwind_linux_libcdep.cc
│ │ │ │ │ ├── sanitizer_win.cc
│ │ │ │ │ ├── scripts
│ │ │ │ │ │ ├── check_lint.sh
│ │ │ │ │ │ ├── cpplint.py
│ │ │ │ │ │ ├── gen_dynamic_list.py
│ │ │ │ │ │ ├── litlint.py
│ │ │ │ │ │ ├── litlint_test.py
│ │ │ │ │ │ └── sancov.py
│ │ │ │ │ └── tests
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── sanitizer_allocator_test.cc
│ │ │ │ │ ├── sanitizer_allocator_testlib.cc
│ │ │ │ │ ├── sanitizer_atomic_test.cc
│ │ │ │ │ ├── sanitizer_bitvector_test.cc
│ │ │ │ │ ├── sanitizer_bvgraph_test.cc
│ │ │ │ │ ├── sanitizer_common_test.cc
│ │ │ │ │ ├── sanitizer_deadlock_detector_test.cc
│ │ │ │ │ ├── sanitizer_flags_test.cc
│ │ │ │ │ ├── sanitizer_format_interceptor_test.cc
│ │ │ │ │ ├── sanitizer_ioctl_test.cc
│ │ │ │ │ ├── sanitizer_libc_test.cc
│ │ │ │ │ ├── sanitizer_linux_test.cc
│ │ │ │ │ ├── sanitizer_list_test.cc
│ │ │ │ │ ├── sanitizer_mutex_test.cc
│ │ │ │ │ ├── sanitizer_nolibc_test.cc
│ │ │ │ │ ├── sanitizer_nolibc_test_main.cc
│ │ │ │ │ ├── sanitizer_posix_test.cc
│ │ │ │ │ ├── sanitizer_printf_test.cc
│ │ │ │ │ ├── sanitizer_procmaps_test.cc
│ │ │ │ │ ├── sanitizer_pthread_wrappers.h
│ │ │ │ │ ├── sanitizer_stackdepot_test.cc
│ │ │ │ │ ├── sanitizer_stacktrace_printer_test.cc
│ │ │ │ │ ├── sanitizer_stacktrace_test.cc
│ │ │ │ │ ├── sanitizer_stoptheworld_test.cc
│ │ │ │ │ ├── sanitizer_stoptheworld_testlib.cc
│ │ │ │ │ ├── sanitizer_suppressions_test.cc
│ │ │ │ │ ├── sanitizer_symbolizer_test.cc
│ │ │ │ │ ├── sanitizer_test_config.h
│ │ │ │ │ ├── sanitizer_test_main.cc
│ │ │ │ │ ├── sanitizer_test_utils.h
│ │ │ │ │ ├── sanitizer_thread_registry_test.cc
│ │ │ │ │ └── standalone_malloc_test.cc
│ │ │ │ ├── tsan
│ │ │ │ │ ├── analyze_libtsan.sh
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── benchmarks
│ │ │ │ │ │ ├── mini_bench_local.cc
│ │ │ │ │ │ ├── mini_bench_shared.cc
│ │ │ │ │ │ ├── start_many_threads.cc
│ │ │ │ │ │ └── vts_many_threads_bench.cc
│ │ │ │ │ ├── check_analyze.sh
│ │ │ │ │ ├── check_cmake.sh
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── dd
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── dd_interceptors.cc
│ │ │ │ │ │ ├── dd_rtl.cc
│ │ │ │ │ │ └── dd_rtl.h
│ │ │ │ │ ├── go
│ │ │ │ │ │ ├── build.bat
│ │ │ │ │ │ ├── buildgo.sh
│ │ │ │ │ │ ├── test.c
│ │ │ │ │ │ └── tsan_go.cc
│ │ │ │ │ ├── rtl
│ │ │ │ │ │ ├── tsan_clock.cc
│ │ │ │ │ │ ├── tsan_clock.h
│ │ │ │ │ │ ├── tsan_defs.h
│ │ │ │ │ │ ├── tsan_dense_alloc.h
│ │ │ │ │ │ ├── tsan_fd.cc
│ │ │ │ │ │ ├── tsan_fd.h
│ │ │ │ │ │ ├── tsan_flags.cc
│ │ │ │ │ │ ├── tsan_flags.h
│ │ │ │ │ │ ├── tsan_flags.inc
│ │ │ │ │ │ ├── tsan_ignoreset.cc
│ │ │ │ │ │ ├── tsan_ignoreset.h
│ │ │ │ │ │ ├── tsan_interceptors.cc
│ │ │ │ │ │ ├── tsan_interceptors.h
│ │ │ │ │ │ ├── tsan_interceptors_mac.cc
│ │ │ │ │ │ ├── tsan_interface_ann.cc
│ │ │ │ │ │ ├── tsan_interface_ann.h
│ │ │ │ │ │ ├── tsan_interface_atomic.cc
│ │ │ │ │ │ ├── tsan_interface.cc
│ │ │ │ │ │ ├── tsan_interface.h
│ │ │ │ │ │ ├── tsan_interface_inl.h
│ │ │ │ │ │ ├── tsan_interface_java.cc
│ │ │ │ │ │ ├── tsan_interface_java.h
│ │ │ │ │ │ ├── tsan_libdispatch_mac.cc
│ │ │ │ │ │ ├── tsan_malloc_mac.cc
│ │ │ │ │ │ ├── tsan_md5.cc
│ │ │ │ │ │ ├── tsan_mman.cc
│ │ │ │ │ │ ├── tsan_mman.h
│ │ │ │ │ │ ├── tsan_mutex.cc
│ │ │ │ │ │ ├── tsan_mutex.h
│ │ │ │ │ │ ├── tsan_mutexset.cc
│ │ │ │ │ │ ├── tsan_mutexset.h
│ │ │ │ │ │ ├── tsan_new_delete.cc
│ │ │ │ │ │ ├── tsan_platform.h
│ │ │ │ │ │ ├── tsan_platform_linux.cc
│ │ │ │ │ │ ├── tsan_platform_mac.cc
│ │ │ │ │ │ ├── tsan_platform_posix.cc
│ │ │ │ │ │ ├── tsan_platform_windows.cc
│ │ │ │ │ │ ├── tsan_ppc_regs.h
│ │ │ │ │ │ ├── tsan_report.cc
│ │ │ │ │ │ ├── tsan_report.h
│ │ │ │ │ │ ├── tsan_rtl_aarch64.S
│ │ │ │ │ │ ├── tsan_rtl_amd64.S
│ │ │ │ │ │ ├── tsan_rtl.cc
│ │ │ │ │ │ ├── tsan_rtl.h
│ │ │ │ │ │ ├── tsan_rtl_mutex.cc
│ │ │ │ │ │ ├── tsan_rtl_ppc64.S
│ │ │ │ │ │ ├── tsan_rtl_report.cc
│ │ │ │ │ │ ├── tsan_rtl_thread.cc
│ │ │ │ │ │ ├── tsan_stack_trace.cc
│ │ │ │ │ │ ├── tsan_stack_trace.h
│ │ │ │ │ │ ├── tsan_stat.cc
│ │ │ │ │ │ ├── tsan_stat.h
│ │ │ │ │ │ ├── tsan_suppressions.cc
│ │ │ │ │ │ ├── tsan_suppressions.h
│ │ │ │ │ │ ├── tsan_symbolize.cc
│ │ │ │ │ │ ├── tsan_symbolize.h
│ │ │ │ │ │ ├── tsan.syms.extra
│ │ │ │ │ │ ├── tsan_sync.cc
│ │ │ │ │ │ ├── tsan_sync.h
│ │ │ │ │ │ ├── tsan_trace.h
│ │ │ │ │ │ ├── tsan_update_shadow_word_inl.h
│ │ │ │ │ │ └── tsan_vector.h
│ │ │ │ │ └── tests
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── rtl
│ │ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ │ ├── tsan_bench.cc
│ │ │ │ │ │ ├── tsan_mop.cc
│ │ │ │ │ │ ├── tsan_mutex.cc
│ │ │ │ │ │ ├── tsan_posix.cc
│ │ │ │ │ │ ├── tsan_string.cc
│ │ │ │ │ │ ├── tsan_test.cc
│ │ │ │ │ │ ├── tsan_test_util.h
│ │ │ │ │ │ ├── tsan_test_util_linux.cc
│ │ │ │ │ │ └── tsan_thread.cc
│ │ │ │ │ └── unit
│ │ │ │ │ ├── CMakeLists.txt
│ │ │ │ │ ├── tsan_clock_test.cc
│ │ │ │ │ ├── tsan_dense_alloc_test.cc
│ │ │ │ │ ├── tsan_flags_test.cc
│ │ │ │ │ ├── tsan_mman_test.cc
│ │ │ │ │ ├── tsan_mutexset_test.cc
│ │ │ │ │ ├── tsan_mutex_test.cc
│ │ │ │ │ ├── tsan_shadow_test.cc
│ │ │ │ │ ├── tsan_stack_test.cc
│ │ │ │ │ ├── tsan_sync_test.cc
│ │ │ │ │ ├── tsan_unit_test_main.cc
│ │ │ │ │ └── tsan_vector_test.cc
│ │ │ │ └── ubsan
│ │ │ │ ├── Android.mk
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── Makefile.mk
│ │ │ │ ├── ubsan_checks.inc
│ │ │ │ ├── ubsan_diag.cc
│ │ │ │ ├── ubsan_diag.h
│ │ │ │ ├── ubsan_flags.cc
│ │ │ │ ├── ubsan_flags.h
│ │ │ │ ├── ubsan_flags.inc
│ │ │ │ ├── ubsan_handlers.cc
│ │ │ │ ├── ubsan_handlers_cxx.cc
│ │ │ │ ├── ubsan_handlers_cxx.h
│ │ │ │ ├── ubsan_handlers.h
│ │ │ │ ├── ubsan_init.cc
│ │ │ │ ├── ubsan_init.h
│ │ │ │ ├── ubsan_init_standalone.cc
│ │ │ │ ├── ubsan_platform.h
│ │ │ │ ├── ubsan.syms.extra
│ │ │ │ ├── ubsan_type_hash.cc
│ │ │ │ ├── ubsan_type_hash.h
│ │ │ │ ├── ubsan_type_hash_itanium.cc
│ │ │ │ ├── ubsan_type_hash_win.cc
│ │ │ │ ├── ubsan_value.cc
│ │ │ │ └── ubsan_value.h
│ │ │ ├── LICENSE.TXT
│ │ │ ├── make
│ │ │ │ ├── AppleBI.mk
│ │ │ │ ├── config.mk
│ │ │ │ ├── filter-inputs
│ │ │ │ ├── lib_info.mk
│ │ │ │ ├── lib_platforms.mk
│ │ │ │ ├── lib_util.mk
│ │ │ │ ├── options.mk
│ │ │ │ ├── platform
│ │ │ │ │ ├── clang_darwin.mk
│ │ │ │ │ ├── clang_darwin_test_input.c
│ │ │ │ │ ├── clang_linux.mk
│ │ │ │ │ ├── clang_linux_test_input.c
│ │ │ │ │ ├── clang_macho_embedded.mk
│ │ │ │ │ ├── clang_macho_embedded_test_input.c
│ │ │ │ │ ├── clang_mingw.mk
│ │ │ │ │ ├── darwin_bni.mk
│ │ │ │ │ └── multi_arch.mk
│ │ │ │ ├── subdir.mk
│ │ │ │ ├── test
│ │ │ │ │ └── test-util.mk
│ │ │ │ └── util.mk
│ │ │ ├── Makefile
│ │ │ ├── MODULE_LICENSE_MIT
│ │ │ ├── NOTICE
│ │ │ ├── README.android
│ │ │ └── README.txt
│ │ ├── expat
│ │ │ ├── Android.mk
│ │ │ ├── Changes
│ │ │ ├── CleanSpec.mk
│ │ │ ├── expat_config.h
│ │ │ ├── import_expat.sh
│ │ │ ├── lib
│ │ │ │ ├── ascii.h
│ │ │ │ ├── asciitab.h
│ │ │ │ ├── expat_external.h
│ │ │ │ ├── expat.h
│ │ │ │ ├── iasciitab.h
│ │ │ │ ├── internal.h
│ │ │ │ ├── latin1tab.h
│ │ │ │ ├── nametab.h
│ │ │ │ ├── utf8tab.h
│ │ │ │ ├── xmlparse.c
│ │ │ │ ├── xmlrole.c
│ │ │ │ ├── xmlrole.h
│ │ │ │ ├── xmltok.c
│ │ │ │ ├── xmltok.h
│ │ │ │ ├── xmltok_impl.c
│ │ │ │ ├── xmltok_impl.h
│ │ │ │ └── xmltok_ns.c
│ │ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ │ ├── NOTICE
│ │ │ ├── README
│ │ │ ├── README.android
│ │ │ └── README.version
│ │ ├── libcxx
│ │ │ ├── Android.bp
│ │ │ ├── Android.mk
│ │ │ ├── buildcmds
│ │ │ │ ├── Android.mk
│ │ │ │ ├── buildcmdscc
│ │ │ │ └── dummy.cpp
│ │ │ ├── cmake
│ │ │ │ ├── config-ix.cmake
│ │ │ │ └── Modules
│ │ │ │ ├── CodeCoverage.cmake
│ │ │ │ ├── HandleLibCXXABI.cmake
│ │ │ │ ├── HandleLibcxxFlags.cmake
│ │ │ │ ├── HandleOutOfTreeLLVM.cmake
│ │ │ │ └── MacroEnsureOutOfSourceBuild.cmake
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CREDITS.TXT
│ │ │ ├── include
│ │ │ │ ├── algorithm
│ │ │ │ ├── array
│ │ │ │ ├── atomic
│ │ │ │ ├── __bit_reference
│ │ │ │ ├── bitset
│ │ │ │ ├── cassert
│ │ │ │ ├── ccomplex
│ │ │ │ ├── cctype
│ │ │ │ ├── cerrno
│ │ │ │ ├── cfenv
│ │ │ │ ├── cfloat
│ │ │ │ ├── chrono
│ │ │ │ ├── cinttypes
│ │ │ │ ├── ciso646
│ │ │ │ ├── climits
│ │ │ │ ├── clocale
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── cmath
│ │ │ │ ├── codecvt
│ │ │ │ ├── complex
│ │ │ │ ├── complex.h
│ │ │ │ ├── condition_variable
│ │ │ │ ├── __config
│ │ │ │ ├── csetjmp
│ │ │ │ ├── csignal
│ │ │ │ ├── cstdarg
│ │ │ │ ├── cstdbool
│ │ │ │ ├── cstddef
│ │ │ │ ├── cstdint
│ │ │ │ ├── cstdio
│ │ │ │ ├── cstdlib
│ │ │ │ ├── cstring
│ │ │ │ ├── ctgmath
│ │ │ │ ├── ctime
│ │ │ │ ├── cwchar
│ │ │ │ ├── cwctype
│ │ │ │ ├── __cxxabi_config.h
│ │ │ │ ├── __debug
│ │ │ │ ├── deque
│ │ │ │ ├── exception
│ │ │ │ ├── experimental
│ │ │ │ │ ├── algorithm
│ │ │ │ │ ├── any
│ │ │ │ │ ├── chrono
│ │ │ │ │ ├── __config
│ │ │ │ │ ├── dynarray
│ │ │ │ │ ├── functional
│ │ │ │ │ ├── optional
│ │ │ │ │ ├── ratio
│ │ │ │ │ ├── string_view
│ │ │ │ │ ├── system_error
│ │ │ │ │ ├── tuple
│ │ │ │ │ ├── type_traits
│ │ │ │ │ └── utility
│ │ │ │ ├── ext
│ │ │ │ │ ├── __hash
│ │ │ │ │ ├── hash_map
│ │ │ │ │ └── hash_set
│ │ │ │ ├── forward_list
│ │ │ │ ├── fstream
│ │ │ │ ├── functional
│ │ │ │ ├── __functional_03
│ │ │ │ ├── __functional_base
│ │ │ │ ├── __functional_base_03
│ │ │ │ ├── future
│ │ │ │ ├── __hash_table
│ │ │ │ ├── initializer_list
│ │ │ │ ├── iomanip
│ │ │ │ ├── ios
│ │ │ │ ├── iosfwd
│ │ │ │ ├── iostream
│ │ │ │ ├── istream
│ │ │ │ ├── iterator
│ │ │ │ ├── limits
│ │ │ │ ├── list
│ │ │ │ ├── __locale
│ │ │ │ ├── locale
│ │ │ │ ├── map
│ │ │ │ ├── memory
│ │ │ │ ├── module.modulemap
│ │ │ │ ├── mutex
│ │ │ │ ├── __mutex_base
│ │ │ │ ├── new
│ │ │ │ ├── numeric
│ │ │ │ ├── ostream
│ │ │ │ ├── queue
│ │ │ │ ├── random
│ │ │ │ ├── ratio
│ │ │ │ ├── __refstring
│ │ │ │ ├── regex
│ │ │ │ ├── scoped_allocator
│ │ │ │ ├── set
│ │ │ │ ├── shared_mutex
│ │ │ │ ├── __split_buffer
│ │ │ │ ├── __sso_allocator
│ │ │ │ ├── sstream
│ │ │ │ ├── stack
│ │ │ │ ├── stdexcept
│ │ │ │ ├── __std_stream
│ │ │ │ ├── streambuf
│ │ │ │ ├── string
│ │ │ │ ├── strstream
│ │ │ │ ├── support
│ │ │ │ │ ├── android
│ │ │ │ │ │ └── locale_bionic.h
│ │ │ │ │ ├── ibm
│ │ │ │ │ │ ├── limits.h
│ │ │ │ │ │ ├── support.h
│ │ │ │ │ │ └── xlocale.h
│ │ │ │ │ ├── newlib
│ │ │ │ │ │ └── xlocale.h
│ │ │ │ │ ├── solaris
│ │ │ │ │ │ ├── floatingpoint.h
│ │ │ │ │ │ ├── wchar.h
│ │ │ │ │ │ └── xlocale.h
│ │ │ │ │ ├── win32
│ │ │ │ │ │ ├── limits_win32.h
│ │ │ │ │ │ ├── locale_win32.h
│ │ │ │ │ │ ├── math_win32.h
│ │ │ │ │ │ └── support.h
│ │ │ │ │ └── xlocale
│ │ │ │ │ └── xlocale.h
│ │ │ │ ├── system_error
│ │ │ │ ├── tgmath.h
│ │ │ │ ├── thread
│ │ │ │ ├── __tree
│ │ │ │ ├── __tuple
│ │ │ │ ├── tuple
│ │ │ │ ├── typeindex
│ │ │ │ ├── typeinfo
│ │ │ │ ├── type_traits
│ │ │ │ ├── __undef___deallocate
│ │ │ │ ├── __undef_min_max
│ │ │ │ ├── unordered_map
│ │ │ │ ├── unordered_set
│ │ │ │ ├── utility
│ │ │ │ ├── valarray
│ │ │ │ └── vector
│ │ │ ├── lib
│ │ │ │ ├── buildit
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── libc abi2.exp
│ │ │ │ ├── libc abi.exp
│ │ │ │ ├── libc sjlj-abi.exp
│ │ │ │ ├── libc unexp.exp
│ │ │ │ ├── notweak.exp
│ │ │ │ └── weak.exp
│ │ │ ├── LICENSE.TXT
│ │ │ ├── lit.site.cfg
│ │ │ ├── Makefile
│ │ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ │ ├── ndk-test.sh
│ │ │ ├── NOTICE
│ │ │ ├── run-tests.py
│ │ │ ├── src
│ │ │ │ ├── algorithm.cpp
│ │ │ │ ├── any.cpp
│ │ │ │ ├── bind.cpp
│ │ │ │ ├── chrono.cpp
│ │ │ │ ├── condition_variable.cpp
│ │ │ │ ├── config_elast.h
│ │ │ │ ├── debug.cpp
│ │ │ │ ├── exception.cpp
│ │ │ │ ├── future.cpp
│ │ │ │ ├── hash.cpp
│ │ │ │ ├── ios.cpp
│ │ │ │ ├── iostream.cpp
│ │ │ │ ├── locale.cpp
│ │ │ │ ├── memory.cpp
│ │ │ │ ├── mutex.cpp
│ │ │ │ ├── new.cpp
│ │ │ │ ├── optional.cpp
│ │ │ │ ├── random.cpp
│ │ │ │ ├── regex.cpp
│ │ │ │ ├── shared_mutex.cpp
│ │ │ │ ├── stdexcept.cpp
│ │ │ │ ├── string.cpp
│ │ │ │ ├── strstream.cpp
│ │ │ │ ├── support
│ │ │ │ │ ├── atomic_support.h
│ │ │ │ │ ├── solaris
│ │ │ │ │ │ ├── mbsnrtowcs.inc
│ │ │ │ │ │ ├── README
│ │ │ │ │ │ ├── wcsnrtombs.inc
│ │ │ │ │ │ └── xlocale.c
│ │ │ │ │ └── win32
│ │ │ │ │ ├── locale_win32.cpp
│ │ │ │ │ └── support.cpp
│ │ │ │ ├── system_error.cpp
│ │ │ │ ├── thread.cpp
│ │ │ │ ├── typeinfo.cpp
│ │ │ │ ├── utility.cpp
│ │ │ │ └── valarray.cpp
│ │ │ ├── test.mk
│ │ │ ├── TODO.TXT
│ │ │ └── utils
│ │ │ ├── not
│ │ │ │ └── not.py
│ │ │ └── sym_check
│ │ │ ├── linux_blacklist.txt
│ │ │ ├── osx_blacklist.txt
│ │ │ ├── sym_check
│ │ │ │ ├── diff.py
│ │ │ │ ├── extract.py
│ │ │ │ ├── __init__.py
│ │ │ │ ├── match.py
│ │ │ │ └── util.py
│ │ │ ├── sym_diff.py
│ │ │ ├── sym_extract.py
│ │ │ └── sym_match.py
│ │ ├── libcxxabi
│ │ │ ├── Android.bp
│ │ │ ├── Android.mk
│ │ │ ├── cmake
│ │ │ │ └── config-ix.cmake
│ │ │ ├── CMakeLists.txt
│ │ │ ├── CREDITS.TXT
│ │ │ ├── include
│ │ │ │ ├── __cxxabi_config.h
│ │ │ │ └── cxxabi.h
│ │ │ ├── lib
│ │ │ │ └── buildit
│ │ │ ├── LICENSE.TXT
│ │ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ │ ├── NOTICE
│ │ │ └── src
│ │ │ ├── abort_message.cpp
│ │ │ ├── abort_message.h
│ │ │ ├── CMakeLists.txt
│ │ │ ├── config.h
│ │ │ ├── cxa_aux_runtime.cpp
│ │ │ ├── cxa_default_handlers.cpp
│ │ │ ├── cxa_demangle.cpp
│ │ │ ├── cxa_exception.cpp
│ │ │ ├── cxa_exception.hpp
│ │ │ ├── cxa_exception_storage.cpp
│ │ │ ├── cxa_guard.cpp
│ │ │ ├── cxa_handlers.cpp
│ │ │ ├── cxa_handlers.hpp
│ │ │ ├── cxa_new_delete.cpp
│ │ │ ├── cxa_personality.cpp
│ │ │ ├── cxa_thread_atexit.cpp
│ │ │ ├── cxa_unexpected.cpp
│ │ │ ├── cxa_vector.cpp
│ │ │ ├── cxa_virtual.cpp
│ │ │ ├── exception.cpp
│ │ │ ├── fallback_malloc.ipp
│ │ │ ├── private_typeinfo.cpp
│ │ │ ├── private_typeinfo.h
│ │ │ ├── stdexcept.cpp
│ │ │ └── typeinfo.cpp
│ │ ├── libpng
│ │ │ ├── Android.mk
│ │ │ ├── ANNOUNCE
│ │ │ ├── arm
│ │ │ │ ├── arm_init.c
│ │ │ │ ├── filter_neon_intrinsics.c
│ │ │ │ └── filter_neon.S
│ │ │ ├── autogen.sh
│ │ │ ├── CHANGES
│ │ │ ├── CleanSpec.mk
│ │ │ ├── CMakeLists.txt
│ │ │ ├── configure.ac
│ │ │ ├── contrib
│ │ │ │ ├── arm-neon
│ │ │ │ │ ├── android-ndk.c
│ │ │ │ │ ├── linux-auxv.c
│ │ │ │ │ ├── linux.c
│ │ │ │ │ └── README
│ │ │ │ ├── conftest
│ │ │ │ │ ├── read.dfa
│ │ │ │ │ ├── README
│ │ │ │ │ ├── simple.dfa
│ │ │ │ │ ├── s_read.dfa
│ │ │ │ │ ├── s_write.dfa
│ │ │ │ │ └── write.dfa
│ │ │ │ ├── examples
│ │ │ │ │ ├── iccfrompng.c
│ │ │ │ │ ├── pngpixel.c
│ │ │ │ │ ├── pngtopng.c
│ │ │ │ │ └── README.txt
│ │ │ │ ├── gregbook
│ │ │ │ │ ├── COPYING
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── Makefile.mingw32
│ │ │ │ │ ├── Makefile.sgi
│ │ │ │ │ ├── Makefile.unx
│ │ │ │ │ ├── Makefile.w32
│ │ │ │ │ ├── makevms.com
│ │ │ │ │ ├── README
│ │ │ │ │ ├── readpng2.c
│ │ │ │ │ ├── readpng2.h
│ │ │ │ │ ├── readpng.c
│ │ │ │ │ ├── readpng.h
│ │ │ │ │ ├── readppm.c
│ │ │ │ │ ├── rpng2-win.c
│ │ │ │ │ ├── rpng2-x.c
│ │ │ │ │ ├── rpng-win.c
│ │ │ │ │ ├── rpng-x.c
│ │ │ │ │ ├── toucan.png
│ │ │ │ │ ├── wpng.c
│ │ │ │ │ ├── writepng.c
│ │ │ │ │ └── writepng.h
│ │ │ │ ├── intel
│ │ │ │ │ ├── configure.ac.patch
│ │ │ │ │ ├── filter_sse2_intrinsics.c
│ │ │ │ │ ├── INSTALL
│ │ │ │ │ ├── intel_init.c
│ │ │ │ │ └── Makefile.am.patch
│ │ │ │ ├── libtests
│ │ │ │ │ ├── fakepng.c
│ │ │ │ │ ├── gentests.sh
│ │ │ │ │ ├── makepng.c
│ │ │ │ │ ├── pngimage.c
│ │ │ │ │ ├── pngstest.c
│ │ │ │ │ ├── pngstest-errors.h
│ │ │ │ │ ├── pngunknown.c
│ │ │ │ │ ├── pngvalid.c
│ │ │ │ │ ├── readpng.c
│ │ │ │ │ ├── tarith.c
│ │ │ │ │ └── timepng.c
│ │ │ │ ├── pngminim
│ │ │ │ │ ├── decoder
│ │ │ │ │ │ ├── makefile
│ │ │ │ │ │ ├── pngusr.dfa
│ │ │ │ │ │ ├── pngusr.h
│ │ │ │ │ │ └── README
│ │ │ │ │ ├── encoder
│ │ │ │ │ │ ├── makefile
│ │ │ │ │ │ ├── pngusr.dfa
│ │ │ │ │ │ ├── pngusr.h
│ │ │ │ │ │ └── README
│ │ │ │ │ ├── preader
│ │ │ │ │ │ ├── makefile
│ │ │ │ │ │ ├── pngusr.dfa
│ │ │ │ │ │ ├── pngusr.h
│ │ │ │ │ │ └── README
│ │ │ │ │ └── README
│ │ │ │ ├── pngminus
│ │ │ │ │ ├── makefile.std
│ │ │ │ │ ├── makefile.tc3
│ │ │ │ │ ├── makevms.com
│ │ │ │ │ ├── png2pnm.bat
│ │ │ │ │ ├── png2pnm.c
│ │ │ │ │ ├── png2pnm.sh
│ │ │ │ │ ├── pngminus.bat
│ │ │ │ │ ├── pngminus.sh
│ │ │ │ │ ├── pnm2png.bat
│ │ │ │ │ ├── pnm2png.c
│ │ │ │ │ ├── pnm2png.sh
│ │ │ │ │ └── README
│ │ │ │ ├── pngsuite
│ │ │ │ │ ├── basn0g01.png
│ │ │ │ │ ├── basn0g02.png
│ │ │ │ │ ├── basn0g04.png
│ │ │ │ │ ├── basn0g08.png
│ │ │ │ │ ├── basn0g16.png
│ │ │ │ │ ├── basn2c08.png
│ │ │ │ │ ├── basn2c16.png
│ │ │ │ │ ├── basn3p01.png
│ │ │ │ │ ├── basn3p02.png
│ │ │ │ │ ├── basn3p04.png
│ │ │ │ │ ├── basn3p08.png
│ │ │ │ │ ├── basn4a08.png
│ │ │ │ │ ├── basn4a16.png
│ │ │ │ │ ├── basn6a08.png
│ │ │ │ │ ├── basn6a16.png
│ │ │ │ │ ├── ftbbn0g01.png
│ │ │ │ │ ├── ftbbn0g02.png
│ │ │ │ │ ├── ftbbn0g04.png
│ │ │ │ │ ├── ftbbn2c16.png
│ │ │ │ │ ├── ftbbn3p08.png
│ │ │ │ │ ├── ftbgn2c16.png
│ │ │ │ │ ├── ftbgn3p08.png
│ │ │ │ │ ├── ftbrn2c08.png
│ │ │ │ │ ├── ftbwn0g16.png
│ │ │ │ │ ├── ftbwn3p08.png
│ │ │ │ │ ├── ftbyn3p08.png
│ │ │ │ │ ├── ftp0n0g08.png
│ │ │ │ │ ├── ftp0n2c08.png
│ │ │ │ │ ├── ftp0n3p08.png
│ │ │ │ │ ├── ftp1n3p08.png
│ │ │ │ │ └── README
│ │ │ │ ├── README.txt
│ │ │ │ ├── tools
│ │ │ │ │ ├── checksum-icc.c
│ │ │ │ │ ├── chkfmt
│ │ │ │ │ ├── cvtcolor.c
│ │ │ │ │ ├── genpng.c
│ │ │ │ │ ├── intgamma.sh
│ │ │ │ │ ├── makesRGB.c
│ │ │ │ │ ├── pngfix.c
│ │ │ │ │ ├── png-fix-itxt.c
│ │ │ │ │ ├── README.txt
│ │ │ │ │ └── sRGB.h
│ │ │ │ └── visupng
│ │ │ │ ├── cexcept.h
│ │ │ │ ├── PngFile.c
│ │ │ │ ├── PngFile.h
│ │ │ │ ├── README.txt
│ │ │ │ ├── resource.h
│ │ │ │ ├── VisualPng.c
│ │ │ │ ├── VisualPng.dsp
│ │ │ │ ├── VisualPng.dsw
│ │ │ │ ├── VisualPng.ico
│ │ │ │ ├── VisualPng.png
│ │ │ │ └── VisualPng.rc
│ │ │ ├── example.c
│ │ │ ├── INSTALL
│ │ │ ├── libpng.3
│ │ │ ├── libpng-config.in
│ │ │ ├── libpng-manual.txt
│ │ │ ├── libpng.pc.in
│ │ │ ├── libpngpf.3
│ │ │ ├── LICENSE
│ │ │ ├── Makefile.am
│ │ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ │ ├── png.5
│ │ │ ├── pngbar.jpg
│ │ │ ├── pngbar.png
│ │ │ ├── png.c
│ │ │ ├── pngconf.h
│ │ │ ├── pngdebug.h
│ │ │ ├── pngerror.c
│ │ │ ├── pngget.c
│ │ │ ├── png.h
│ │ │ ├── pnginfo.h
│ │ │ ├── pnglibconf.h
│ │ │ ├── pngmem.c
│ │ │ ├── pngnow.png
│ │ │ ├── pngpread.c
│ │ │ ├── pngpriv.h
│ │ │ ├── pngread.c
│ │ │ ├── pngrio.c
│ │ │ ├── pngrtran.c
│ │ │ ├── pngrutil.c
│ │ │ ├── pngset.c
│ │ │ ├── pngstruct.h
│ │ │ ├── pngtest.c
│ │ │ ├── pngtest.png
│ │ │ ├── pngtrans.c
│ │ │ ├── pngusr.dfa
│ │ │ ├── pngusr.h
│ │ │ ├── pngwio.c
│ │ │ ├── pngwrite.c
│ │ │ ├── pngwtran.c
│ │ │ ├── pngwutil.c
│ │ │ ├── projects
│ │ │ │ ├── owatcom
│ │ │ │ │ ├── libpng.tgt
│ │ │ │ │ ├── libpng.wpj
│ │ │ │ │ ├── pngconfig.mak
│ │ │ │ │ ├── pngstest.tgt
│ │ │ │ │ ├── pngtest.tgt
│ │ │ │ │ └── pngvalid.tgt
│ │ │ │ ├── visualc71
│ │ │ │ │ ├── libpng.sln
│ │ │ │ │ ├── libpng.vcproj
│ │ │ │ │ ├── pngtest.vcproj
│ │ │ │ │ ├── PRJ0041.mak
│ │ │ │ │ ├── README.txt
│ │ │ │ │ ├── README_zlib.txt
│ │ │ │ │ └── zlib.vcproj
│ │ │ │ └── vstudio
│ │ │ │ ├── libpng
│ │ │ │ │ └── libpng.vcxproj
│ │ │ │ ├── pnglibconf
│ │ │ │ │ └── pnglibconf.vcxproj
│ │ │ │ ├── pngstest
│ │ │ │ │ └── pngstest.vcxproj
│ │ │ │ ├── pngtest
│ │ │ │ │ └── pngtest.vcxproj
│ │ │ │ ├── pngunknown
│ │ │ │ │ └── pngunknown.vcxproj
│ │ │ │ ├── pngvalid
│ │ │ │ │ └── pngvalid.vcxproj
│ │ │ │ ├── README.txt
│ │ │ │ ├── vstudio.sln
│ │ │ │ ├── zlib
│ │ │ │ │ └── zlib.vcxproj
│ │ │ │ └── zlib.props
│ │ │ ├── README
│ │ │ ├── README.android
│ │ │ ├── README.version
│ │ │ ├── scripts
│ │ │ │ ├── checksym.awk
│ │ │ │ ├── def.c
│ │ │ │ ├── descrip.mms
│ │ │ │ ├── dfn.awk
│ │ │ │ ├── genchk.cmake.in
│ │ │ │ ├── genout.cmake.in
│ │ │ │ ├── gensrc.cmake.in
│ │ │ │ ├── intprefix.c
│ │ │ │ ├── libpng-config-body.in
│ │ │ │ ├── libpng-config-head.in
│ │ │ │ ├── libpng.pc.in
│ │ │ │ ├── macro.lst
│ │ │ │ ├── makefile.32sunu
│ │ │ │ ├── makefile.64sunu
│ │ │ │ ├── makefile.acorn
│ │ │ │ ├── makefile.aix
│ │ │ │ ├── makefile.amiga
│ │ │ │ ├── makefile.atari
│ │ │ │ ├── makefile.bc32
│ │ │ │ ├── makefile.beos
│ │ │ │ ├── makefile.bor
│ │ │ │ ├── makefile.cegcc
│ │ │ │ ├── makefile.darwin
│ │ │ │ ├── makefile.dec
│ │ │ │ ├── makefile.dj2
│ │ │ │ ├── makefile.freebsd
│ │ │ │ ├── makefile.gcc
│ │ │ │ ├── makefile.hp64
│ │ │ │ ├── makefile.hpgcc
│ │ │ │ ├── makefile.hpux
│ │ │ │ ├── makefile.ibmc
│ │ │ │ ├── makefile.intel
│ │ │ │ ├── makefile.knr
│ │ │ │ ├── makefile.linux
│ │ │ │ ├── makefile.mips
│ │ │ │ ├── makefile.msc
│ │ │ │ ├── makefile.msys
│ │ │ │ ├── makefile.ne12bsd
│ │ │ │ ├── makefile.netbsd
│ │ │ │ ├── makefile.openbsd
│ │ │ │ ├── makefile.sco
│ │ │ │ ├── makefile.sggcc
│ │ │ │ ├── makefile.sgi
│ │ │ │ ├── makefile.so9
│ │ │ │ ├── makefile.solaris
│ │ │ │ ├── makefile.solaris-x86
│ │ │ │ ├── makefile.std
│ │ │ │ ├── makefile.sunos
│ │ │ │ ├── makefile.tc3
│ │ │ │ ├── makefile.vcwin32
│ │ │ │ ├── makevms.com
│ │ │ │ ├── options.awk
│ │ │ │ ├── pnglibconf.dfa
│ │ │ │ ├── pnglibconf.h.prebuilt
│ │ │ │ ├── pnglibconf.mak
│ │ │ │ ├── pngwin.rc
│ │ │ │ ├── prefix.c
│ │ │ │ ├── README.txt
│ │ │ │ ├── SCOPTIONS.ppc
│ │ │ │ ├── smakefile.ppc
│ │ │ │ ├── symbols.c
│ │ │ │ ├── symbols.def
│ │ │ │ ├── sym.c
│ │ │ │ ├── test.cmake.in
│ │ │ │ └── vers.c
│ │ │ └── TODO
│ │ ├── safe-iop
│ │ │ ├── Android.mk
│ │ │ ├── CleanSpec.mk
│ │ │ ├── include
│ │ │ │ └── safe_iop.h
│ │ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ │ ├── NOTICE
│ │ │ ├── README.version
│ │ │ ├── src
│ │ │ │ └── safe_iop.c
│ │ │ └── testsuite
│ │ │ └── Android.mk
│ │ └── zlib
│ │ ├── Android.mk
│ │ ├── CleanSpec.mk
│ │ ├── MODULE_LICENSE_BSD_LIKE
│ │ ├── NOTICE
│ │ ├── src
│ │ │ ├── adler32.c
│ │ │ ├── amiga
│ │ │ │ ├── Makefile.pup
│ │ │ │ └── Makefile.sas
│ │ │ ├── as400
│ │ │ │ ├── bndsrc
│ │ │ │ ├── compile.clp
│ │ │ │ ├── readme.txt
│ │ │ │ └── zlib.inc
│ │ │ ├── ChangeLog
│ │ │ ├── CMakeLists.txt
│ │ │ ├── compress.c
│ │ │ ├── configure
│ │ │ ├── contrib
│ │ │ │ ├── ada
│ │ │ │ │ ├── buffer_demo.adb
│ │ │ │ │ ├── mtest.adb
│ │ │ │ │ ├── read.adb
│ │ │ │ │ ├── readme.txt
│ │ │ │ │ ├── test.adb
│ │ │ │ │ ├── zlib.adb
│ │ │ │ │ ├── zlib.ads
│ │ │ │ │ ├── zlib.gpr
│ │ │ │ │ ├── zlib-streams.adb
│ │ │ │ │ ├── zlib-streams.ads
│ │ │ │ │ ├── zlib-thin.adb
│ │ │ │ │ └── zlib-thin.ads
│ │ │ │ ├── amd64
│ │ │ │ │ └── amd64-match.S
│ │ │ │ ├── asm686
│ │ │ │ │ ├── match.S
│ │ │ │ │ └── README.686
│ │ │ │ ├── blast
│ │ │ │ │ ├── blast.c
│ │ │ │ │ ├── blast.h
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── README
│ │ │ │ │ ├── test.pk
│ │ │ │ │ └── test.txt
│ │ │ │ ├── delphi
│ │ │ │ │ ├── readme.txt
│ │ │ │ │ ├── ZLibConst.pas
│ │ │ │ │ ├── zlibd32.mak
│ │ │ │ │ └── ZLib.pas
│ │ │ │ ├── dotzlib
│ │ │ │ │ ├── DotZLib
│ │ │ │ │ │ ├── AssemblyInfo.cs
│ │ │ │ │ │ ├── ChecksumImpl.cs
│ │ │ │ │ │ ├── CircularBuffer.cs
│ │ │ │ │ │ ├── CodecBase.cs
│ │ │ │ │ │ ├── Deflater.cs
│ │ │ │ │ │ ├── DotZLib.cs
│ │ │ │ │ │ ├── DotZLib.csproj
│ │ │ │ │ │ ├── GZipStream.cs
│ │ │ │ │ │ ├── Inflater.cs
│ │ │ │ │ │ └── UnitTests.cs
│ │ │ │ │ ├── DotZLib.build
│ │ │ │ │ ├── DotZLib.chm
│ │ │ │ │ ├── DotZLib.sln
│ │ │ │ │ ├── LICENSE_1_0.txt
│ │ │ │ │ └── readme.txt
│ │ │ │ ├── gcc_gvmat64
│ │ │ │ │ └── gvmat64.S
│ │ │ │ ├── infback9
│ │ │ │ │ ├── infback9.c
│ │ │ │ │ ├── infback9.h
│ │ │ │ │ ├── inffix9.h
│ │ │ │ │ ├── inflate9.h
│ │ │ │ │ ├── inftree9.c
│ │ │ │ │ ├── inftree9.h
│ │ │ │ │ └── README
│ │ │ │ ├── inflate86
│ │ │ │ │ ├── inffas86.c
│ │ │ │ │ └── inffast.S
│ │ │ │ ├── iostream
│ │ │ │ │ ├── test.cpp
│ │ │ │ │ ├── zfstream.cpp
│ │ │ │ │ └── zfstream.h
│ │ │ │ ├── iostream2
│ │ │ │ │ ├── zstream.h
│ │ │ │ │ └── zstream_test.cpp
│ │ │ │ ├── iostream3
│ │ │ │ │ ├── README
│ │ │ │ │ ├── test.cc
│ │ │ │ │ ├── TODO
│ │ │ │ │ ├── zfstream.cc
│ │ │ │ │ └── zfstream.h
│ │ │ │ ├── masmx64
│ │ │ │ │ ├── bld_ml64.bat
│ │ │ │ │ ├── gvmat64.asm
│ │ │ │ │ ├── inffas8664.c
│ │ │ │ │ ├── inffasx64.asm
│ │ │ │ │ └── readme.txt
│ │ │ │ ├── masmx86
│ │ │ │ │ ├── bld_ml32.bat
│ │ │ │ │ ├── inffas32.asm
│ │ │ │ │ ├── match686.asm
│ │ │ │ │ └── readme.txt
│ │ │ │ ├── minizip
│ │ │ │ │ ├── configure.ac
│ │ │ │ │ ├── crypt.h
│ │ │ │ │ ├── ioapi.c
│ │ │ │ │ ├── ioapi.h
│ │ │ │ │ ├── iowin32.c
│ │ │ │ │ ├── iowin32.h
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── Makefile.am
│ │ │ │ │ ├── make_vms.com
│ │ │ │ │ ├── miniunz.c
│ │ │ │ │ ├── miniunzip.1
│ │ │ │ │ ├── minizip.1
│ │ │ │ │ ├── MiniZip64_Changes.txt
│ │ │ │ │ ├── MiniZip64_info.txt
│ │ │ │ │ ├── minizip.c
│ │ │ │ │ ├── minizip.pc.in
│ │ │ │ │ ├── mztools.c
│ │ │ │ │ ├── mztools.h
│ │ │ │ │ ├── unzip.c
│ │ │ │ │ ├── unzip.h
│ │ │ │ │ ├── zip.c
│ │ │ │ │ └── zip.h
│ │ │ │ ├── pascal
│ │ │ │ │ ├── example.pas
│ │ │ │ │ ├── readme.txt
│ │ │ │ │ ├── zlibd32.mak
│ │ │ │ │ └── zlibpas.pas
│ │ │ │ ├── puff
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── puff.c
│ │ │ │ │ ├── puff.h
│ │ │ │ │ ├── pufftest.c
│ │ │ │ │ ├── README
│ │ │ │ │ └── zeros.raw
│ │ │ │ ├── README.contrib
│ │ │ │ ├── testzlib
│ │ │ │ │ ├── testzlib.c
│ │ │ │ │ └── testzlib.txt
│ │ │ │ ├── untgz
│ │ │ │ │ ├── Makefile
│ │ │ │ │ ├── Makefile.msc
│ │ │ │ │ └── untgz.c
│ │ │ │ └── vstudio
│ │ │ │ ├── readme.txt
│ │ │ │ ├── vc10
│ │ │ │ │ ├── miniunz.vcxproj
│ │ │ │ │ ├── miniunz.vcxproj.filters
│ │ │ │ │ ├── minizip.vcxproj
│ │ │ │ │ ├── minizip.vcxproj.filters
│ │ │ │ │ ├── testzlibdll.vcxproj
│ │ │ │ │ ├── testzlibdll.vcxproj.filters
│ │ │ │ │ ├── testzlib.vcxproj
│ │ │ │ │ ├── testzlib.vcxproj.filters
│ │ │ │ │ ├── zlib.rc
│ │ │ │ │ ├── zlibstat.vcxproj
│ │ │ │ │ ├── zlibstat.vcxproj.filters
│ │ │ │ │ ├── zlibvc.def
│ │ │ │ │ ├── zlibvc.sln
│ │ │ │ │ ├── zlibvc.vcxproj
│ │ │ │ │ └── zlibvc.vcxproj.filters
│ │ │ │ ├── vc11
│ │ │ │ │ ├── miniunz.vcxproj
│ │ │ │ │ ├── minizip.vcxproj
│ │ │ │ │ ├── testzlibdll.vcxproj
│ │ │ │ │ ├── testzlib.vcxproj
│ │ │ │ │ ├── zlib.rc
│ │ │ │ │ ├── zlibstat.vcxproj
│ │ │ │ │ ├── zlibvc.def
│ │ │ │ │ ├── zlibvc.sln
│ │ │ │ │ └── zlibvc.vcxproj
│ │ │ │ └── vc9
│ │ │ │ ├── miniunz.vcproj
│ │ │ │ ├── minizip.vcproj
│ │ │ │ ├── testzlibdll.vcproj
│ │ │ │ ├── testzlib.vcproj
│ │ │ │ ├── zlib.rc
│ │ │ │ ├── zlibstat.vcproj
│ │ │ │ ├── zlibvc.def
│ │ │ │ ├── zlibvc.sln
│ │ │ │ └── zlibvc.vcproj
│ │ │ ├── crc32.c
│ │ │ ├── crc32.h
│ │ │ ├── deflate.c
│ │ │ ├── deflate.h
│ │ │ ├── doc
│ │ │ │ ├── algorithm.txt
│ │ │ │ ├── rfc1950.txt
│ │ │ │ ├── rfc1951.txt
│ │ │ │ ├── rfc1952.txt
│ │ │ │ └── txtvsbin.txt
│ │ │ ├── examples
│ │ │ │ ├── enough.c
│ │ │ │ ├── fitblk.c
│ │ │ │ ├── gun.c
│ │ │ │ ├── gzappend.c
│ │ │ │ ├── gzjoin.c
│ │ │ │ ├── gzlog.c
│ │ │ │ ├── gzlog.h
│ │ │ │ ├── README.examples
│ │ │ │ ├── zlib_how.html
│ │ │ │ ├── zpipe.c
│ │ │ │ └── zran.c
│ │ │ ├── FAQ
│ │ │ ├── gzclose.c
│ │ │ ├── gzguts.h
│ │ │ ├── gzlib.c
│ │ │ ├── gzread.c
│ │ │ ├── gzwrite.c
│ │ │ ├── INDEX
│ │ │ ├── infback.c
│ │ │ ├── inffast.c
│ │ │ ├── inffast.h
│ │ │ ├── inffixed.h
│ │ │ ├── inflate.c
│ │ │ ├── inflate.h
│ │ │ ├── inftrees.c
│ │ │ ├── inftrees.h
│ │ │ ├── Makefile.in
│ │ │ ├── make_vms.com
│ │ │ ├── msdos
│ │ │ │ ├── Makefile.bor
│ │ │ │ ├── Makefile.dj2
│ │ │ │ ├── Makefile.emx
│ │ │ │ ├── Makefile.msc
│ │ │ │ └── Makefile.tc
│ │ │ ├── nintendods
│ │ │ │ ├── Makefile
│ │ │ │ └── README
│ │ │ ├── old
│ │ │ │ ├── descrip.mms
│ │ │ │ ├── Makefile.emx
│ │ │ │ ├── Makefile.riscos
│ │ │ │ ├── os2
│ │ │ │ │ ├── Makefile.os2
│ │ │ │ │ └── zlib.def
│ │ │ │ ├── README
│ │ │ │ └── visual-basic.txt
│ │ │ ├── qnx
│ │ │ │ └── package.qpg
│ │ │ ├── README
│ │ │ ├── test
│ │ │ │ ├── example.c
│ │ │ │ ├── infcover.c
│ │ │ │ └── minigzip.c
│ │ │ ├── treebuild.xml
│ │ │ ├── trees.c
│ │ │ ├── trees.h
│ │ │ ├── uncompr.c
│ │ │ ├── watcom
│ │ │ │ ├── watcom_f.mak
│ │ │ │ └── watcom_l.mak
│ │ │ ├── win32
│ │ │ │ ├── DLL_FAQ.txt
│ │ │ │ ├── Makefile.bor
│ │ │ │ ├── Makefile.gcc
│ │ │ │ ├── Makefile.msc
│ │ │ │ ├── README-WIN32.txt
│ │ │ │ ├── VisualC.txt
│ │ │ │ ├── zlib1.rc
│ │ │ │ └── zlib.def
│ │ │ ├── zconf.h
│ │ │ ├── zconf.h.cmakein
│ │ │ ├── zconf.h.in
│ │ │ ├── zlib2ansi
│ │ │ ├── zlib.3
│ │ │ ├── zlib.3.pdf
│ │ │ ├── zlib.h
│ │ │ ├── zlib.map
│ │ │ ├── zlib.pc
│ │ │ ├── zlib.pc.cmakein
│ │ │ ├── zlib.pc.in
│ │ │ ├── zutil.c
│ │ │ └── zutil.h
│ │ ├── update_zlib.sh
│ │ ├── zconf.h
│ │ ├── zlib.h
│ │ └── zutil.h
│ ├── frameworks
│ │ ├── base
│ │ │ ├── include
│ │ │ │ ├── androidfw
│ │ │ │ │ ├── AssetDir.h
│ │ │ │ │ ├── Asset.h
│ │ │ │ │ ├── AssetManager.h
│ │ │ │ │ ├── AttributeFinder.h
│ │ │ │ │ ├── BackupHelpers.h
│ │ │ │ │ ├── ByteBucketArray.h
│ │ │ │ │ ├── CursorWindow.h
│ │ │ │ │ ├── DisplayEventDispatcher.h
│ │ │ │ │ ├── LocaleData.h
│ │ │ │ │ ├── misc.h
│ │ │ │ │ ├── ObbFile.h
│ │ │ │ │ ├── ResourcePackageId.h
│ │ │ │ │ ├── ResourceTypes.h
│ │ │ │ │ ├── StreamingZipInflater.h
│ │ │ │ │ ├── TypeWrappers.h
│ │ │ │ │ ├── ZipFileRO.h
│ │ │ │ │ └── ZipUtils.h
│ │ │ │ ├── android_runtime
│ │ │ │ │ ├── android_app_NativeActivity.h
│ │ │ │ │ ├── android_content_res_Configuration.h
│ │ │ │ │ ├── android_graphics_SurfaceTexture.h
│ │ │ │ │ ├── android_hardware_camera2_CameraMetadata.h
│ │ │ │ │ ├── AndroidRuntime.h
│ │ │ │ │ ├── android_util_AssetManager.h
│ │ │ │ │ ├── android_view_InputQueue.h
│ │ │ │ │ ├── android_view_Surface.h
│ │ │ │ │ ├── android_view_SurfaceSession.h
│ │ │ │ │ └── Log.h
│ │ │ │ ├── private
│ │ │ │ │ ├── hwui
│ │ │ │ │ │ └── DrawGlInfo.h
│ │ │ │ │ └── README
│ │ │ │ └── storage
│ │ │ │ ├── IMountService.h
│ │ │ │ ├── IMountServiceListener.h
│ │ │ │ ├── IMountShutdownObserver.h
│ │ │ │ └── IObbActionListener.h
│ │ │ ├── libs
│ │ │ │ └── androidfw
│ │ │ │ ├── Android.mk
│ │ │ │ ├── Asset.cpp
│ │ │ │ ├── AssetDir.cpp
│ │ │ │ ├── AssetManager.cpp
│ │ │ │ ├── BackupData.cpp
│ │ │ │ ├── BackupHelpers.cpp
│ │ │ │ ├── CursorWindow.cpp
│ │ │ │ ├── DisplayEventDispatcher.cpp
│ │ │ │ ├── LocaleData.cpp
│ │ │ │ ├── LocaleDataTables.cpp
│ │ │ │ ├── misc.cpp
│ │ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ │ ├── NOTICE
│ │ │ │ ├── ObbFile.cpp
│ │ │ │ ├── ResourceTypes.cpp
│ │ │ │ ├── StreamingZipInflater.cpp
│ │ │ │ ├── tests
│ │ │ │ │ ├── Android.mk
│ │ │ │ │ ├── AttributeFinder_test.cpp
│ │ │ │ │ ├── BackupData_test.cpp
│ │ │ │ │ ├── ByteBucketArray_test.cpp
│ │ │ │ │ ├── ConfigLocale_test.cpp
│ │ │ │ │ ├── Config_test.cpp
│ │ │ │ │ ├── data
│ │ │ │ │ │ ├── app
│ │ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ │ ├── app_arsc.h
│ │ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ ├── res
│ │ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ └── R.h
│ │ │ │ │ │ ├── basic
│ │ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ │ ├── basic_arsc.h
│ │ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ ├── res
│ │ │ │ │ │ │ │ ├── layout
│ │ │ │ │ │ │ │ │ └── main.xml
│ │ │ │ │ │ │ │ ├── layout-fr-sw600dp
│ │ │ │ │ │ │ │ │ └── main.xml
│ │ │ │ │ │ │ │ ├── values
│ │ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ │ ├── values-de
│ │ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ │ ├── values-fr
│ │ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ │ ├── values-hdpi
│ │ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ │ ├── values-sv
│ │ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ │ ├── values-xhdpi
│ │ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ │ └── values-xxhdpi
│ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ ├── R.h
│ │ │ │ │ │ │ ├── split_de_fr_arsc.h
│ │ │ │ │ │ │ ├── split_hdpi_v4_arsc.h
│ │ │ │ │ │ │ ├── split_xhdpi_v4_arsc.h
│ │ │ │ │ │ │ └── split_xxhdpi_v4_arsc.h
│ │ │ │ │ │ ├── feature
│ │ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ ├── feature_arsc.h
│ │ │ │ │ │ │ └── res
│ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ ├── lib
│ │ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ ├── lib_arsc.h
│ │ │ │ │ │ │ ├── res
│ │ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ │ └── R.h
│ │ │ │ │ │ ├── overlay
│ │ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ ├── overlay_arsc.h
│ │ │ │ │ │ │ └── res
│ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ └── system
│ │ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ │ ├── build
│ │ │ │ │ │ ├── res
│ │ │ │ │ │ │ └── values
│ │ │ │ │ │ │ └── themes.xml
│ │ │ │ │ │ ├── R.h
│ │ │ │ │ │ └── system_arsc.h
│ │ │ │ │ ├── Idmap_test.cpp
│ │ │ │ │ ├── ObbFile_test.cpp
│ │ │ │ │ ├── ResTable_test.cpp
│ │ │ │ │ ├── Split_test.cpp
│ │ │ │ │ ├── TestHelpers.cpp
│ │ │ │ │ ├── TestHelpers.h
│ │ │ │ │ ├── Theme_test.cpp
│ │ │ │ │ ├── TypeWrappers_test.cpp
│ │ │ │ │ └── ZipUtils_test.cpp
│ │ │ │ ├── TypeWrappers.cpp
│ │ │ │ ├── ZipFileRO.cpp
│ │ │ │ └── ZipUtils.cpp
│ │ │ └── tools
│ │ │ └── aapt
│ │ │ ├── AaptAssets.cpp
│ │ │ ├── AaptAssets.h
│ │ │ ├── AaptConfig.cpp
│ │ │ ├── AaptConfig.h
│ │ │ ├── AaptUtil.cpp
│ │ │ ├── AaptUtil.h
│ │ │ ├── AaptXml.cpp
│ │ │ ├── AaptXml.h
│ │ │ ├── Android.mk
│ │ │ ├── ApkBuilder.cpp
│ │ │ ├── ApkBuilder.h
│ │ │ ├── Bundle.h
│ │ │ ├── CacheUpdater.h
│ │ │ ├── Command.cpp
│ │ │ ├── ConfigDescription.h
│ │ │ ├── CrunchCache.cpp
│ │ │ ├── CrunchCache.h
│ │ │ ├── DirectoryWalker.h
│ │ │ ├── FileFinder.cpp
│ │ │ ├── FileFinder.h
│ │ │ ├── Images.cpp
│ │ │ ├── Images.h
│ │ │ ├── IndentPrinter.h
│ │ │ ├── Main.cpp
│ │ │ ├── Main.h
│ │ │ ├── NOTICE
│ │ │ ├── OutputSet.h
│ │ │ ├── Package.cpp
│ │ │ ├── pseudolocalize.cpp
│ │ │ ├── pseudolocalize.h
│ │ │ ├── Resource.cpp
│ │ │ ├── ResourceFilter.cpp
│ │ │ ├── ResourceFilter.h
│ │ │ ├── ResourceIdCache.cpp
│ │ │ ├── ResourceIdCache.h
│ │ │ ├── ResourceTable.cpp
│ │ │ ├── ResourceTable.h
│ │ │ ├── SdkConstants.h
│ │ │ ├── SourcePos.cpp
│ │ │ ├── SourcePos.h
│ │ │ ├── StringPool.cpp
│ │ │ ├── StringPool.h
│ │ │ ├── Symbol.h
│ │ │ ├── tests
│ │ │ │ ├── AaptConfig_test.cpp
│ │ │ │ ├── AaptGroupEntry_test.cpp
│ │ │ │ ├── CrunchCache_test.cpp
│ │ │ │ ├── FileFinder_test.cpp
│ │ │ │ ├── MockCacheUpdater.h
│ │ │ │ ├── MockDirectoryWalker.h
│ │ │ │ ├── MockFileFinder.h
│ │ │ │ ├── plurals
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── res
│ │ │ │ │ │ └── values
│ │ │ │ │ │ └── strings.xml
│ │ │ │ │ └── run.sh
│ │ │ │ ├── Pseudolocales_test.cpp
│ │ │ │ ├── ResourceFilter_test.cpp
│ │ │ │ ├── ResourceTable_test.cpp
│ │ │ │ └── TestHelper.h
│ │ │ ├── WorkQueue.cpp
│ │ │ ├── WorkQueue.h
│ │ │ ├── XMLNode.cpp
│ │ │ ├── XMLNode.h
│ │ │ ├── ZipEntry.cpp
│ │ │ ├── ZipEntry.h
│ │ │ ├── ZipFile.cpp
│ │ │ └── ZipFile.h
│ │ └── native
│ │ └── include
│ │ ├── android
│ │ │ ├── asset_manager.h
│ │ │ ├── asset_manager_jni.h
│ │ │ ├── bitmap.h
│ │ │ ├── choreographer.h
│ │ │ ├── configuration.h
│ │ │ ├── input.h
│ │ │ ├── keycodes.h
│ │ │ ├── looper.h
│ │ │ ├── multinetwork.h
│ │ │ ├── native_activity.h
│ │ │ ├── native_window.h
│ │ │ ├── native_window_jni.h
│ │ │ ├── obb.h
│ │ │ ├── rect.h
│ │ │ ├── sensor.h
│ │ │ ├── storage_manager.h
│ │ │ ├── trace.h
│ │ │ └── window.h
│ │ ├── batteryservice
│ │ │ ├── BatteryService.h
│ │ │ ├── IBatteryPropertiesListener.h
│ │ │ └── IBatteryPropertiesRegistrar.h
│ │ ├── binder
│ │ │ ├── AppOpsManager.h
│ │ │ ├── Binder.h
│ │ │ ├── BinderService.h
│ │ │ ├── BpBinder.h
│ │ │ ├── BufferedTextOutput.h
│ │ │ ├── Debug.h
│ │ │ ├── IAppOpsCallback.h
│ │ │ ├── IAppOpsService.h
│ │ │ ├── IBatteryStats.h
│ │ │ ├── IBinder.h
│ │ │ ├── IInterface.h
│ │ │ ├── IMediaResourceMonitor.h
│ │ │ ├── IMemory.h
│ │ │ ├── IPCThreadState.h
│ │ │ ├── IPermissionController.h
│ │ │ ├── IProcessInfoService.h
│ │ │ ├── IResultReceiver.h
│ │ │ ├── IServiceManager.h
│ │ │ ├── MemoryBase.h
│ │ │ ├── MemoryDealer.h
│ │ │ ├── MemoryHeapBase.h
│ │ │ ├── Parcelable.h
│ │ │ ├── Parcel.h
│ │ │ ├── PermissionCache.h
│ │ │ ├── PersistableBundle.h
│ │ │ ├── ProcessInfoService.h
│ │ │ ├── ProcessState.h
│ │ │ ├── Status.h
│ │ │ └── TextOutput.h
│ │ ├── diskusage
│ │ │ └── dirsize.h
│ │ ├── gui
│ │ │ ├── BitTube.h
│ │ │ ├── BufferItemConsumer.h
│ │ │ ├── BufferItem.h
│ │ │ ├── BufferQueueConsumer.h
│ │ │ ├── BufferQueueCore.h
│ │ │ ├── BufferQueueDefs.h
│ │ │ ├── BufferQueue.h
│ │ │ ├── BufferQueueProducer.h
│ │ │ ├── BufferSlot.h
│ │ │ ├── ConsumerBase.h
│ │ │ ├── CpuConsumer.h
│ │ │ ├── DisplayEventReceiver.h
│ │ │ ├── GLConsumer.h
│ │ │ ├── GraphicBufferAlloc.h
│ │ │ ├── GuiConfig.h
│ │ │ ├── IConsumerListener.h
│ │ │ ├── IDisplayEventConnection.h
│ │ │ ├── IGraphicBufferAlloc.h
│ │ │ ├── IGraphicBufferConsumer.h
│ │ │ ├── IGraphicBufferProducer.h
│ │ │ ├── IProducerListener.h
│ │ │ ├── ISensorEventConnection.h
│ │ │ ├── ISensorServer.h
│ │ │ ├── ISurfaceComposerClient.h
│ │ │ ├── ISurfaceComposer.h
│ │ │ ├── SensorEventQueue.h
│ │ │ ├── Sensor.h
│ │ │ ├── SensorManager.h
│ │ │ ├── StreamSplitter.h
│ │ │ ├── SurfaceComposerClient.h
│ │ │ ├── SurfaceControl.h
│ │ │ └── Surface.h
│ │ ├── input
│ │ │ ├── IInputFlinger.h
│ │ │ ├── InputDevice.h
│ │ │ ├── InputEventLabels.h
│ │ │ ├── Input.h
│ │ │ ├── InputTransport.h
│ │ │ ├── Keyboard.h
│ │ │ ├── KeyCharacterMap.h
│ │ │ ├── KeyLayoutMap.h
│ │ │ ├── VelocityControl.h
│ │ │ ├── VelocityTracker.h
│ │ │ └── VirtualKeyMap.h
│ │ ├── media
│ │ │ ├── drm
│ │ │ │ └── DrmAPI.h
│ │ │ ├── editor
│ │ │ │ └── II420ColorConverter.h
│ │ │ ├── hardware
│ │ │ │ ├── CryptoAPI.h
│ │ │ │ ├── HardwareAPI.h
│ │ │ │ ├── HDCPAPI.h
│ │ │ │ ├── MetadataBufferType.h
│ │ │ │ ├── OMXPluginBase.h
│ │ │ │ └── VideoAPI.h
│ │ │ └── openmax
│ │ │ ├── OMX_AsString.h
│ │ │ ├── OMX_AudioExt.h
│ │ │ ├── OMX_Audio.h
│ │ │ ├── OMX_Component.h
│ │ │ ├── OMX_ContentPipe.h
│ │ │ ├── OMX_Core.h
│ │ │ ├── OMX_Image.h
│ │ │ ├── OMX_IndexExt.h
│ │ │ ├── OMX_Index.h
│ │ │ ├── OMX_IVCommon.h
│ │ │ ├── OMX_Other.h
│ │ │ ├── OMX_Types.h
│ │ │ ├── OMX_VideoExt.h
│ │ │ └── OMX_Video.h
│ │ ├── powermanager
│ │ │ ├── IPowerManager.h
│ │ │ └── PowerManager.h
│ │ ├── private
│ │ │ ├── binder
│ │ │ │ ├── binder_module.h
│ │ │ │ └── Static.h
│ │ │ ├── gui
│ │ │ │ ├── ComposerService.h
│ │ │ │ ├── LayerState.h
│ │ │ │ └── SyncFeatures.h
│ │ │ └── ui
│ │ │ └── RegionHelper.h
│ │ └── ui
│ │ ├── ANativeObjectBase.h
│ │ ├── DisplayInfo.h
│ │ ├── DisplayStatInfo.h
│ │ ├── Fence.h
│ │ ├── FrameStats.h
│ │ ├── GraphicBufferAllocator.h
│ │ ├── GraphicBuffer.h
│ │ ├── GraphicBufferMapper.h
│ │ ├── HdrCapabilities.h
│ │ ├── mat4.h
│ │ ├── PixelFormat.h
│ │ ├── Point.h
│ │ ├── Rect.h
│ │ ├── Region.h
│ │ ├── TMatHelpers.h
│ │ ├── TVecHelpers.h
│ │ ├── UiConfig.h
│ │ ├── vec2.h
│ │ ├── vec3.h
│ │ └── vec4.h
│ ├── libnativehelper
│ │ ├── ALog-priv.h
│ │ ├── Android.mk
│ │ ├── AsynchronousCloseMonitor.cpp
│ │ ├── include
│ │ │ └── nativehelper
│ │ │ ├── AsynchronousCloseMonitor.h
│ │ │ ├── JniConstants.h
│ │ │ ├── jni.h
│ │ │ ├── JNIHelp.h
│ │ │ ├── JniInvocation.h
│ │ │ ├── ScopedBytes.h
│ │ │ ├── ScopedFd.h
│ │ │ ├── ScopedLocalFrame.h
│ │ │ ├── ScopedLocalRef.h
│ │ │ ├── ScopedPrimitiveArray.h
│ │ │ ├── ScopedStringChars.h
│ │ │ ├── ScopedUtfChars.h
│ │ │ ├── toStringArray.h
│ │ │ └── UniquePtr.h
│ │ ├── JniConstants.cpp
│ │ ├── JNIHelp.cpp
│ │ ├── JniInvocation.cpp
│ │ ├── MODULE_LICENSE_APACHE2
│ │ ├── NOTICE
│ │ ├── README
│ │ ├── tests
│ │ │ ├── Android.mk
│ │ │ └── JniInvocation_test.cpp
│ │ └── toStringArray.cpp
│ ├── Makefile
│ ├── patch
│ │ ├── 0001-patch-code.patch
│ │ ├── 0002-static-build.patch
│ │ └── 003-rewrite-parseResourceName.patch
│ ├── prebuilts
│ │ └── clang
│ │ └── host
│ │ └── darwin-x86
│ ├── README.md
│ ├── README.zh-cn.md
│ ├── system
│ │ └── core
│ │ ├── base
│ │ │ ├── Android.mk
│ │ │ ├── CPPLINT.cfg
│ │ │ ├── errors_test.cpp
│ │ │ ├── errors_unix.cpp
│ │ │ ├── errors_windows.cpp
│ │ │ ├── file.cpp
│ │ │ ├── file_test.cpp
│ │ │ ├── include
│ │ │ │ └── android-base
│ │ │ │ ├── errors.h
│ │ │ │ ├── file.h
│ │ │ │ ├── logging.h
│ │ │ │ ├── macros.h
│ │ │ │ ├── memory.h
│ │ │ │ ├── parseint.h
│ │ │ │ ├── parsenetaddress.h
│ │ │ │ ├── stringprintf.h
│ │ │ │ ├── strings.h
│ │ │ │ ├── test_utils.h
│ │ │ │ ├── thread_annotations.h
│ │ │ │ ├── unique_fd.h
│ │ │ │ └── utf8.h
│ │ │ ├── logging.cpp
│ │ │ ├── logging_test.cpp
│ │ │ ├── parseint_test.cpp
│ │ │ ├── parsenetaddress.cpp
│ │ │ ├── parsenetaddress_test.cpp
│ │ │ ├── stringprintf.cpp
│ │ │ ├── stringprintf_test.cpp
│ │ │ ├── strings.cpp
│ │ │ ├── strings_test.cpp
│ │ │ ├── test_main.cpp
│ │ │ ├── test_utils.cpp
│ │ │ ├── utf8.cpp
│ │ │ └── utf8_test.cpp
│ │ ├── include
│ │ │ ├── android
│ │ │ │ └── log.h
│ │ │ ├── backtrace
│ │ │ │ ├── backtrace_constants.h
│ │ │ │ ├── Backtrace.h
│ │ │ │ └── BacktraceMap.h
│ │ │ ├── binderwrapper
│ │ │ │ ├── binder_test_base.h
│ │ │ │ ├── binder_wrapper.h
│ │ │ │ └── stub_binder_wrapper.h
│ │ │ ├── cutils
│ │ │ │ ├── android_reboot.h
│ │ │ │ ├── ashmem.h
│ │ │ │ ├── atomic.h
│ │ │ │ ├── bitops.h
│ │ │ │ ├── compiler.h
│ │ │ │ ├── config_utils.h
│ │ │ │ ├── debugger.h
│ │ │ │ ├── fs.h
│ │ │ │ ├── hashmap.h
│ │ │ │ ├── iosched_policy.h
│ │ │ │ ├── jstring.h
│ │ │ │ ├── klog.h
│ │ │ │ ├── list.h
│ │ │ │ ├── log.h
│ │ │ │ ├── memory.h
│ │ │ │ ├── misc.h
│ │ │ │ ├── multiuser.h
│ │ │ │ ├── native_handle.h
│ │ │ │ ├── open_memstream.h
│ │ │ │ ├── partition_utils.h
│ │ │ │ ├── process_name.h
│ │ │ │ ├── properties.h
│ │ │ │ ├── qtaguid.h
│ │ │ │ ├── record_stream.h
│ │ │ │ ├── sched_policy.h
│ │ │ │ ├── sockets.h
│ │ │ │ ├── str_parms.h
│ │ │ │ ├── threads.h
│ │ │ │ ├── trace.h
│ │ │ │ └── uevent.h
│ │ │ ├── diskconfig
│ │ │ │ └── diskconfig.h
│ │ │ ├── log
│ │ │ │ ├── event_tag_map.h
│ │ │ │ ├── logd.h
│ │ │ │ ├── logger.h
│ │ │ │ ├── log.h
│ │ │ │ ├── logprint.h
│ │ │ │ ├── log_read.h
│ │ │ │ └── uio.h
│ │ │ ├── memtrack
│ │ │ │ └── memtrack.h
│ │ │ ├── mincrypt
│ │ │ │ ├── dsa_sig.h
│ │ │ │ ├── hash-internal.h
│ │ │ │ ├── p256_ecdsa.h
│ │ │ │ ├── p256.h
│ │ │ │ ├── rsa.h
│ │ │ │ ├── sha256.h
│ │ │ │ └── sha.h
│ │ │ ├── nativebridge
│ │ │ │ └── native_bridge.h
│ │ │ ├── netutils
│ │ │ │ └── ifc.h
│ │ │ ├── private
│ │ │ │ ├── android_filesystem_capability.h
│ │ │ │ ├── android_filesystem_config.h
│ │ │ │ ├── android_logger.h
│ │ │ │ └── canned_fs_config.h
│ │ │ ├── system
│ │ │ │ ├── camera.h
│ │ │ │ ├── graphics.h
│ │ │ │ ├── radio.h
│ │ │ │ ├── thread_defs.h
│ │ │ │ └── window.h
│ │ │ ├── sysutils
│ │ │ │ ├── FrameworkClient.h
│ │ │ │ ├── FrameworkCommand.h
│ │ │ │ ├── FrameworkListener.h
│ │ │ │ ├── List.h
│ │ │ │ ├── NetlinkEvent.h
│ │ │ │ ├── NetlinkListener.h
│ │ │ │ ├── ServiceManager.h
│ │ │ │ ├── SocketClientCommand.h
│ │ │ │ ├── SocketClient.h
│ │ │ │ └── SocketListener.h
│ │ │ ├── usbhost
│ │ │ │ └── usbhost.h
│ │ │ ├── utils
│ │ │ │ ├── AndroidThreads.h
│ │ │ │ ├── ashmem.h
│ │ │ │ ├── Atomic.h
│ │ │ │ ├── BitSet.h
│ │ │ │ ├── BlobCache.h
│ │ │ │ ├── ByteOrder.h
│ │ │ │ ├── CallStack.h
│ │ │ │ ├── Compat.h
│ │ │ │ ├── Condition.h
│ │ │ │ ├── Debug.h
│ │ │ │ ├── Endian.h
│ │ │ │ ├── Errors.h
│ │ │ │ ├── FileMap.h
│ │ │ │ ├── Flattenable.h
│ │ │ │ ├── Functor.h
│ │ │ │ ├── JenkinsHash.h
│ │ │ │ ├── KeyedVector.h
│ │ │ │ ├── LinearTransform.h
│ │ │ │ ├── List.h
│ │ │ │ ├── Log.h
│ │ │ │ ├── Looper.h
│ │ │ │ ├── LruCache.h
│ │ │ │ ├── misc.h
│ │ │ │ ├── Mutex.h
│ │ │ │ ├── NativeHandle.h
│ │ │ │ ├── Printer.h
│ │ │ │ ├── ProcessCallStack.h
│ │ │ │ ├── PropertyMap.h
│ │ │ │ ├── RefBase.h
│ │ │ │ ├── RWLock.h
│ │ │ │ ├── Singleton.h
│ │ │ │ ├── SortedVector.h
│ │ │ │ ├── StopWatch.h
│ │ │ │ ├── String16.h
│ │ │ │ ├── String8.h
│ │ │ │ ├── StrongPointer.h
│ │ │ │ ├── SystemClock.h
│ │ │ │ ├── ThreadDefs.h
│ │ │ │ ├── Thread.h
│ │ │ │ ├── threads.h
│ │ │ │ ├── Timers.h
│ │ │ │ ├── Tokenizer.h
│ │ │ │ ├── Trace.h
│ │ │ │ ├── TypeHelpers.h
│ │ │ │ ├── Unicode.h
│ │ │ │ ├── Vector.h
│ │ │ │ └── VectorImpl.h
│ │ │ └── ziparchive
│ │ │ ├── zip_archive.h
│ │ │ ├── zip_archive_stream_entry.h
│ │ │ └── zip_writer.h
│ │ ├── libcutils
│ │ │ ├── Android.mk
│ │ │ ├── android_reboot.c
│ │ │ ├── arch-arm
│ │ │ │ └── memset32.S
│ │ │ ├── arch-arm64
│ │ │ │ └── android_memset.S
│ │ │ ├── arch-mips
│ │ │ │ └── android_memset.c
│ │ │ ├── arch-x86
│ │ │ │ ├── android_memset16.S
│ │ │ │ ├── android_memset32.S
│ │ │ │ └── cache.h
│ │ │ ├── arch-x86_64
│ │ │ │ ├── android_memset16.S
│ │ │ │ ├── android_memset32.S
│ │ │ │ └── cache.h
│ │ │ ├── ashmem-dev.c
│ │ │ ├── ashmem-host.c
│ │ │ ├── atomic.c
│ │ │ ├── canned_fs_config.c
│ │ │ ├── config_utils.c
│ │ │ ├── debugger.c
│ │ │ ├── dlmalloc_stubs.c
│ │ │ ├── fs.c
│ │ │ ├── fs_config.c
│ │ │ ├── hashmap.c
│ │ │ ├── iosched_policy.c
│ │ │ ├── klog.c
│ │ │ ├── load_file.c
│ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ ├── multiuser.c
│ │ │ ├── native_handle.c
│ │ │ ├── NOTICE
│ │ │ ├── open_memstream.c
│ │ │ ├── partition_utils.c
│ │ │ ├── process_name.c
│ │ │ ├── properties.c
│ │ │ ├── qtaguid.c
│ │ │ ├── record_stream.c
│ │ │ ├── sched_policy.c
│ │ │ ├── socket_inaddr_any_server_unix.c
│ │ │ ├── socket_inaddr_any_server_windows.c
│ │ │ ├── socket_local_client_unix.c
│ │ │ ├── socket_local_server_unix.c
│ │ │ ├── socket_local_unix.h
│ │ │ ├── socket_loopback_client_unix.c
│ │ │ ├── socket_loopback_server_unix.c
│ │ │ ├── socket_network_client_unix.c
│ │ │ ├── socket_network_client_windows.c
│ │ │ ├── sockets.cpp
│ │ │ ├── sockets_unix.cpp
│ │ │ ├── sockets_windows.cpp
│ │ │ ├── strdup16to8.c
│ │ │ ├── strdup8to16.c
│ │ │ ├── strlcpy.c
│ │ │ ├── str_parms.c
│ │ │ ├── tests
│ │ │ │ ├── Android.mk
│ │ │ │ ├── MemsetTest.cpp
│ │ │ │ ├── PropertiesTest.cpp
│ │ │ │ └── test_str_parms.cpp
│ │ │ ├── threads.c
│ │ │ ├── trace-dev.c
│ │ │ ├── trace-host.c
│ │ │ └── uevent.c
│ │ ├── liblog
│ │ │ ├── Android.bp
│ │ │ ├── Android.mk
│ │ │ ├── config_read.c
│ │ │ ├── config_read.h
│ │ │ ├── config_write.c
│ │ │ ├── config_write.h
│ │ │ ├── event.logtags
│ │ │ ├── event_tag_map.c
│ │ │ ├── fake_log_device.c
│ │ │ ├── fake_log_device.h
│ │ │ ├── fake_writer.c
│ │ │ ├── logd_reader.c
│ │ │ ├── logd_writer.c
│ │ │ ├── log_event_list.c
│ │ │ ├── log_event_write.c
│ │ │ ├── logger.h
│ │ │ ├── logger_lock.c
│ │ │ ├── logger_name.c
│ │ │ ├── logger_read.c
│ │ │ ├── logger_write.c
│ │ │ ├── log_is_loggable.c
│ │ │ ├── log_portability.h
│ │ │ ├── logprint.c
│ │ │ ├── log_time.cpp
│ │ │ ├── NOTICE
│ │ │ ├── pmsg_reader.c
│ │ │ ├── pmsg_writer.c
│ │ │ ├── README
│ │ │ ├── tests
│ │ │ │ ├── Android.mk
│ │ │ │ ├── benchmark.h
│ │ │ │ ├── benchmark_main.cpp
│ │ │ │ ├── libc_test.cpp
│ │ │ │ ├── liblog_benchmark.cpp
│ │ │ │ └── liblog_test.cpp
│ │ │ └── uio.c
│ │ ├── libutils
│ │ │ ├── Android.mk
│ │ │ ├── BlobCache.cpp
│ │ │ ├── CallStack.cpp
│ │ │ ├── CleanSpec.mk
│ │ │ ├── FileMap.cpp
│ │ │ ├── JenkinsHash.cpp
│ │ │ ├── LinearTransform.cpp
│ │ │ ├── Log.cpp
│ │ │ ├── Looper.cpp
│ │ │ ├── misc.cpp
│ │ │ ├── MODULE_LICENSE_APACHE2
│ │ │ ├── NativeHandle.cpp
│ │ │ ├── NOTICE
│ │ │ ├── primes.py
│ │ │ ├── Printer.cpp
│ │ │ ├── ProcessCallStack.cpp
│ │ │ ├── PropertyMap.cpp
│ │ │ ├── README
│ │ │ ├── RefBase.cpp
│ │ │ ├── SharedBuffer.cpp
│ │ │ ├── SharedBuffer.h
│ │ │ ├── SharedBufferTest.cpp
│ │ │ ├── Static.cpp
│ │ │ ├── StopWatch.cpp
│ │ │ ├── String16.cpp
│ │ │ ├── String8.cpp
│ │ │ ├── SystemClock.cpp
│ │ │ ├── tests
│ │ │ │ ├── Android.mk
│ │ │ │ ├── BitSet_test.cpp
│ │ │ │ ├── BlobCache_test.cpp
│ │ │ │ ├── Looper_test.cpp
│ │ │ │ ├── LruCache_test.cpp
│ │ │ │ ├── String8_test.cpp
│ │ │ │ ├── StrongPointer_test.cpp
│ │ │ │ ├── TestHelpers.h
│ │ │ │ ├── Unicode_test.cpp
│ │ │ │ └── Vector_test.cpp
│ │ │ ├── Threads.cpp
│ │ │ ├── Timers.cpp
│ │ │ ├── Tokenizer.cpp
│ │ │ ├── Trace.cpp
│ │ │ ├── Unicode.cpp
│ │ │ └── VectorImpl.cpp
│ │ └── libziparchive
│ │ ├── Android.mk
│ │ ├── entry_name_utils-inl.h
│ │ ├── entry_name_utils_test.cc
│ │ ├── testdata
│ │ │ ├── bad_crc.zip
│ │ │ ├── declaredlength.zip
│ │ │ ├── large.zip
│ │ │ └── valid.zip
│ │ ├── zip_archive.cc
│ │ ├── zip_archive_common.h
│ │ ├── zip_archive_private.h
│ │ ├── zip_archive_stream_entry.cc
│ │ ├── zip_archive_test.cc
│ │ ├── zip_writer.cc
│ │ └── zip_writer_test.cc
│ └── UpdateAndroidSource.sh
├── atlas-aapt-old
│ └── frameworks
│ └── base
│ ├── include
│ │ └── androidfw
│ │ ├── AssetDir.h
│ │ ├── Asset.h
│ │ ├── AssetManager.h
│ │ ├── BackupHelpers.h
│ │ ├── ByteBucketArray.h
│ │ ├── CursorWindow.h
│ │ ├── misc.h
│ │ ├── ObbFile.h
│ │ ├── ResourcePackageId.h
│ │ ├── ResourceTypes.h
│ │ ├── StreamingZipInflater.h
│ │ ├── TypeWrappers.h
│ │ ├── ZipFileRO.h
│ │ └── ZipUtils.h
│ ├── libs
│ │ └── androidfw
│ │ ├── Android.mk
│ │ ├── Asset.cpp
│ │ ├── AssetDir.cpp
│ │ ├── AssetManager.cpp
│ │ ├── BackupData.cpp
│ │ ├── BackupHelpers.cpp
│ │ ├── CursorWindow.cpp
│ │ ├── misc.cpp
│ │ ├── MODULE_LICENSE_APACHE2
│ │ ├── NOTICE
│ │ ├── ObbFile.cpp
│ │ ├── ResourceTypes.cpp
│ │ ├── StreamingZipInflater.cpp
│ │ ├── tests
│ │ │ ├── Android.mk
│ │ │ ├── BackupData_test.cpp
│ │ │ ├── ByteBucketArray_test.cpp
│ │ │ ├── ConfigLocale_test.cpp
│ │ │ ├── Config_test.cpp
│ │ │ ├── data
│ │ │ │ ├── app
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── app_arsc.h
│ │ │ │ │ ├── res
│ │ │ │ │ │ └── values
│ │ │ │ │ │ └── values.xml
│ │ │ │ │ └── R.h
│ │ │ │ ├── basic
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── basic_arsc.h
│ │ │ │ │ ├── res
│ │ │ │ │ │ ├── layout
│ │ │ │ │ │ │ └── main.xml
│ │ │ │ │ │ ├── layout-fr-sw600dp
│ │ │ │ │ │ │ └── main.xml
│ │ │ │ │ │ ├── values
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ ├── values-de
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ ├── values-fr
│ │ │ │ │ │ │ └── values.xml
│ │ │ │ │ │ └── values-sv
│ │ │ │ │ │ └── values.xml
│ │ │ │ │ ├── R.h
│ │ │ │ │ └── split_de_fr_arsc.h
│ │ │ │ ├── feature
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── feature_arsc.h
│ │ │ │ │ └── res
│ │ │ │ │ └── values
│ │ │ │ │ └── values.xml
│ │ │ │ ├── lib
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── lib_arsc.h
│ │ │ │ │ ├── res
│ │ │ │ │ │ └── values
│ │ │ │ │ │ └── values.xml
│ │ │ │ │ └── R.h
│ │ │ │ ├── overlay
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ ├── overlay_arsc.h
│ │ │ │ │ └── res
│ │ │ │ │ └── values
│ │ │ │ │ └── values.xml
│ │ │ │ └── system
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── res
│ │ │ │ │ └── values
│ │ │ │ │ └── themes.xml
│ │ │ │ ├── R.h
│ │ │ │ └── system_arsc.h
│ │ │ ├── Idmap_test.cpp
│ │ │ ├── ObbFile_test.cpp
│ │ │ ├── ResTable_test.cpp
│ │ │ ├── Split_test.cpp
│ │ │ ├── TestHelpers.h
│ │ │ ├── Theme_test.cpp
│ │ │ ├── TypeWrappers_test.cpp
│ │ │ └── ZipUtils_test.cpp
│ │ ├── TypeWrappers.cpp
│ │ ├── ZipFileRO.cpp
│ │ └── ZipUtils.cpp
│ └── tools
│ └── aapt
│ ├── AaptAssets.cpp
│ ├── AaptAssets.h
│ ├── AaptConfig.cpp
│ ├── AaptConfig.h
│ ├── AaptUtil.cpp
│ ├── AaptUtil.h
│ ├── AaptXml.cpp
│ ├── AaptXml.h
│ ├── Android.mk
│ ├── ApkBuilder.cpp
│ ├── ApkBuilder.h
│ ├── Bundle.h
│ ├── CacheUpdater.h
│ ├── Command.cpp
│ ├── ConfigDescription.h
│ ├── CrunchCache.cpp
│ ├── CrunchCache.h
│ ├── DirectoryWalker.h
│ ├── FileFinder.cpp
│ ├── FileFinder.h
│ ├── Images.cpp
│ ├── Images.h
│ ├── IndentPrinter.h
│ ├── Main.cpp
│ ├── Main.h
│ ├── NOTICE
│ ├── OutputSet.h
│ ├── Package.cpp
│ ├── printapk.cpp
│ ├── pseudolocalize.cpp
│ ├── pseudolocalize.h
│ ├── qsort_r_compat.c
│ ├── qsort_r_compat.h
│ ├── Resource.cpp
│ ├── ResourceFilter.cpp
│ ├── ResourceFilter.h
│ ├── ResourceIdCache.cpp
│ ├── ResourceIdCache.h
│ ├── ResourceTable.cpp
│ ├── ResourceTable.h
│ ├── SourcePos.cpp
│ ├── SourcePos.h
│ ├── StringPool.cpp
│ ├── StringPool.h
│ ├── tests
│ │ ├── AaptConfig_test.cpp
│ │ ├── AaptGroupEntry_test.cpp
│ │ ├── CrunchCache_test.cpp
│ │ ├── FileFinder_test.cpp
│ │ ├── MockCacheUpdater.h
│ │ ├── MockDirectoryWalker.h
│ │ ├── MockFileFinder.h
│ │ ├── plurals
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── res
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── run.sh
│ │ ├── ResourceFilter_test.cpp
│ │ └── TestHelper.h
│ ├── WorkQueue.cpp
│ ├── WorkQueue.h
│ ├── XMLNode.cpp
│ ├── XMLNode.h
│ ├── ZipEntry.cpp
│ ├── ZipEntry.h
│ ├── ZipFile.cpp
│ └── ZipFile.h
├── atlas-core
│ ├── build.gradle
│ ├── gradle
│ │ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── libs
│ │ ├── armeabi
│ │ │ └── libdalvikpatch.so
│ │ ├── armeabi-v7a
│ │ │ └── libdalvikpatch.so
│ │ ├── mips
│ │ │ └── libdalvikpatch.so
│ │ └── x86
│ │ └── libdalvikpatch.so
│ ├── lint.xml
│ ├── proguard.cfg
│ ├── project.properties
│ ├── publish.sh
│ ├── README.md
│ ├── README.zh_cn.md
│ ├── settings.gradle
│ └── src
│ └── main
│ ├── aidl
│ │ └── android
│ │ ├── app
│ │ │ ├── IActivityManager
│ │ │ │ └── ContentProviderHolder.aidl
│ │ │ └── IServiceConnection.aidl
│ │ └── taobao
│ │ └── atlas
│ │ └── runtime
│ │ ├── ApplicationInitException.java
│ │ └── newcomponent
│ │ └── service
│ │ └── IDelegateBinder.aidl
│ ├── AndroidManifest.xml
│ ├── java
│ │ ├── android
│ │ │ ├── support
│ │ │ │ └── multidex
│ │ │ │ ├── DexElementsMaker.java
│ │ │ │ ├── DexElementsMethodInvokerV14.java
│ │ │ │ ├── DexElementsMethodInvokerV19.java
│ │ │ │ ├── IDexElementsMaker.java
│ │ │ │ ├── IDexElementsMethodInvoker.java
│ │ │ │ ├── MultiDexExtractor.java
│ │ │ │ ├── MultiDex.java
│ │ │ │ └── ZipUtil.java
│ │ │ └── taobao
│ │ │ └── atlas
│ │ │ ├── bridge
│ │ │ │ └── BridgeApplicationDelegate.java
│ │ │ ├── bundleInfo
│ │ │ │ ├── AtlasBundleInfoGenerator.java
│ │ │ │ ├── AtlasBundleInfoManager.java
│ │ │ │ ├── BundleListing.java
│ │ │ │ └── BundleListingUtil.java
│ │ │ ├── framework
│ │ │ │ ├── Atlas.java
│ │ │ │ ├── Framework.java
│ │ │ │ └── FrameworkProperties.java
│ │ │ ├── hack
│ │ │ │ ├── AndroidHack.java
│ │ │ │ ├── AssertionArrayException.java
│ │ │ │ ├── AtlasHacks.java
│ │ │ │ ├── Hack.java
│ │ │ │ └── Interception.java
│ │ │ ├── profile
│ │ │ │ └── AtlasProfile.java
│ │ │ ├── runtime
│ │ │ │ ├── ActivityLifeCycleObserver.java
│ │ │ │ ├── ActivityTaskMgr.java
│ │ │ │ ├── ApplicationInvoker.java
│ │ │ │ ├── AtlasPreLauncher.java
│ │ │ │ ├── BundleIniter.java
│ │ │ │ ├── FrameworkLifecycleHandler.java
│ │ │ │ ├── LowDiskException.java
│ │ │ │ └── RuntimeVariables.java
│ │ │ ├── startup
│ │ │ │ ├── AtlasBridgeApplication.java
│ │ │ │ ├── DexFileCompat.java
│ │ │ │ ├── KernalVersionManager.java
│ │ │ │ ├── NClassLoader.java
│ │ │ │ └── patch
│ │ │ │ ├── CombineDexMerger.java
│ │ │ │ ├── CombineDexVerifier.java
│ │ │ │ ├── KernalBundleArchive.java
│ │ │ │ ├── KernalBundle.java
│ │ │ │ ├── KernalConstants.java
│ │ │ │ ├── KernalFileLock.java
│ │ │ │ ├── PatchMerger.java
│ │ │ │ ├── PatchVerifier.java
│ │ │ │ └── releaser
│ │ │ │ ├── BundleReleaser.java
│ │ │ │ ├── DexReleaser.java
│ │ │ │ ├── PatchDexProfile.java
│ │ │ │ └── ReleaseType.java
│ │ │ ├── util
│ │ │ │ ├── ApkUtils.java
│ │ │ │ ├── AtlasFileLock.java
│ │ │ │ ├── BundleLock.java
│ │ │ │ ├── FileUtils.java
│ │ │ │ ├── IOUtil.java
│ │ │ │ ├── log
│ │ │ │ │ ├── IAlarmer.java
│ │ │ │ │ ├── ILog.java
│ │ │ │ │ ├── IMonitor.java
│ │ │ │ │ └── impl
│ │ │ │ │ ├── AtlasAlarmer.java
│ │ │ │ │ ├── AtlasLog.java
│ │ │ │ │ └── AtlasMonitor.java
│ │ │ │ ├── RefectUtils.java
│ │ │ │ ├── SoLoader.java
│ │ │ │ ├── StringUtils.java
│ │ │ │ └── WrapperUtil.java
│ │ │ └── versionInfo
│ │ │ └── BaselineInfoManager.java
│ │ └── org
│ │ └── osgi
│ │ └── framework
│ │ ├── BundleEvent.java
│ │ ├── BundleException.java
│ │ ├── Bundle.java
│ │ ├── BundleListener.java
│ │ ├── Constants.java
│ │ ├── FrameworkEvent.java
│ │ ├── FrameworkListener.java
│ │ └── SynchronousBundleListener.java
│ └── res
│ ├── drawable
│ │ └── atlas_waitview.xml
│ ├── layout
│ │ └── atlas_progress.xml
│ └── values
│ └── style_atlas.xml
├── atlas-demo
│ ├── AtlasDemo
│ │ ├── activitygroupcompat
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── android
│ │ │ │ ├── ActivityGroupDelegate.java
│ │ │ │ └── LocalActivityManager.java
│ │ │ └── res
│ │ │ └── values
│ │ │ └── strings.xml
│ │ ├── app
│ │ │ ├── build.gradle
│ │ │ ├── dexPatchWraper.gradle
│ │ │ ├── jd-gui.cfg
│ │ │ ├── proguard-rules.pro
│ │ │ ├── push_dexpatch_out.sh
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── demo
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ ├── demo
│ │ │ │ │ ├── databind
│ │ │ │ │ │ ├── DataBundleAarActivity.java
│ │ │ │ │ │ └── User.java
│ │ │ │ │ ├── DemoApplication.java
│ │ │ │ │ ├── DemoPreLaunch.java
│ │ │ │ │ ├── MainActivity.java
│ │ │ │ │ ├── MyContentProvider.java
│ │ │ │ │ ├── RemoteDemoActivity.java
│ │ │ │ │ └── UpdateDemoActivity.java
│ │ │ │ └── update
│ │ │ │ └── Updater.java
│ │ │ └── res
│ │ │ ├── drawable
│ │ │ │ ├── ic_dashboard_black_24dp.xml
│ │ │ │ ├── ic_home_black_24dp.xml
│ │ │ │ ├── ic_notifications_black_24dp.xml
│ │ │ │ └── side_nav_bar.xml
│ │ │ ├── drawable-xxxhdpi
│ │ │ │ └── logo.png
│ │ │ ├── layout
│ │ │ │ ├── aar_databind_main.xml
│ │ │ │ ├── activity_main.xml
│ │ │ │ ├── activity_navigation.xml
│ │ │ │ ├── activity_scrolling.xml
│ │ │ │ ├── activity_update.xml
│ │ │ │ ├── app_bar_main.xml
│ │ │ │ ├── content_main.xml
│ │ │ │ ├── content_navigation_main.xml
│ │ │ │ ├── content_scrolling.xml
│ │ │ │ ├── guild_remote_bundle.xml
│ │ │ │ └── nav_header_main.xml
│ │ │ ├── menu
│ │ │ │ ├── activity_main_drawer.xml
│ │ │ │ ├── main.xml
│ │ │ │ └── navigation.xml
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ └── values
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── main_style.xml
│ │ │ └── strings.xml
│ │ ├── AwoForBundle.txt
│ │ ├── AwoForHost.txt
│ │ ├── build.gradle
│ │ ├── databindbundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── databindbundle
│ │ │ │ └── databind
│ │ │ │ ├── DataBundleSampleActivity.java
│ │ │ │ └── User.java
│ │ │ └── res
│ │ │ ├── layout
│ │ │ │ └── bundle_databind_main.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ ├── databindinglibrary
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── databinding
│ │ │ │ └── library
│ │ │ │ ├── DataBingAarActivity.java
│ │ │ │ └── User.java
│ │ │ └── res
│ │ │ └── layout
│ │ │ └── aar_databind.xml
│ │ ├── firstbundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── firstbundle
│ │ │ │ ├── FirstBundleActivity.java
│ │ │ │ ├── FirstBundleService.java
│ │ │ │ ├── fragment
│ │ │ │ │ ├── BlankFragment.java
│ │ │ │ │ ├── DummyContent.java
│ │ │ │ │ ├── ItemFragment.java
│ │ │ │ │ └── MyItemRecyclerViewAdapter.java
│ │ │ │ └── UseremoteActivity.java
│ │ │ └── res
│ │ │ ├── layout
│ │ │ │ ├── activity_firstbundle.xml
│ │ │ │ ├── activity_useremote.xml
│ │ │ │ ├── activity_web_view.xml
│ │ │ │ ├── fragment_blank.xml
│ │ │ │ ├── fragment_item_list.xml
│ │ │ │ └── fragment_item.xml
│ │ │ └── values
│ │ │ └── strings.xml
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── lottie
│ │ │ ├── build.gradle
│ │ │ ├── gradle.properties
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── airbnb
│ │ │ │ └── lottie
│ │ │ │ ├── AnimatableColorValue.java
│ │ │ │ ├── AnimatableFloatValue.java
│ │ │ │ ├── AnimatableIntegerValue.java
│ │ │ │ ├── AnimatablePathValue.java
│ │ │ │ ├── AnimatablePointValue.java
│ │ │ │ ├── AnimatableScaleValue.java
│ │ │ │ ├── AnimatableShapeValue.java
│ │ │ │ ├── AnimatableSplitDimensionPathValue.java
│ │ │ │ ├── AnimatableTransform.java
│ │ │ │ ├── AnimatableValue.java
│ │ │ │ ├── AnimatableValueParser.java
│ │ │ │ ├── BaseAnimatableValue.java
│ │ │ │ ├── BaseKeyframeAnimation.java
│ │ │ │ ├── BaseLayer.java
│ │ │ │ ├── BitmapCanvas.java
│ │ │ │ ├── Cancellable.java
│ │ │ │ ├── CanvasPool.java
│ │ │ │ ├── CircleShape.java
│ │ │ │ ├── ColorFactory.java
│ │ │ │ ├── ColorKeyframeAnimation.java
│ │ │ │ ├── CompositionLayer.java
│ │ │ │ ├── CompositionLoader.java
│ │ │ │ ├── ContentGroup.java
│ │ │ │ ├── Content.java
│ │ │ │ ├── CubicCurveData.java
│ │ │ │ ├── DrawingContent.java
│ │ │ │ ├── EllipseContent.java
│ │ │ │ ├── FileCompositionLoader.java
│ │ │ │ ├── FillContent.java
│ │ │ │ ├── FloatKeyframeAnimation.java
│ │ │ │ ├── GammaEvaluator.java
│ │ │ │ ├── ImageAssetBitmapManager.java
│ │ │ │ ├── ImageAssetDelegate.java
│ │ │ │ ├── ImageLayer.java
│ │ │ │ ├── IntegerKeyframeAnimation.java
│ │ │ │ ├── JsonCompositionLoader.java
│ │ │ │ ├── JsonUtils.java
│ │ │ │ ├── KeyframeAnimation.java
│ │ │ │ ├── Keyframe.java
│ │ │ │ ├── Layer.java
│ │ │ │ ├── L.java
│ │ │ │ ├── LottieAnimationView.java
│ │ │ │ ├── LottieComposition.java
│ │ │ │ ├── LottieDrawable.java
│ │ │ │ ├── LottieImageAsset.java
│ │ │ │ ├── Mask.java
│ │ │ │ ├── MaskKeyframeAnimation.java
│ │ │ │ ├── MergePathsContent.java
│ │ │ │ ├── MergePaths.java
│ │ │ │ ├── MiscUtils.java
│ │ │ │ ├── ModifierContent.java
│ │ │ │ ├── NullLayer.java
│ │ │ │ ├── OnCompositionLoadedListener.java
│ │ │ │ ├── PathContent.java
│ │ │ │ ├── PathKeyframeAnimation.java
│ │ │ │ ├── PathKeyframe.java
│ │ │ │ ├── PointFFactory.java
│ │ │ │ ├── PointKeyframeAnimation.java
│ │ │ │ ├── PolystarContent.java
│ │ │ │ ├── PolystarShape.java
│ │ │ │ ├── RectangleContent.java
│ │ │ │ ├── RectangleShape.java
│ │ │ │ ├── ScaleKeyframeAnimation.java
│ │ │ │ ├── ScaleXY.java
│ │ │ │ ├── ShapeContent.java
│ │ │ │ ├── ShapeData.java
│ │ │ │ ├── ShapeFill.java
│ │ │ │ ├── ShapeGroup.java
│ │ │ │ ├── ShapeKeyframeAnimation.java
│ │ │ │ ├── ShapeLayer.java
│ │ │ │ ├── ShapePath.java
│ │ │ │ ├── ShapeStroke.java
│ │ │ │ ├── ShapeTrimPath.java
│ │ │ │ ├── SolidLayer.java
│ │ │ │ ├── SplitDimensionPathKeyframeAnimation.java
│ │ │ │ ├── StaticKeyframeAnimation.java
│ │ │ │ ├── StrokeContent.java
│ │ │ │ ├── TransformKeyframeAnimation.java
│ │ │ │ ├── TrimPathContent.java
│ │ │ │ └── Utils.java
│ │ │ └── res
│ │ │ └── values
│ │ │ ├── attrs.xml
│ │ │ └── ids.xml
│ │ ├── middlewarelibrary
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── middleware
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ ├── middleware
│ │ │ │ │ │ └── dialog
│ │ │ │ │ │ ├── ButtonFlat.java
│ │ │ │ │ │ ├── Button.java
│ │ │ │ │ │ ├── CustomView.java
│ │ │ │ │ │ ├── Dialog.java
│ │ │ │ │ │ └── Utils.java
│ │ │ │ │ └── taobao
│ │ │ │ │ └── middleware
│ │ │ │ │ ├── dummy
│ │ │ │ │ │ └── DummyContent.java
│ │ │ │ │ ├── ICaculator.java
│ │ │ │ │ ├── ItemDetailActivity.java
│ │ │ │ │ ├── ItemDetailFragment.java
│ │ │ │ │ ├── ItemListActivity.java
│ │ │ │ │ └── StringUtil.java
│ │ │ │ └── res
│ │ │ │ ├── anim
│ │ │ │ │ ├── dialog_main_hide_amination.xml
│ │ │ │ │ ├── dialog_main_show_amination.xml
│ │ │ │ │ ├── dialog_root_hide_amin.xml
│ │ │ │ │ └── dialog_root_show_amin.xml
│ │ │ │ ├── drawable
│ │ │ │ │ └── background_transparent.xml
│ │ │ │ ├── drawable-xxhdpi
│ │ │ │ │ └── dialog_background.9.png
│ │ │ │ ├── layout
│ │ │ │ │ ├── activity_item_detail.xml
│ │ │ │ │ ├── activity_item_list.xml
│ │ │ │ │ ├── item_detail.xml
│ │ │ │ │ ├── item_list_content.xml
│ │ │ │ │ ├── item_list.xml
│ │ │ │ │ └── update_dialog.xml
│ │ │ │ ├── layout-w900dp
│ │ │ │ │ └── item_list.xml
│ │ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── middleware
│ │ │ └── ExampleUnitTest.java
│ │ ├── publicbundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── publicBundle
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ └── taobao
│ │ │ │ │ └── publicBundle
│ │ │ │ │ └── Tools.java
│ │ │ │ └── res
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── publicBundle
│ │ │ └── ExampleUnitTest.java
│ │ ├── README.md
│ │ ├── remotebundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── remotebunle
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ └── taobao
│ │ │ │ │ └── remotebunle
│ │ │ │ │ └── RemoteBundleActivity.java
│ │ │ │ └── res
│ │ │ │ ├── layout
│ │ │ │ │ └── activity_remote_bundle.xml
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── remotebunle
│ │ │ └── ExampleUnitTest.java
│ │ ├── secondbundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ └── taobao
│ │ │ │ │ └── secondbundle
│ │ │ │ │ ├── MyRichView.java
│ │ │ │ │ ├── PlusOneFragment.java
│ │ │ │ │ ├── SecondBundleActivity.java
│ │ │ │ │ ├── SecondBundleApplication.java
│ │ │ │ │ ├── SecondBundleFragment.java
│ │ │ │ │ └── SecondBundleIniter.java
│ │ │ │ └── res
│ │ │ │ ├── layout
│ │ │ │ │ ├── activity_secondbundle.xml
│ │ │ │ │ ├── fragment_plus_one.xml
│ │ │ │ │ └── test_layout.xml
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── secondbundle
│ │ │ └── ExampleUnitTest.java
│ │ ├── secondbundlelibrary
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── secondbundlelibrary
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ └── taobao
│ │ │ │ │ └── secondbundlelibrary
│ │ │ │ │ └── SecondbundleShareActivity.java
│ │ │ │ └── res
│ │ │ │ ├── layout
│ │ │ │ │ └── activity_secondbundle_share.xml
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── secondbundlelibrary
│ │ │ └── ExampleUnitTest.java
│ │ ├── settings.gradle
│ │ ├── splashscreen
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── splashscreen
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── assets
│ │ │ │ │ ├── A.json
│ │ │ │ │ ├── L.json
│ │ │ │ │ ├── S.json
│ │ │ │ │ └── T.json
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ ├── airbnb
│ │ │ │ │ │ └── lottiesplash
│ │ │ │ │ │ └── LottieFontViewGroup.java
│ │ │ │ │ └── taobao
│ │ │ │ │ └── splashscreen
│ │ │ │ │ └── WelcomeActivity.java
│ │ │ │ └── res
│ │ │ │ ├── layout
│ │ │ │ │ └── activity_welcome.xml
│ │ │ │ └── values
│ │ │ │ ├── attrs.xml
│ │ │ │ ├── colors.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── splashscreen
│ │ │ └── ExampleUnitTest.java
│ │ ├── structor.md
│ │ └── Tpatch.txt
│ ├── img
│ │ ├── apk目录.png
│ │ ├── appfirstbundlepatch.png
│ │ ├── appremotebundle.png
│ │ ├── apptoast.png
│ │ ├── app动态部署.png
│ │ ├── buildgradle.png
│ │ ├── dictionary.png
│ │ ├── _firstbundlepatch.png
│ │ ├── firstbundlepatch.png
│ │ ├── mainactivitynav.png
│ │ ├── mainactivityoncreate.png
│ │ ├── manifest.png
│ │ ├── structer.png
│ │ ├── toast.png
│ │ └── welcomepostcreate.png
│ ├── IncrementAtlasDemo
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── increment_app
│ │ │ ├── build.gradle
│ │ │ └── src
│ │ │ └── main
│ │ │ └── AndroidManifest.xml
│ │ └── settings.gradle
│ ├── multi-feature-module
│ │ ├── base
│ │ │ ├── build.gradle
│ │ │ └── src
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── android
│ │ │ │ └── unsplash
│ │ │ │ ├── data
│ │ │ │ │ ├── model
│ │ │ │ │ │ └── Photo.java
│ │ │ │ │ ├── PhotoService.java
│ │ │ │ │ └── UnsplashService.java
│ │ │ │ ├── IntentUtil.kt
│ │ │ │ ├── test.kt
│ │ │ │ ├── transition
│ │ │ │ │ └── TextResize.java
│ │ │ │ └── ui
│ │ │ │ ├── DetailSharedElementEnterCallback.java
│ │ │ │ ├── ForegroundImageView.java
│ │ │ │ ├── grid
│ │ │ │ │ ├── GridMarginDecoration.java
│ │ │ │ │ ├── OnItemSelectedListener.java
│ │ │ │ │ ├── PhotoAdapter.java
│ │ │ │ │ └── PhotoViewHolder.java
│ │ │ │ ├── ImageSize.java
│ │ │ │ ├── pager
│ │ │ │ │ └── DetailViewPagerAdapter.java
│ │ │ │ ├── ThreeTwoImageView.java
│ │ │ │ └── TransitionCallback.java
│ │ │ └── res
│ │ │ ├── animator
│ │ │ │ └── raise.xml
│ │ │ ├── drawable
│ │ │ │ ├── grey_ripple.xml
│ │ │ │ └── ic_arrow_back.xml
│ │ │ ├── layout
│ │ │ │ ├── detail_view.xml
│ │ │ │ └── photo_item.xml
│ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── transition
│ │ │ │ ├── grid_exit.xml
│ │ │ │ ├── grid_reenter.xml
│ │ │ │ └── shared_main_detail.xml
│ │ │ └── values
│ │ │ ├── attrs_foreground_view.xml
│ │ │ ├── colors.xml
│ │ │ ├── dimens.xml
│ │ │ ├── ids.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ ├── build.gradle
│ │ ├── detail
│ │ │ ├── build.gradle
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── android
│ │ │ │ └── unsplash
│ │ │ │ └── DetailActivityTest.java
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── android
│ │ │ │ └── unsplash
│ │ │ │ └── DetailActivity.java
│ │ │ └── res
│ │ │ ├── drawable
│ │ │ │ └── page_margin.xml
│ │ │ └── layout
│ │ │ └── activity_detail.xml
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── installed
│ │ │ ├── build.gradle
│ │ │ └── src
│ │ │ └── main
│ │ │ └── AndroidManifest.xml
│ │ ├── instant
│ │ │ └── build.gradle
│ │ ├── LICENSE
│ │ ├── main
│ │ │ ├── build.gradle
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── android
│ │ │ │ └── unsplash
│ │ │ │ └── MainActivityTest.java
│ │ │ └── main
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── android
│ │ │ │ └── unsplash
│ │ │ │ └── MainActivity.java
│ │ │ └── res
│ │ │ └── layout
│ │ │ └── activity_main.xml
│ │ ├── NOTICE
│ │ ├── proguard.pro
│ │ ├── README.md
│ │ └── settings.gradle
│ ├── MyApplication
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ └── gradlew
│ ├── README.md
│ └── 基于版本打包的demo
│ ├── app
│ │ ├── activitygroupdelegate
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taoboa
│ │ │ │ └── activitygroupdelegate
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── res
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taoboa
│ │ │ └── activitygroupdelegate
│ │ │ └── ExampleUnitTest.java
│ │ ├── buildApk.sh
│ │ ├── build.gradle
│ │ ├── buildTpatch.sh
│ │ ├── firstbundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── firstbundle
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ └── taobao
│ │ │ │ │ └── firstbundle
│ │ │ │ │ └── MainActivity.java
│ │ │ │ └── res
│ │ │ │ ├── drawable
│ │ │ │ │ ├── ic_dashboard_black_24dp.xml
│ │ │ │ │ ├── ic_home_black_24dp.xml
│ │ │ │ │ └── ic_notifications_black_24dp.xml
│ │ │ │ ├── layout
│ │ │ │ │ └── activity_main.xml
│ │ │ │ ├── menu
│ │ │ │ │ └── navigation.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── firstbundle
│ │ │ └── ExampleUnitTest.java
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ ├── proguard.cfg
│ │ ├── secondbundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── secondbundle
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── java
│ │ │ │ │ └── com
│ │ │ │ │ └── taobao
│ │ │ │ │ └── secondbundle
│ │ │ │ │ └── LoginActivity.java
│ │ │ │ └── res
│ │ │ │ ├── layout
│ │ │ │ │ └── activity_login.xml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── secondbundle
│ │ │ └── ExampleUnitTest.java
│ │ ├── settings.gradle
│ │ ├── sharebundle
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── taobao
│ │ │ │ └── sharebundle
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── res
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── sharebundle
│ │ │ └── ExampleUnitTest.java
│ │ ├── sharedlibrary
│ │ │ ├── build.gradle
│ │ │ ├── proguard-rules.pro
│ │ │ └── src
│ │ │ ├── androidTest
│ │ │ │ └── java
│ │ │ │ └── taobao
│ │ │ │ └── sharedlibrary
│ │ │ │ └── ExampleInstrumentedTest.java
│ │ │ ├── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── res
│ │ │ │ └── values
│ │ │ │ └── strings.xml
│ │ │ └── test
│ │ │ └── java
│ │ │ └── taobao
│ │ │ └── sharedlibrary
│ │ │ └── ExampleUnitTest.java
│ │ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── demo
│ │ │ ├── DemoApplication.java
│ │ │ ├── update
│ │ │ │ └── Updater.java
│ │ │ └── WelcomActivity.java
│ │ └── res
│ │ ├── drawable
│ │ │ └── app_launcher.png
│ │ ├── layout
│ │ │ └── main.xml
│ │ └── values
│ │ ├── colors.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── build.gradle
│ ├── FirstBundle
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradlew
│ │ ├── gradlew.bat
│ │ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── firstbundle
│ │ │ ├── FirstBundleActivity.java
│ │ │ └── FirstBundleApplication.java
│ │ └── res
│ │ ├── layout
│ │ │ └── first_main.xml
│ │ └── values
│ │ └── strings.xml
│ ├── gradle
│ │ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── README.md
│ ├── README.zh_cn.md
│ └── settings.gradle
├── atlas-docs
│ ├── _book
│ │ ├── code_read
│ │ │ ├── atlas_bundle_load
│ │ │ │ ├── atlas_bundle_load.html
│ │ │ │ ├── bundle_load_img.svg
│ │ │ │ ├── bundle_load_part_2_img.svg
│ │ │ │ ├── bundle_load_part_2.uml
│ │ │ │ └── bundle_load.uml
│ │ │ ├── atlas_gradle_apk
│ │ │ │ ├── atlas_apk_gradle.png
│ │ │ │ ├── atlas_atlas_gradle_apk.html
│ │ │ │ ├── atlas_bundle_position.png
│ │ │ │ ├── atlas_dex_pkg.png
│ │ │ │ ├── atlas_dex_secondbundle.png
│ │ │ │ └── atlas_manifest.png
│ │ │ └── atlas_start
│ │ │ ├── atlas_application_demo.png
│ │ │ ├── atlas_core_start_callback.uml
│ │ │ ├── atlas_core_start_img.svg
│ │ │ ├── atlas_core_start_provider_img.svg
│ │ │ ├── atlas_core_start_provider.uml
│ │ │ ├── atlas_core_start.uml
│ │ │ ├── atlas_framework_property.svg
│ │ │ ├── atlas_java_startup_img.svg
│ │ │ ├── atlas_java_startup.uml
│ │ │ ├── atlas_manifest_application.png
│ │ │ ├── atlas_meta_data.png
│ │ │ ├── atlas_start_1.html
│ │ │ └── atlas_start_2.html
│ │ ├── dingtalk.png
│ │ ├── faq
│ │ │ ├── dynamic_failed_help.html
│ │ │ ├── dynamic_help_img
│ │ │ │ └── unit_tag_list.png
│ │ │ ├── help.html
│ │ │ ├── help_img
│ │ │ │ ├── multidex.png
│ │ │ │ ├── reject.png
│ │ │ │ └── vfy.png
│ │ │ ├── question.html
│ │ │ └── variant.html
│ │ ├── gitbook
│ │ │ ├── fonts
│ │ │ │ └── fontawesome
│ │ │ │ ├── FontAwesome.otf
│ │ │ │ ├── fontawesome-webfont.eot
│ │ │ │ ├── fontawesome-webfont.svg
│ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ ├── fontawesome-webfont.woff
│ │ │ │ └── fontawesome-webfont.woff2
│ │ │ ├── gitbook.js
│ │ │ ├── gitbook-plugin-fontsettings
│ │ │ │ ├── fontsettings.js
│ │ │ │ └── website.css
│ │ │ ├── gitbook-plugin-highlight
│ │ │ │ ├── ebook.css
│ │ │ │ └── website.css
│ │ │ ├── gitbook-plugin-livereload
│ │ │ │ └── plugin.js
│ │ │ ├── gitbook-plugin-lunr
│ │ │ │ ├── lunr.min.js
│ │ │ │ └── search-lunr.js
│ │ │ ├── gitbook-plugin-search
│ │ │ │ ├── lunr.min.js
│ │ │ │ ├── search.css
│ │ │ │ ├── search-engine.js
│ │ │ │ └── search.js
│ │ │ ├── gitbook-plugin-sharing
│ │ │ │ └── buttons.js
│ │ │ ├── images
│ │ │ │ ├── apple-touch-icon-precomposed-152.png
│ │ │ │ └── favicon.ico
│ │ │ ├── style.css
│ │ │ └── theme.js
│ │ ├── guide-for-use
│ │ │ ├── bundleCommunicate.html
│ │ │ ├── class-relation.png
│ │ │ ├── fragment-relation.png
│ │ │ ├── fragment-start.png
│ │ │ ├── guide_for_build.html
│ │ │ ├── guide_for_bundle.html
│ │ │ ├── guide_for_compile.html
│ │ │ ├── guide_img
│ │ │ │ ├── bundlebaseinfo.png
│ │ │ │ └── packageId.png
│ │ │ └── index.html
│ │ ├── img
│ │ │ ├── atlas_dev.svg
│ │ │ ├── atlas_runtime_maintenance.svg
│ │ │ └── relation.png
│ │ ├── index.html
│ │ ├── principle-intro
│ │ │ ├── Apk_architecture.html
│ │ │ ├── File_architecture_runtime.html
│ │ │ ├── Project_architectured.html
│ │ │ ├── Project_architectured_img
│ │ │ │ ├── apk_struct.png
│ │ │ │ ├── bundle_cycle.png
│ │ │ │ ├── bundleinfo.png
│ │ │ │ ├── class_find.png
│ │ │ │ ├── classloader.png
│ │ │ │ ├── large_project.png
│ │ │ │ ├── manifest.png
│ │ │ │ ├── middle_project.png
│ │ │ │ ├── relation.png
│ │ │ │ ├── resources.png
│ │ │ │ ├── runtime.png
│ │ │ │ ├── runtime_struct.png
│ │ │ │ └── small_project.png
│ │ │ └── Runtime_principle.html
│ │ ├── search_index.json
│ │ └── update
│ │ ├── dexpatch.html
│ │ ├── dexpatch_use_guide.html
│ │ ├── guide.html
│ │ ├── img
│ │ │ ├── art_maindex_merge.png
│ │ │ ├── base_dump.png
│ │ │ ├── bundle_merge.png
│ │ │ ├── dexpatch_build_output.png
│ │ │ ├── dex_patch_edit.png
│ │ │ ├── dexpatch.png
│ │ │ ├── dexpatch_result.png
│ │ │ ├── dexpatch_ui_click.png
│ │ │ ├── maindex_load.png
│ │ │ ├── patch_dump.png
│ │ │ ├── patch_file.png
│ │ │ ├── patch_json.png
│ │ │ ├── pathclassloader.png
│ │ │ ├── res_patch.png
│ │ │ └── verify.png
│ │ ├── index.html
│ │ └── principle.html
│ ├── code_read
│ │ ├── atlas_bundle_load
│ │ │ ├── atlas_bundle_load.md
│ │ │ ├── bundle_load_img.svg
│ │ │ ├── bundle_load_part_2_img.svg
│ │ │ ├── bundle_load_part_2.uml
│ │ │ └── bundle_load.uml
│ │ ├── atlas_gradle_apk
│ │ │ ├── atlas_apk_gradle.png
│ │ │ ├── atlas_atlas_gradle_apk.md
│ │ │ ├── atlas_bundle_position.png
│ │ │ ├── atlas_dex_pkg.png
│ │ │ ├── atlas_dex_secondbundle.png
│ │ │ └── atlas_manifest.png
│ │ └── atlas_start
│ │ ├── atlas_application_demo.png
│ │ ├── atlas_core_start_callback.uml
│ │ ├── atlas_core_start_img.svg
│ │ ├── atlas_core_start_provider_img.svg
│ │ ├── atlas_core_start_provider.uml
│ │ ├── atlas_core_start.uml
│ │ ├── atlas_framework_property.svg
│ │ ├── atlas_java_startup_img.svg
│ │ ├── atlas_java_startup.uml
│ │ ├── atlas_manifest_application.png
│ │ ├── atlas_meta_data.png
│ │ ├── atlas_start_1.md
│ │ └── atlas_start_2.md
│ ├── dingtalk.png
│ ├── faq
│ │ ├── dynamic_failed_help.md
│ │ ├── dynamic_help_img
│ │ │ └── unit_tag_list.png
│ │ ├── help_img
│ │ │ ├── multidex.png
│ │ │ ├── reject.png
│ │ │ └── vfy.png
│ │ ├── help.md
│ │ ├── question.md
│ │ └── variant.md
│ ├── guide-for-use
│ │ ├── _book
│ │ │ ├── bundleCommunicate.md
│ │ │ ├── class-relation.png
│ │ │ ├── fragment-relation.png
│ │ │ ├── fragment-start.png
│ │ │ ├── gitbook
│ │ │ │ ├── fonts
│ │ │ │ │ └── fontawesome
│ │ │ │ │ ├── FontAwesome.otf
│ │ │ │ │ ├── fontawesome-webfont.eot
│ │ │ │ │ ├── fontawesome-webfont.svg
│ │ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ │ ├── fontawesome-webfont.woff
│ │ │ │ │ └── fontawesome-webfont.woff2
│ │ │ │ ├── gitbook.js
│ │ │ │ ├── gitbook-plugin-fontsettings
│ │ │ │ │ ├── fontsettings.js
│ │ │ │ │ └── website.css
│ │ │ │ ├── gitbook-plugin-highlight
│ │ │ │ │ ├── ebook.css
│ │ │ │ │ └── website.css
│ │ │ │ ├── gitbook-plugin-livereload
│ │ │ │ │ └── plugin.js
│ │ │ │ ├── gitbook-plugin-lunr
│ │ │ │ │ ├── lunr.min.js
│ │ │ │ │ └── search-lunr.js
│ │ │ │ ├── gitbook-plugin-search
│ │ │ │ │ ├── lunr.min.js
│ │ │ │ │ ├── search.css
│ │ │ │ │ ├── search-engine.js
│ │ │ │ │ └── search.js
│ │ │ │ ├── gitbook-plugin-sharing
│ │ │ │ │ └── buttons.js
│ │ │ │ ├── images
│ │ │ │ │ ├── apple-touch-icon-precomposed-152.png
│ │ │ │ │ └── favicon.ico
│ │ │ │ ├── style.css
│ │ │ │ └── theme.js
│ │ │ ├── guide_for_build.md
│ │ │ ├── guide_for_bundle.md
│ │ │ ├── guide_for_compile.md
│ │ │ ├── guide_img
│ │ │ │ ├── bundlebaseinfo.png
│ │ │ │ └── packageId.png
│ │ │ ├── index.html
│ │ │ └── search_index.json
│ │ ├── bundleCommunicate.md
│ │ ├── class-relation.png
│ │ ├── fragment-relation.png
│ │ ├── fragment-start.png
│ │ ├── guide_for_build.md
│ │ ├── guide_for_bundle.md
│ │ ├── guide_for_compile.md
│ │ ├── guide_for_progurad.md
│ │ ├── guide_img
│ │ │ ├── bundlebaseinfo.png
│ │ │ └── packageId.png
│ │ └── README.md
│ ├── img
│ │ ├── atlas_dev.svg
│ │ ├── atlas_runtime_maintenance.svg
│ │ └── relation.png
│ ├── principle-intro
│ │ ├── Apk_architecture.md
│ │ ├── File_architecture_runtime.md
│ │ ├── Project_architectured_img
│ │ │ ├── apk_struct.png
│ │ │ ├── bundle_cycle.png
│ │ │ ├── bundleinfo.png
│ │ │ ├── class_find.png
│ │ │ ├── classloader.png
│ │ │ ├── large_project.png
│ │ │ ├── manifest.png
│ │ │ ├── middle_project.png
│ │ │ ├── relation.png
│ │ │ ├── resources.png
│ │ │ ├── runtime.png
│ │ │ ├── runtime_struct.png
│ │ │ └── small_project.png
│ │ ├── Project_architectured.md
│ │ └── Runtime_principle.md
│ ├── README.md
│ ├── SUMMARY.md
│ └── update
│ ├── dexpatch.md
│ ├── dexpatch_use_guide.md
│ ├── guide.md
│ ├── img
│ │ ├── art_maindex_merge.png
│ │ ├── base_dump.png
│ │ ├── bundle_merge.png
│ │ ├── dexpatch_build_output.png
│ │ ├── dex_patch_edit.png
│ │ ├── dexpatch.png
│ │ ├── dexpatch_result.png
│ │ ├── dexpatch_ui_click.png
│ │ ├── maindex_load.png
│ │ ├── patch_dump.png
│ │ ├── patch_file.png
│ │ ├── patch_json.png
│ │ ├── pathclassloader.png
│ │ ├── res_patch.png
│ │ └── verify.png
│ ├── principle.md
│ └── README.md
├── atlas-gradle-plugin
│ ├── aapt
│ │ ├── build.gradle
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ └── android
│ │ │ └── AaptLib.java
│ │ └── resources
│ │ └── aapt
│ │ ├── linux
│ │ │ └── aapt
│ │ ├── mac
│ │ │ └── aapt
│ │ └── win
│ │ └── aapt.exe
│ ├── atlas-plugin
│ │ ├── atlas-plugin.iml
│ │ ├── build
│ │ │ └── resources
│ │ │ └── main
│ │ │ └── META-INF
│ │ │ └── gradle-plugins
│ │ │ ├── com.taobao.atlas.feature.properties
│ │ │ └── com.taobao.atlas.instantapp.properties
│ │ ├── build.gradle
│ │ ├── increment.sh
│ │ ├── libs
│ │ │ └── libarsc.jar
│ │ ├── publish.sh
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ ├── android
│ │ │ │ │ │ └── aapt
│ │ │ │ │ │ └── pb
│ │ │ │ │ │ └── internal
│ │ │ │ │ │ └── ResourcesInternal.java
│ │ │ │ │ ├── com
│ │ │ │ │ │ ├── android
│ │ │ │ │ │ │ ├── aapt
│ │ │ │ │ │ │ │ └── Resources.java
│ │ │ │ │ │ │ ├── build
│ │ │ │ │ │ │ │ └── gradle
│ │ │ │ │ │ │ │ ├── internal
│ │ │ │ │ │ │ │ │ ├── AndroidComponent.java
│ │ │ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ │ │ │ ├── ApContext.java
│ │ │ │ │ │ │ │ │ │ ├── ApkFiles.java
│ │ │ │ │ │ │ │ │ │ ├── AppVariantContext.java
│ │ │ │ │ │ │ │ │ │ ├── AppVariantOutputContext.java
│ │ │ │ │ │ │ │ │ │ ├── AwbTransform.java
│ │ │ │ │ │ │ │ │ │ ├── FeatureVariantContext.java
│ │ │ │ │ │ │ │ │ │ ├── LibVariantContext.java
│ │ │ │ │ │ │ │ │ │ └── VariantContext.java
│ │ │ │ │ │ │ │ │ ├── ApkDataUtils.java
│ │ │ │ │ │ │ │ │ ├── AtlasDependencyManager2.java
│ │ │ │ │ │ │ │ │ ├── AtlasDependencyManager.java
│ │ │ │ │ │ │ │ │ ├── ide
│ │ │ │ │ │ │ │ │ │ ├── AtlasAndroidLibraryImpl.java
│ │ │ │ │ │ │ │ │ │ ├── AtlasDependencyGraph.java
│ │ │ │ │ │ │ │ │ │ └── DependencyConvertUtils.java
│ │ │ │ │ │ │ │ │ ├── incremental
│ │ │ │ │ │ │ │ │ │ ├── TBConstructorRedirection.java
│ │ │ │ │ │ │ │ │ │ ├── TBIncrementalChangeVisitor.java
│ │ │ │ │ │ │ │ │ │ ├── TBIncrementalSupportVisitor.java
│ │ │ │ │ │ │ │ │ │ ├── TBIncrementalVisitor.java
│ │ │ │ │ │ │ │ │ │ └── TBMethodRedirection.java
│ │ │ │ │ │ │ │ │ ├── pipeline
│ │ │ │ │ │ │ │ │ │ ├── AtlasExtendedContentType.java
│ │ │ │ │ │ │ │ │ │ ├── AtlasIncrementalFileMergeTransformUtils.java
│ │ │ │ │ │ │ │ │ │ ├── AtlasIntermediateFolderUtils.java
│ │ │ │ │ │ │ │ │ │ ├── AtlasIntermediateStreamHelper.java
│ │ │ │ │ │ │ │ │ │ ├── InjectTransform.java
│ │ │ │ │ │ │ │ │ │ └── InjectTransformManager.java
│ │ │ │ │ │ │ │ │ ├── publishing
│ │ │ │ │ │ │ │ │ │ └── AtlasAndroidArtifacts.java
│ │ │ │ │ │ │ │ │ ├── scope
│ │ │ │ │ │ │ │ │ │ └── ConventionMappingHelper.java
│ │ │ │ │ │ │ │ │ └── transforms
│ │ │ │ │ │ │ │ │ ├── ApTransform.java
│ │ │ │ │ │ │ │ │ ├── ExtractApTransform.java
│ │ │ │ │ │ │ │ │ ├── ExtractAwbTransform.java
│ │ │ │ │ │ │ │ │ ├── ExtractSolibTransform.java
│ │ │ │ │ │ │ │ │ ├── LoadSolibFromLibsTransform.java
│ │ │ │ │ │ │ │ │ └── LoadSolibTransform.java
│ │ │ │ │ │ │ │ └── tasks
│ │ │ │ │ │ │ │ ├── factory
│ │ │ │ │ │ │ │ │ └── AwbAndroidJavaCompile.java
│ │ │ │ │ │ │ │ └── PackageAwb.java
│ │ │ │ │ │ │ ├── builder
│ │ │ │ │ │ │ │ └── core
│ │ │ │ │ │ │ │ ├── AtlasAapt.java
│ │ │ │ │ │ │ │ └── AtlasBuilder.java
│ │ │ │ │ │ │ ├── ide
│ │ │ │ │ │ │ │ └── common
│ │ │ │ │ │ │ │ └── process
│ │ │ │ │ │ │ │ ├── CmdExecutor.java
│ │ │ │ │ │ │ │ ├── MtlProcessExecutor.java
│ │ │ │ │ │ │ │ ├── MtlProcessInfoBuilder.java
│ │ │ │ │ │ │ │ └── MtlProcessInfo.java
│ │ │ │ │ │ │ └── tools
│ │ │ │ │ │ │ └── r8
│ │ │ │ │ │ │ ├── AtlasD8DexArchiveBuilder.java
│ │ │ │ │ │ │ ├── AtlasD8.java
│ │ │ │ │ │ │ ├── AtlasD8Merger.java
│ │ │ │ │ │ │ └── dex
│ │ │ │ │ │ │ ├── AtlasApplicationWriter.java
│ │ │ │ │ │ │ └── AtlasVirtualFile.java
│ │ │ │ │ │ └── taobao
│ │ │ │ │ │ └── android
│ │ │ │ │ │ └── builder
│ │ │ │ │ │ ├── adapter
│ │ │ │ │ │ │ ├── AppVariantContextFactory.java
│ │ │ │ │ │ │ ├── AtlasExtensionFactory.java
│ │ │ │ │ │ │ └── BuilderAdapter.java
│ │ │ │ │ │ ├── AtlasAppPlugin.java
│ │ │ │ │ │ ├── AtlasBasePlugin.java
│ │ │ │ │ │ ├── AtlasBuildContext.java
│ │ │ │ │ │ ├── AtlasFeaturePlugin.java
│ │ │ │ │ │ ├── AtlasInstantAppPlugin.java
│ │ │ │ │ │ ├── AtlasLibPlugin.java
│ │ │ │ │ │ ├── AtlasMainDexHelper.java
│ │ │ │ │ │ ├── AtlasPlugin.java
│ │ │ │ │ │ ├── dependency
│ │ │ │ │ │ │ ├── ap
│ │ │ │ │ │ │ │ └── ApDependency.java
│ │ │ │ │ │ │ ├── AtlasDependencyTree.java
│ │ │ │ │ │ │ ├── AtlasProjectDependencyManager.java
│ │ │ │ │ │ │ ├── diff
│ │ │ │ │ │ │ │ ├── DependencyCompareUtils.java
│ │ │ │ │ │ │ │ └── DependencyDiff.java
│ │ │ │ │ │ │ ├── model
│ │ │ │ │ │ │ │ ├── ApkLibrary.java
│ │ │ │ │ │ │ │ ├── ApLibrary.java
│ │ │ │ │ │ │ │ ├── AwbBundle.java
│ │ │ │ │ │ │ │ └── SoLibrary.java
│ │ │ │ │ │ │ ├── output
│ │ │ │ │ │ │ │ └── DependencyJson.java
│ │ │ │ │ │ │ └── parser
│ │ │ │ │ │ │ ├── AtlasDepHelper.java
│ │ │ │ │ │ │ ├── AtlasDepTreeParser.java
│ │ │ │ │ │ │ ├── CircleDependencyCheck.java
│ │ │ │ │ │ │ ├── DependencyLocationManager.java
│ │ │ │ │ │ │ ├── helper
│ │ │ │ │ │ │ │ ├── DependencyGroup.java
│ │ │ │ │ │ │ │ └── DependencyResolver.java
│ │ │ │ │ │ │ └── ResolvedDependencyInfo.java
│ │ │ │ │ │ ├── extension
│ │ │ │ │ │ │ ├── annotation
│ │ │ │ │ │ │ │ ├── ConfigGroup.java
│ │ │ │ │ │ │ │ └── Config.java
│ │ │ │ │ │ │ ├── AtlasExtension.java
│ │ │ │ │ │ │ ├── BundleConfig.java
│ │ │ │ │ │ │ ├── DefaultChannelConfig.java
│ │ │ │ │ │ │ ├── DexConfig.java
│ │ │ │ │ │ │ ├── EnhanceConfig.java
│ │ │ │ │ │ │ ├── factory
│ │ │ │ │ │ │ │ ├── DefaultChannelConfigFactory.java
│ │ │ │ │ │ │ │ ├── DexConfigFactory.java
│ │ │ │ │ │ │ │ ├── EnhanceConfigFactory.java
│ │ │ │ │ │ │ │ ├── MultiDexConfigFactory.java
│ │ │ │ │ │ │ │ ├── PatchConfigFactory.java
│ │ │ │ │ │ │ │ └── TBuildTypeFactory.java
│ │ │ │ │ │ │ ├── ManifestOptions.java
│ │ │ │ │ │ │ ├── MultiDexConfig.java
│ │ │ │ │ │ │ ├── PatchConfig.java
│ │ │ │ │ │ │ ├── TBuildConfig.java
│ │ │ │ │ │ │ └── TBuildType.java
│ │ │ │ │ │ ├── hook
│ │ │ │ │ │ │ ├── AppPluginHook.java
│ │ │ │ │ │ │ └── dex
│ │ │ │ │ │ │ ├── AtlasD8Creator.java
│ │ │ │ │ │ │ ├── AtlasDexArchiveMerger.java
│ │ │ │ │ │ │ ├── DexArchiveMergerHook.java
│ │ │ │ │ │ │ ├── DexByteCodeConverterHook.java
│ │ │ │ │ │ │ ├── DexWrapperHook.java
│ │ │ │ │ │ │ ├── DirDexArchiveHook.java
│ │ │ │ │ │ │ └── NonIncrementalJarDexArchiveHook.java
│ │ │ │ │ │ ├── insant
│ │ │ │ │ │ │ ├── DelegateProguardTransform.java
│ │ │ │ │ │ │ ├── InstantInfo.java
│ │ │ │ │ │ │ ├── matcher
│ │ │ │ │ │ │ │ ├── AllMatcher.java
│ │ │ │ │ │ │ │ ├── ClassMatcher.java
│ │ │ │ │ │ │ │ ├── ExcludeMatcher.java
│ │ │ │ │ │ │ │ ├── Imatcher.java
│ │ │ │ │ │ │ │ ├── ImplementsMatcher.java
│ │ │ │ │ │ │ │ ├── MatcherCreator.java
│ │ │ │ │ │ │ │ ├── NoMatcher.java
│ │ │ │ │ │ │ │ ├── PackageMatcher.java
│ │ │ │ │ │ │ │ ├── SeveralExcludeMatcher.java
│ │ │ │ │ │ │ │ └── SubPackgeMatcher.java
│ │ │ │ │ │ │ ├── TaobaoExtractJarsTransform.java
│ │ │ │ │ │ │ ├── TaobaoInstantRunDependenciesApkBuilder.java
│ │ │ │ │ │ │ ├── TaobaoInstantRunDex.java
│ │ │ │ │ │ │ ├── TaobaoInstantRunSlicer.java
│ │ │ │ │ │ │ ├── TaobaoInstantRunTransform.java
│ │ │ │ │ │ │ └── visitor
│ │ │ │ │ │ │ ├── ModifyClassVisitor.java
│ │ │ │ │ │ │ ├── ModifyFieldVisitor.java
│ │ │ │ │ │ │ └── ModifyMethodVisitor.java
│ │ │ │ │ │ ├── manager
│ │ │ │ │ │ │ ├── AtlasAppTaskManager.java
│ │ │ │ │ │ │ ├── AtlasBaseTaskManager.java
│ │ │ │ │ │ │ ├── AtlasConfigurationHelper.java
│ │ │ │ │ │ │ ├── AtlasFeatureTaskManager.java
│ │ │ │ │ │ │ ├── AtlasLibTaskManager.java
│ │ │ │ │ │ │ ├── PluginManager.java
│ │ │ │ │ │ │ └── Version.java
│ │ │ │ │ │ ├── tasks
│ │ │ │ │ │ │ ├── app
│ │ │ │ │ │ │ │ ├── ApBuildTask.java
│ │ │ │ │ │ │ │ ├── BuildAtlasEnvTask.java
│ │ │ │ │ │ │ │ ├── bundle
│ │ │ │ │ │ │ │ │ ├── actions
│ │ │ │ │ │ │ │ │ │ ├── FirstApkAction.java
│ │ │ │ │ │ │ │ │ │ ├── LastApkAction.java
│ │ │ │ │ │ │ │ │ │ └── LastBundleAction.java
│ │ │ │ │ │ │ │ │ ├── AtlasSymbolIo.java
│ │ │ │ │ │ │ │ │ ├── AwbApkPackageTask.java
│ │ │ │ │ │ │ │ │ ├── AwbJavaCompileConfigAction.java
│ │ │ │ │ │ │ │ │ ├── AwbPackagingScope.java
│ │ │ │ │ │ │ │ │ ├── Dex.java
│ │ │ │ │ │ │ │ │ ├── JavacAwbsTask.java
│ │ │ │ │ │ │ │ │ ├── PackageAwbsTask.java
│ │ │ │ │ │ │ │ │ ├── ProcessAwbAndroidResources.java
│ │ │ │ │ │ │ │ │ └── ProcessResAwbsTask.java
│ │ │ │ │ │ │ │ ├── databinding
│ │ │ │ │ │ │ │ │ ├── AwbDataBindingExportBuildInfoTask.java
│ │ │ │ │ │ │ │ │ ├── AwbDataBindingMergeArtifactsTask.java
│ │ │ │ │ │ │ │ │ ├── AwbDataBindingProcessLayoutTask.java
│ │ │ │ │ │ │ │ │ ├── AwbDataBindingRenameTask.java
│ │ │ │ │ │ │ │ │ └── AwbXmlProcessor.java
│ │ │ │ │ │ │ │ ├── GenerateAtlasSourceTask.java
│ │ │ │ │ │ │ │ ├── LogDependenciesTask.java
│ │ │ │ │ │ │ │ ├── manifest
│ │ │ │ │ │ │ │ │ ├── PostProcessManifestAction.java
│ │ │ │ │ │ │ │ │ ├── PreProcessManifestAction.java
│ │ │ │ │ │ │ │ │ └── StandardizeLibManifestTask.java
│ │ │ │ │ │ │ │ ├── merge
│ │ │ │ │ │ │ │ │ ├── AppendMainArtifactsCollection.java
│ │ │ │ │ │ │ │ │ ├── bundle
│ │ │ │ │ │ │ │ │ │ ├── AwbDataBindingProcessLayoutsTask.java
│ │ │ │ │ │ │ │ │ │ ├── MergeAwbAssets.java
│ │ │ │ │ │ │ │ │ │ └── MergeAwbResource.java
│ │ │ │ │ │ │ │ │ ├── MainArtifactsCollection.java
│ │ │ │ │ │ │ │ │ ├── MainFilesCollection.java
│ │ │ │ │ │ │ │ │ ├── MergeAssetAwbsConfigAction.java
│ │ │ │ │ │ │ │ │ ├── MergeAwbsJniFolder.java
│ │ │ │ │ │ │ │ │ ├── MergeManifestAwbsConfigAction.java
│ │ │ │ │ │ │ │ │ ├── MergeResAwbsConfigAction.java
│ │ │ │ │ │ │ │ │ ├── MergeResV4Dir.java
│ │ │ │ │ │ │ │ │ └── MergeSoLibTask.java
│ │ │ │ │ │ │ │ ├── prepare
│ │ │ │ │ │ │ │ │ ├── AddLocalJarTask.java
│ │ │ │ │ │ │ │ │ ├── BundleInfoSourceCreator.java
│ │ │ │ │ │ │ │ │ ├── PrepareAaptTask.java
│ │ │ │ │ │ │ │ │ ├── PrepareBundleInfoTask.java
│ │ │ │ │ │ │ │ │ └── PreparePackageIdsTask.java
│ │ │ │ │ │ │ │ ├── ResourcePatch.java
│ │ │ │ │ │ │ │ └── ScanDupResTask.java
│ │ │ │ │ │ │ ├── awo
│ │ │ │ │ │ │ │ └── utils
│ │ │ │ │ │ │ │ └── AwoInstaller.java
│ │ │ │ │ │ │ ├── execution
│ │ │ │ │ │ │ │ └── SkipExecuter.java
│ │ │ │ │ │ │ ├── feature
│ │ │ │ │ │ │ │ ├── FeatureLibManifestTask.java
│ │ │ │ │ │ │ │ └── PrePareFeatureTask.java
│ │ │ │ │ │ │ ├── helper
│ │ │ │ │ │ │ │ └── AtlasListTask.java
│ │ │ │ │ │ │ ├── instantapp
│ │ │ │ │ │ │ │ └── AtlasBundleInstantApp.java
│ │ │ │ │ │ │ ├── library
│ │ │ │ │ │ │ │ ├── AndroidComponetCreator.java
│ │ │ │ │ │ │ │ ├── AwbGenerator.java
│ │ │ │ │ │ │ │ ├── JarExtractTask.java
│ │ │ │ │ │ │ │ ├── ModuleInfoWriter.java
│ │ │ │ │ │ │ │ └── publish
│ │ │ │ │ │ │ │ ├── PublishHooker.java
│ │ │ │ │ │ │ │ └── UpdatePomTask.java
│ │ │ │ │ │ │ ├── manager
│ │ │ │ │ │ │ │ ├── AbstractBundleTask.java
│ │ │ │ │ │ │ │ ├── MtlBaseTaskAction.java
│ │ │ │ │ │ │ │ ├── MtlParallelTask.java
│ │ │ │ │ │ │ │ ├── MtlTaskContext.java
│ │ │ │ │ │ │ │ ├── MtlTaskFactoryImpl.java
│ │ │ │ │ │ │ │ ├── MtlTaskFactory.java
│ │ │ │ │ │ │ │ ├── MtlTaskInjector.java
│ │ │ │ │ │ │ │ ├── TaskCreater.java
│ │ │ │ │ │ │ │ ├── TaskQueryHelper.java
│ │ │ │ │ │ │ │ └── transform
│ │ │ │ │ │ │ │ ├── MtlInjectTransform.java
│ │ │ │ │ │ │ │ ├── MtlTransformContext.java
│ │ │ │ │ │ │ │ ├── MtlTransformInjector.java
│ │ │ │ │ │ │ │ └── TransformManager.java
│ │ │ │ │ │ │ ├── maven
│ │ │ │ │ │ │ │ └── PublishToMavenRepositoryHook.java
│ │ │ │ │ │ │ ├── PrepareAPTask.java
│ │ │ │ │ │ │ ├── tpatch
│ │ │ │ │ │ │ │ ├── DiffBundleInfoTask.java
│ │ │ │ │ │ │ │ ├── PackageTPatchConfigAction.java
│ │ │ │ │ │ │ │ ├── TPatchDiffApkBuildTask.java
│ │ │ │ │ │ │ │ ├── TPatchDiffResAPBuildTask.java
│ │ │ │ │ │ │ │ └── TPatchTask.java
│ │ │ │ │ │ │ └── transform
│ │ │ │ │ │ │ ├── AtlasDataBindingMergeArtifactsTransform.java
│ │ │ │ │ │ │ ├── AtlasDesugarTransform.java
│ │ │ │ │ │ │ ├── AtlasFixStackFramesTransform.java
│ │ │ │ │ │ │ ├── AtlasMergeJavaResourcesTransform.java
│ │ │ │ │ │ │ ├── AtlasProguardTransform.java
│ │ │ │ │ │ │ ├── AtlasTransformUtils.java
│ │ │ │ │ │ │ ├── ClassInjectTransform.java
│ │ │ │ │ │ │ ├── dex
│ │ │ │ │ │ │ │ ├── AtlasDexArchiveBuilderCacheHander.java
│ │ │ │ │ │ │ │ ├── AtlasDexArchiveBuilderTransform.java
│ │ │ │ │ │ │ │ ├── AtlasDexMerger.java
│ │ │ │ │ │ │ │ ├── AtlasDexMergerTransform.java
│ │ │ │ │ │ │ │ ├── AtlasMainDexMerger.java
│ │ │ │ │ │ │ │ ├── AtlasMultiDexListTransform.java
│ │ │ │ │ │ │ │ ├── AwbDexsMerger.java
│ │ │ │ │ │ │ │ └── DexMergeTransformCallable.java
│ │ │ │ │ │ │ ├── ResourcesShrinker.java
│ │ │ │ │ │ │ └── TransformReplacer.java
│ │ │ │ │ │ └── tools
│ │ │ │ │ │ ├── asm
│ │ │ │ │ │ │ ├── ClassNameRenamer.java
│ │ │ │ │ │ │ ├── ClazzBasicHandler.java
│ │ │ │ │ │ │ ├── ClazzReplacer.java
│ │ │ │ │ │ │ ├── field
│ │ │ │ │ │ │ │ ├── AsmFieldEditor.java
│ │ │ │ │ │ │ │ ├── Field.java
│ │ │ │ │ │ │ │ └── ModifyClassVisiter.java
│ │ │ │ │ │ │ ├── method
│ │ │ │ │ │ │ │ ├── Method.java
│ │ │ │ │ │ │ │ ├── MethodReplaceClazzVisitor.java
│ │ │ │ │ │ │ │ ├── MethodReplaceMethodVisitor.java
│ │ │ │ │ │ │ │ └── MethodStore.java
│ │ │ │ │ │ │ └── MethodReplacer.java
│ │ │ │ │ │ ├── BuildHelper.java
│ │ │ │ │ │ ├── bundleinfo
│ │ │ │ │ │ │ ├── ApkFileListUtils.java
│ │ │ │ │ │ │ ├── BundleGraphExecutor.java
│ │ │ │ │ │ │ ├── BundleInfoUtils.java
│ │ │ │ │ │ │ ├── BundleItem.java
│ │ │ │ │ │ │ ├── BundleItemRunner.java
│ │ │ │ │ │ │ ├── DynamicBundleInfo.java
│ │ │ │ │ │ │ └── model
│ │ │ │ │ │ │ ├── BasicBundleInfo.java
│ │ │ │ │ │ │ └── BundleInfo.java
│ │ │ │ │ │ ├── cache
│ │ │ │ │ │ │ ├── Cache.java
│ │ │ │ │ │ │ ├── FileCacheCenter.java
│ │ │ │ │ │ │ ├── FileCacheException.java
│ │ │ │ │ │ │ ├── FileLockUtils.java
│ │ │ │ │ │ │ ├── SimpleLocalCache.java
│ │ │ │ │ │ │ └── SimpleNetworkCache.java
│ │ │ │ │ │ ├── classinject
│ │ │ │ │ │ │ ├── ApkInjectInfoCreator.java
│ │ │ │ │ │ │ ├── ClazzInjecter.java
│ │ │ │ │ │ │ ├── CodeInjectByJavassist.java
│ │ │ │ │ │ │ ├── FrameworkProperties.java
│ │ │ │ │ │ │ └── InjectParam.java
│ │ │ │ │ │ ├── command
│ │ │ │ │ │ │ ├── CommandExecutor.java
│ │ │ │ │ │ │ └── ExecutionException.java
│ │ │ │ │ │ ├── concurrent
│ │ │ │ │ │ │ └── ExecutorServicesHelper.java
│ │ │ │ │ │ ├── diff
│ │ │ │ │ │ │ └── DiffResExtractor.java
│ │ │ │ │ │ ├── EnvHelper.java
│ │ │ │ │ │ ├── FileNameUtils.java
│ │ │ │ │ │ ├── groovy
│ │ │ │ │ │ │ └── ClosureFactory.java
│ │ │ │ │ │ ├── guide
│ │ │ │ │ │ │ ├── AtlasConfigField.java
│ │ │ │ │ │ │ ├── AtlasConfigHelper.java
│ │ │ │ │ │ │ └── AtlasExtensionOutput.java
│ │ │ │ │ │ ├── ideaplugin
│ │ │ │ │ │ │ ├── ApDownloader.java
│ │ │ │ │ │ │ └── AwoPropHandler.java
│ │ │ │ │ │ ├── jarmerge
│ │ │ │ │ │ │ └── JarMergerWithOverride.java
│ │ │ │ │ │ ├── JarUtils.java
│ │ │ │ │ │ ├── log
│ │ │ │ │ │ │ ├── FileLogger.java
│ │ │ │ │ │ │ └── LogOutputListener.java
│ │ │ │ │ │ ├── manifest
│ │ │ │ │ │ │ ├── AtlasProxy.java
│ │ │ │ │ │ │ ├── ManifestFileUtils.java
│ │ │ │ │ │ │ ├── ManifestHelper.java
│ │ │ │ │ │ │ ├── ManifestInfo.java
│ │ │ │ │ │ │ ├── Permission.java
│ │ │ │ │ │ │ └── Result.java
│ │ │ │ │ │ ├── MD5Util.java
│ │ │ │ │ │ ├── multidex
│ │ │ │ │ │ │ ├── dex
│ │ │ │ │ │ │ │ ├── DexGroup.java
│ │ │ │ │ │ │ │ ├── DexMerger.java
│ │ │ │ │ │ │ │ └── FileComparator.java
│ │ │ │ │ │ │ ├── FastMultiDexer.java
│ │ │ │ │ │ │ └── mutli
│ │ │ │ │ │ │ ├── JarRefactor.java
│ │ │ │ │ │ │ ├── MainDexLister.java
│ │ │ │ │ │ │ ├── MappingReaderProcess.java
│ │ │ │ │ │ │ └── NameComparator.java
│ │ │ │ │ │ ├── OSUtils.java
│ │ │ │ │ │ ├── PathUtil.java
│ │ │ │ │ │ ├── PluginTypeUtils.java
│ │ │ │ │ │ ├── process
│ │ │ │ │ │ │ └── ApkProcessor.java
│ │ │ │ │ │ ├── Profiler.java
│ │ │ │ │ │ ├── proguard
│ │ │ │ │ │ │ ├── AtlasProguardHelper.java
│ │ │ │ │ │ │ ├── AwbProguardConfiguration.java
│ │ │ │ │ │ │ ├── BundleProguarder.java
│ │ │ │ │ │ │ ├── domain
│ │ │ │ │ │ │ │ ├── Input.java
│ │ │ │ │ │ │ │ └── Result.java
│ │ │ │ │ │ │ ├── dump
│ │ │ │ │ │ │ │ ├── AbstractClasslVisitor.java
│ │ │ │ │ │ │ │ ├── BundleProguardDumper.java
│ │ │ │ │ │ │ │ ├── ClassDetailVisitor.java
│ │ │ │ │ │ │ │ ├── ClassStructVisitor.java
│ │ │ │ │ │ │ │ ├── ClazzRefInfoContainer.java
│ │ │ │ │ │ │ │ ├── ClazzRefInfo.java
│ │ │ │ │ │ │ │ ├── KeepConverter.java
│ │ │ │ │ │ │ │ ├── utils
│ │ │ │ │ │ │ │ │ └── ReflectUtils.java
│ │ │ │ │ │ │ │ └── VisitorDTO.java
│ │ │ │ │ │ │ ├── KeepOnlyConfigurationParser.java
│ │ │ │ │ │ │ └── ProGuardPercentPrinter.java
│ │ │ │ │ │ ├── ReflectUtils.java
│ │ │ │ │ │ ├── sign
│ │ │ │ │ │ │ ├── AndroidSigner.java
│ │ │ │ │ │ │ ├── LocalSignedJarBuilder.java
│ │ │ │ │ │ │ └── LocalSignHelper.java
│ │ │ │ │ │ ├── solib
│ │ │ │ │ │ │ ├── NativeSoFilter.java
│ │ │ │ │ │ │ └── NativeSoUtils.java
│ │ │ │ │ │ ├── TransformInputUtils.java
│ │ │ │ │ │ ├── VersionUtils.java
│ │ │ │ │ │ ├── xml
│ │ │ │ │ │ │ └── XmlHelper.java
│ │ │ │ │ │ ├── zip
│ │ │ │ │ │ │ ├── BetterZip.java
│ │ │ │ │ │ │ ├── FileMkUtils.java
│ │ │ │ │ │ │ └── ZipUtils.java
│ │ │ │ │ │ └── zipalign
│ │ │ │ │ │ └── ZipAlignUtils.java
│ │ │ │ │ └── proguard
│ │ │ │ │ ├── AtlasProguardConstants.java
│ │ │ │ │ └── io
│ │ │ │ │ └── JarWriter.java
│ │ │ │ └── resources
│ │ │ │ └── META-INF
│ │ │ │ └── gradle-plugins
│ │ │ │ ├── com.taobao.atlas.application.properties
│ │ │ │ ├── com.taobao.atlas.dexpatch.properties
│ │ │ │ ├── com.taobao.atlas.feature.properties
│ │ │ │ ├── com.taobao.atlas.instantapp.properties
│ │ │ │ ├── com.taobao.atlas.library.properties
│ │ │ │ └── com.taobao.atlas.properties
│ │ │ └── test
│ │ │ ├── java
│ │ │ │ ├── com
│ │ │ │ │ └── taobao
│ │ │ │ │ ├── asm
│ │ │ │ │ │ ├── AsmExample.java
│ │ │ │ │ │ ├── AsmFieldTest.java
│ │ │ │ │ │ ├── AsmTest.java
│ │ │ │ │ │ └── Config.java
│ │ │ │ │ └── atlas
│ │ │ │ │ ├── bundle
│ │ │ │ │ │ └── BundleDependenyTest.java
│ │ │ │ │ ├── cache
│ │ │ │ │ │ └── FileLockTest.java
│ │ │ │ │ ├── dex
│ │ │ │ │ │ └── FastDexMergeTest.java
│ │ │ │ │ └── manifest
│ │ │ │ │ ├── ManifestHelperTest.java
│ │ │ │ │ └── ManifestTest.java
│ │ │ │ └── proguard
│ │ │ │ └── KeepOnlyConfigurationParserTest.java
│ │ │ └── resources
│ │ │ ├── AndroidManifest2.xml
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── bundleInfoList.json
│ │ │ └── log4j.properties
│ │ ├── test.sh
│ │ └── todo.txt
│ ├── build.gradle
│ ├── dexpatch
│ │ ├── build.gradle
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ ├── gradle-wrapper.jar
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradlew
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ ├── android
│ │ │ │ └── content
│ │ │ │ └── res
│ │ │ │ ├── AXMLResource.java
│ │ │ │ ├── chunk
│ │ │ │ │ ├── AttributeType.java
│ │ │ │ │ ├── ChunkType.java
│ │ │ │ │ ├── ChunkUtil.java
│ │ │ │ │ ├── PoolItem.java
│ │ │ │ │ ├── sections
│ │ │ │ │ │ ├── ChunkSection.java
│ │ │ │ │ │ ├── GenericChunkSection.java
│ │ │ │ │ │ ├── ResourceSection.java
│ │ │ │ │ │ └── StringSection.java
│ │ │ │ │ └── types
│ │ │ │ │ ├── Attribute.java
│ │ │ │ │ ├── AXMLHeader.java
│ │ │ │ │ ├── Buffer.java
│ │ │ │ │ ├── Chunk.java
│ │ │ │ │ ├── EndTag.java
│ │ │ │ │ ├── GenericChunk.java
│ │ │ │ │ ├── NameSpace.java
│ │ │ │ │ ├── StartTag.java
│ │ │ │ │ └── TextTag.java
│ │ │ │ └── IntReader.java
│ │ │ └── com
│ │ │ └── taobao
│ │ │ ├── android
│ │ │ │ ├── apatch
│ │ │ │ │ ├── AndFixFilterImpl.java
│ │ │ │ │ ├── annotation
│ │ │ │ │ │ └── MethodReplaceAnnotation.java
│ │ │ │ │ ├── ApkPatch.java
│ │ │ │ │ ├── builder
│ │ │ │ │ │ ├── PatchBuilder.java
│ │ │ │ │ │ └── SignedJarBuilder.java
│ │ │ │ │ ├── Build.java
│ │ │ │ │ ├── FastBuild.java
│ │ │ │ │ ├── MergePatch.java
│ │ │ │ │ └── utils
│ │ │ │ │ ├── Formater.java
│ │ │ │ │ ├── HexUtil.java
│ │ │ │ │ ├── MappingParser.java
│ │ │ │ │ ├── SmaliDiffUtils.java
│ │ │ │ │ └── TypeGenUtil.java
│ │ │ │ ├── baksmali
│ │ │ │ │ ├── adaptors
│ │ │ │ │ │ ├── AnnotationFormatter.java
│ │ │ │ │ │ ├── BlankMethodItem.java
│ │ │ │ │ │ ├── CatchMethodItem.java
│ │ │ │ │ │ ├── ClassDefinition.java
│ │ │ │ │ │ ├── CommentedOutMethodItem.java
│ │ │ │ │ │ ├── CommentingIndentingWriter.java
│ │ │ │ │ │ ├── CommentMethodItem.java
│ │ │ │ │ │ ├── Debug
│ │ │ │ │ │ │ ├── BeginEpilogueMethodItem.java
│ │ │ │ │ │ │ ├── DebugMethodItem.java
│ │ │ │ │ │ │ ├── EndLocalMethodItem.java
│ │ │ │ │ │ │ ├── EndPrologueMethodItem.java
│ │ │ │ │ │ │ ├── LineNumberMethodItem.java
│ │ │ │ │ │ │ ├── LocalFormatter.java
│ │ │ │ │ │ │ ├── RestartLocalMethodItem.java
│ │ │ │ │ │ │ ├── SetSourceFileMethodItem.java
│ │ │ │ │ │ │ └── StartLocalMethodItem.java
│ │ │ │ │ │ ├── EncodedValue
│ │ │ │ │ │ │ ├── AnnotationEncodedValueAdaptor.java
│ │ │ │ │ │ │ ├── ArrayEncodedValueAdaptor.java
│ │ │ │ │ │ │ └── EncodedValueAdaptor.java
│ │ │ │ │ │ ├── EndTryLabelMethodItem.java
│ │ │ │ │ │ ├── FieldDefinition.java
│ │ │ │ │ │ ├── Format
│ │ │ │ │ │ │ ├── ArrayDataMethodItem.java
│ │ │ │ │ │ │ ├── InstructionMethodItemFactory.java
│ │ │ │ │ │ │ ├── InstructionMethodItem.java
│ │ │ │ │ │ │ ├── OffsetInstructionFormatMethodItem.java
│ │ │ │ │ │ │ ├── PackedSwitchMethodItem.java
│ │ │ │ │ │ │ ├── SparseSwitchMethodItem.java
│ │ │ │ │ │ │ └── UnresolvedOdexInstructionMethodItem.java
│ │ │ │ │ │ ├── LabelMethodItem.java
│ │ │ │ │ │ ├── MethodDefinition.java
│ │ │ │ │ │ ├── MethodItem.java
│ │ │ │ │ │ ├── PostInstructionRegisterInfoMethodItem.java
│ │ │ │ │ │ ├── PreInstructionRegisterInfoMethodItem.java
│ │ │ │ │ │ ├── ReferenceFormatter.java
│ │ │ │ │ │ ├── RegisterFormatter.java
│ │ │ │ │ │ └── SyntheticAccessCommentMethodItem.java
│ │ │ │ │ ├── Renderers
│ │ │ │ │ │ ├── BooleanRenderer.java
│ │ │ │ │ │ ├── ByteRenderer.java
│ │ │ │ │ │ ├── CharRenderer.java
│ │ │ │ │ │ ├── DoubleRenderer.java
│ │ │ │ │ │ ├── FloatRenderer.java
│ │ │ │ │ │ ├── IntegerRenderer.java
│ │ │ │ │ │ ├── LongRenderer.java
│ │ │ │ │ │ └── ShortRenderer.java
│ │ │ │ │ └── util
│ │ │ │ │ └── ReferenceUtil.java
│ │ │ │ ├── dex
│ │ │ │ │ ├── Annotation.java
│ │ │ │ │ ├── ClassData.java
│ │ │ │ │ ├── ClassDef.java
│ │ │ │ │ ├── Code.java
│ │ │ │ │ ├── DexException.java
│ │ │ │ │ ├── DexFormat.java
│ │ │ │ │ ├── DexIndexOverflowException.java
│ │ │ │ │ ├── Dex.java
│ │ │ │ │ ├── EncodedValueCodec.java
│ │ │ │ │ ├── EncodedValue.java
│ │ │ │ │ ├── EncodedValueReader.java
│ │ │ │ │ ├── FieldId.java
│ │ │ │ │ ├── Leb128.java
│ │ │ │ │ ├── MethodId.java
│ │ │ │ │ ├── Mutf8.java
│ │ │ │ │ ├── ProtoId.java
│ │ │ │ │ ├── SizeOf.java
│ │ │ │ │ ├── TableOfContents.java
│ │ │ │ │ ├── TypeList.java
│ │ │ │ │ └── util
│ │ │ │ │ ├── ByteArrayByteInput.java
│ │ │ │ │ ├── ByteInput.java
│ │ │ │ │ ├── ByteOutput.java
│ │ │ │ │ ├── ExceptionWithContext.java
│ │ │ │ │ ├── FileUtils.java
│ │ │ │ │ └── Unsigned.java
│ │ │ │ ├── differ
│ │ │ │ │ └── dex
│ │ │ │ │ ├── ApkDiff.java
│ │ │ │ │ ├── BundleDiffResult.java
│ │ │ │ │ ├── DexDiffer.java
│ │ │ │ │ └── PatchException.java
│ │ │ │ ├── dx
│ │ │ │ │ ├── cf
│ │ │ │ │ │ ├── attrib
│ │ │ │ │ │ │ ├── AttAnnotationDefault.java
│ │ │ │ │ │ │ ├── AttCode.java
│ │ │ │ │ │ │ ├── AttConstantValue.java
│ │ │ │ │ │ │ ├── AttDeprecated.java
│ │ │ │ │ │ │ ├── AttEnclosingMethod.java
│ │ │ │ │ │ │ ├── AttExceptions.java
│ │ │ │ │ │ │ ├── AttInnerClasses.java
│ │ │ │ │ │ │ ├── AttLineNumberTable.java
│ │ │ │ │ │ │ ├── AttLocalVariableTable.java
│ │ │ │ │ │ │ ├── AttLocalVariableTypeTable.java
│ │ │ │ │ │ │ ├── AttRuntimeInvisibleAnnotations.java
│ │ │ │ │ │ │ ├── AttRuntimeInvisibleParameterAnnotations.java
│ │ │ │ │ │ │ ├── AttRuntimeVisibleAnnotations.java
│ │ │ │ │ │ │ ├── AttRuntimeVisibleParameterAnnotations.java
│ │ │ │ │ │ │ ├── AttSignature.java
│ │ │ │ │ │ │ ├── AttSourceFile.java
│ │ │ │ │ │ │ ├── AttSynthetic.java
│ │ │ │ │ │ │ ├── BaseAnnotations.java
│ │ │ │ │ │ │ ├── BaseAttribute.java
│ │ │ │ │ │ │ ├── BaseLocalVariables.java
│ │ │ │ │ │ │ ├── BaseParameterAnnotations.java
│ │ │ │ │ │ │ ├── InnerClassList.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ └── RawAttribute.java
│ │ │ │ │ │ ├── code
│ │ │ │ │ │ │ ├── BaseMachine.java
│ │ │ │ │ │ │ ├── BasicBlocker.java
│ │ │ │ │ │ │ ├── ByteBlock.java
│ │ │ │ │ │ │ ├── ByteBlockList.java
│ │ │ │ │ │ │ ├── ByteCatchList.java
│ │ │ │ │ │ │ ├── BytecodeArray.java
│ │ │ │ │ │ │ ├── ByteOps.java
│ │ │ │ │ │ │ ├── ConcreteMethod.java
│ │ │ │ │ │ │ ├── ExecutionStack.java
│ │ │ │ │ │ │ ├── Frame.java
│ │ │ │ │ │ │ ├── LineNumberList.java
│ │ │ │ │ │ │ ├── LocalsArray.java
│ │ │ │ │ │ │ ├── LocalsArraySet.java
│ │ │ │ │ │ │ ├── LocalVariableList.java
│ │ │ │ │ │ │ ├── Machine.java
│ │ │ │ │ │ │ ├── Merger.java
│ │ │ │ │ │ │ ├── OneLocalsArray.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ ├── ReturnAddress.java
│ │ │ │ │ │ │ ├── Ropper.java
│ │ │ │ │ │ │ ├── RopperMachine.java
│ │ │ │ │ │ │ ├── SimException.java
│ │ │ │ │ │ │ ├── Simulator.java
│ │ │ │ │ │ │ ├── SwitchList.java
│ │ │ │ │ │ │ └── ValueAwareMachine.java
│ │ │ │ │ │ ├── cst
│ │ │ │ │ │ │ ├── ConstantPoolParser.java
│ │ │ │ │ │ │ └── ConstantTags.java
│ │ │ │ │ │ ├── direct
│ │ │ │ │ │ │ ├── AnnotationParser.java
│ │ │ │ │ │ │ ├── AttributeFactory.java
│ │ │ │ │ │ │ ├── AttributeListParser.java
│ │ │ │ │ │ │ ├── ClassPathOpener.java
│ │ │ │ │ │ │ ├── CodeObserver.java
│ │ │ │ │ │ │ ├── DirectClassFile.java
│ │ │ │ │ │ │ ├── FieldListParser.java
│ │ │ │ │ │ │ ├── MemberListParser.java
│ │ │ │ │ │ │ ├── MethodListParser.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ └── StdAttributeFactory.java
│ │ │ │ │ │ └── iface
│ │ │ │ │ │ ├── Attribute.java
│ │ │ │ │ │ ├── AttributeList.java
│ │ │ │ │ │ ├── ClassFile.java
│ │ │ │ │ │ ├── Field.java
│ │ │ │ │ │ ├── FieldList.java
│ │ │ │ │ │ ├── HasAttribute.java
│ │ │ │ │ │ ├── Member.java
│ │ │ │ │ │ ├── Method.java
│ │ │ │ │ │ ├── MethodList.java
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ ├── ParseException.java
│ │ │ │ │ │ ├── ParseObserver.java
│ │ │ │ │ │ ├── StdAttributeList.java
│ │ │ │ │ │ ├── StdField.java
│ │ │ │ │ │ ├── StdFieldList.java
│ │ │ │ │ │ ├── StdMember.java
│ │ │ │ │ │ ├── StdMethod.java
│ │ │ │ │ │ └── StdMethodList.java
│ │ │ │ │ ├── command
│ │ │ │ │ │ ├── annotool
│ │ │ │ │ │ │ ├── AnnotationLister.java
│ │ │ │ │ │ │ └── Main.java
│ │ │ │ │ │ ├── dexer
│ │ │ │ │ │ │ └── Main.java
│ │ │ │ │ │ ├── dump
│ │ │ │ │ │ │ ├── Args.java
│ │ │ │ │ │ │ ├── BaseDumper.java
│ │ │ │ │ │ │ ├── BlockDumper.java
│ │ │ │ │ │ │ ├── ClassDumper.java
│ │ │ │ │ │ │ ├── DotDumper.java
│ │ │ │ │ │ │ ├── Main.java
│ │ │ │ │ │ │ └── SsaDumper.java
│ │ │ │ │ │ ├── DxConsole.java
│ │ │ │ │ │ ├── findusages
│ │ │ │ │ │ │ ├── FindUsages.java
│ │ │ │ │ │ │ └── Main.java
│ │ │ │ │ │ ├── grep
│ │ │ │ │ │ │ ├── Grep.java
│ │ │ │ │ │ │ └── Main.java
│ │ │ │ │ │ ├── Main.java
│ │ │ │ │ │ └── UsageException.java
│ │ │ │ │ ├── dex
│ │ │ │ │ │ ├── cf
│ │ │ │ │ │ │ ├── AttributeTranslator.java
│ │ │ │ │ │ │ ├── CfOptions.java
│ │ │ │ │ │ │ ├── CfTranslator.java
│ │ │ │ │ │ │ ├── CodeStatistics.java
│ │ │ │ │ │ │ ├── OptimizerOptions.java
│ │ │ │ │ │ │ └── package.html
│ │ │ │ │ │ ├── code
│ │ │ │ │ │ │ ├── ArrayData.java
│ │ │ │ │ │ │ ├── BlockAddresses.java
│ │ │ │ │ │ │ ├── CatchBuilder.java
│ │ │ │ │ │ │ ├── CatchHandlerList.java
│ │ │ │ │ │ │ ├── CatchTable.java
│ │ │ │ │ │ │ ├── CodeAddress.java
│ │ │ │ │ │ │ ├── CstInsn.java
│ │ │ │ │ │ │ ├── DalvCode.java
│ │ │ │ │ │ │ ├── DalvInsn.java
│ │ │ │ │ │ │ ├── DalvInsnList.java
│ │ │ │ │ │ │ ├── Dop.java
│ │ │ │ │ │ │ ├── Dops.java
│ │ │ │ │ │ │ ├── FixedSizeInsn.java
│ │ │ │ │ │ │ ├── form
│ │ │ │ │ │ │ │ ├── Form10t.java
│ │ │ │ │ │ │ │ ├── Form10x.java
│ │ │ │ │ │ │ │ ├── Form11n.java
│ │ │ │ │ │ │ │ ├── Form11x.java
│ │ │ │ │ │ │ │ ├── Form12x.java
│ │ │ │ │ │ │ │ ├── Form20t.java
│ │ │ │ │ │ │ │ ├── Form21c.java
│ │ │ │ │ │ │ │ ├── Form21h.java
│ │ │ │ │ │ │ │ ├── Form21s.java
│ │ │ │ │ │ │ │ ├── Form21t.java
│ │ │ │ │ │ │ │ ├── Form22b.java
│ │ │ │ │ │ │ │ ├── Form22c.java
│ │ │ │ │ │ │ │ ├── Form22s.java
│ │ │ │ │ │ │ │ ├── Form22t.java
│ │ │ │ │ │ │ │ ├── Form22x.java
│ │ │ │ │ │ │ │ ├── Form23x.java
│ │ │ │ │ │ │ │ ├── Form30t.java
│ │ │ │ │ │ │ │ ├── Form31c.java
│ │ │ │ │ │ │ │ ├── Form31i.java
│ │ │ │ │ │ │ │ ├── Form31t.java
│ │ │ │ │ │ │ │ ├── Form32x.java
│ │ │ │ │ │ │ │ ├── Form35c.java
│ │ │ │ │ │ │ │ ├── Form3rc.java
│ │ │ │ │ │ │ │ ├── Form51l.java
│ │ │ │ │ │ │ │ └── SpecialFormat.java
│ │ │ │ │ │ │ ├── HighRegisterPrefix.java
│ │ │ │ │ │ │ ├── InsnFormat.java
│ │ │ │ │ │ │ ├── LocalList.java
│ │ │ │ │ │ │ ├── LocalSnapshot.java
│ │ │ │ │ │ │ ├── LocalStart.java
│ │ │ │ │ │ │ ├── OddSpacer.java
│ │ │ │ │ │ │ ├── OutputCollector.java
│ │ │ │ │ │ │ ├── OutputFinisher.java
│ │ │ │ │ │ │ ├── PositionList.java
│ │ │ │ │ │ │ ├── RopToDop.java
│ │ │ │ │ │ │ ├── RopTranslator.java
│ │ │ │ │ │ │ ├── SimpleInsn.java
│ │ │ │ │ │ │ ├── StdCatchBuilder.java
│ │ │ │ │ │ │ ├── SwitchData.java
│ │ │ │ │ │ │ ├── TargetInsn.java
│ │ │ │ │ │ │ ├── VariableSizeInsn.java
│ │ │ │ │ │ │ └── ZeroSizeInsn.java
│ │ │ │ │ │ ├── DexOptions.java
│ │ │ │ │ │ └── file
│ │ │ │ │ │ ├── AnnotationItem.java
│ │ │ │ │ │ ├── AnnotationsDirectoryItem.java
│ │ │ │ │ │ ├── AnnotationSetItem.java
│ │ │ │ │ │ ├── AnnotationSetRefItem.java
│ │ │ │ │ │ ├── AnnotationUtils.java
│ │ │ │ │ │ ├── CatchStructs.java
│ │ │ │ │ │ ├── ClassDataItem.java
│ │ │ │ │ │ ├── ClassDefItem.java
│ │ │ │ │ │ ├── ClassDefsSection.java
│ │ │ │ │ │ ├── CodeItem.java
│ │ │ │ │ │ ├── DebugInfoConstants.java
│ │ │ │ │ │ ├── DebugInfoDecoder.java
│ │ │ │ │ │ ├── DebugInfoEncoder.java
│ │ │ │ │ │ ├── DebugInfoItem.java
│ │ │ │ │ │ ├── DexFile.java
│ │ │ │ │ │ ├── EncodedArrayItem.java
│ │ │ │ │ │ ├── EncodedField.java
│ │ │ │ │ │ ├── EncodedMember.java
│ │ │ │ │ │ ├── EncodedMethod.java
│ │ │ │ │ │ ├── FieldAnnotationStruct.java
│ │ │ │ │ │ ├── FieldIdItem.java
│ │ │ │ │ │ ├── FieldIdsSection.java
│ │ │ │ │ │ ├── HeaderItem.java
│ │ │ │ │ │ ├── HeaderSection.java
│ │ │ │ │ │ ├── IdItem.java
│ │ │ │ │ │ ├── IndexedItem.java
│ │ │ │ │ │ ├── Item.java
│ │ │ │ │ │ ├── ItemType.java
│ │ │ │ │ │ ├── MapItem.java
│ │ │ │ │ │ ├── MemberIdItem.java
│ │ │ │ │ │ ├── MemberIdsSection.java
│ │ │ │ │ │ ├── MethodAnnotationStruct.java
│ │ │ │ │ │ ├── MethodIdItem.java
│ │ │ │ │ │ ├── MethodIdsSection.java
│ │ │ │ │ │ ├── MixedItemSection.java
│ │ │ │ │ │ ├── OffsettedItem.java
│ │ │ │ │ │ ├── ParameterAnnotationStruct.java
│ │ │ │ │ │ ├── ProtoIdItem.java
│ │ │ │ │ │ ├── ProtoIdsSection.java
│ │ │ │ │ │ ├── Section.java
│ │ │ │ │ │ ├── Statistics.java
│ │ │ │ │ │ ├── StringDataItem.java
│ │ │ │ │ │ ├── StringIdItem.java
│ │ │ │ │ │ ├── StringIdsSection.java
│ │ │ │ │ │ ├── TypeIdItem.java
│ │ │ │ │ │ ├── TypeIdsSection.java
│ │ │ │ │ │ ├── TypeListItem.java
│ │ │ │ │ │ ├── UniformItemSection.java
│ │ │ │ │ │ ├── UniformListItem.java
│ │ │ │ │ │ └── ValueEncoder.java
│ │ │ │ │ ├── io
│ │ │ │ │ │ ├── CodeReader.java
│ │ │ │ │ │ ├── DexIndexPrinter.java
│ │ │ │ │ │ ├── IndexType.java
│ │ │ │ │ │ ├── instructions
│ │ │ │ │ │ │ ├── AddressMap.java
│ │ │ │ │ │ │ ├── BaseCodeCursor.java
│ │ │ │ │ │ │ ├── CodeCursor.java
│ │ │ │ │ │ │ ├── CodeInput.java
│ │ │ │ │ │ │ ├── CodeOutput.java
│ │ │ │ │ │ │ ├── DecodedInstruction.java
│ │ │ │ │ │ │ ├── FillArrayDataPayloadDecodedInstruction.java
│ │ │ │ │ │ │ ├── FiveRegisterDecodedInstruction.java
│ │ │ │ │ │ │ ├── FourRegisterDecodedInstruction.java
│ │ │ │ │ │ │ ├── InstructionCodec.java
│ │ │ │ │ │ │ ├── OneRegisterDecodedInstruction.java
│ │ │ │ │ │ │ ├── PackedSwitchPayloadDecodedInstruction.java
│ │ │ │ │ │ │ ├── RegisterRangeDecodedInstruction.java
│ │ │ │ │ │ │ ├── ShortArrayCodeInput.java
│ │ │ │ │ │ │ ├── ShortArrayCodeOutput.java
│ │ │ │ │ │ │ ├── SparseSwitchPayloadDecodedInstruction.java
│ │ │ │ │ │ │ ├── ThreeRegisterDecodedInstruction.java
│ │ │ │ │ │ │ ├── TwoRegisterDecodedInstruction.java
│ │ │ │ │ │ │ └── ZeroRegisterDecodedInstruction.java
│ │ │ │ │ │ ├── OpcodeInfo.java
│ │ │ │ │ │ └── Opcodes.java
│ │ │ │ │ ├── merge
│ │ │ │ │ │ ├── CollisionPolicy.java
│ │ │ │ │ │ ├── DexMerger.java
│ │ │ │ │ │ ├── IndexMap.java
│ │ │ │ │ │ ├── InstructionTransformer.java
│ │ │ │ │ │ └── SortableType.java
│ │ │ │ │ ├── rop
│ │ │ │ │ │ ├── annotation
│ │ │ │ │ │ │ ├── Annotation.java
│ │ │ │ │ │ │ ├── Annotations.java
│ │ │ │ │ │ │ ├── AnnotationsList.java
│ │ │ │ │ │ │ ├── AnnotationVisibility.java
│ │ │ │ │ │ │ └── NameValuePair.java
│ │ │ │ │ │ ├── code
│ │ │ │ │ │ │ ├── AccessFlags.java
│ │ │ │ │ │ │ ├── BasicBlock.java
│ │ │ │ │ │ │ ├── BasicBlockList.java
│ │ │ │ │ │ │ ├── ConservativeTranslationAdvice.java
│ │ │ │ │ │ │ ├── CstInsn.java
│ │ │ │ │ │ │ ├── DexTranslationAdvice.java
│ │ │ │ │ │ │ ├── Exceptions.java
│ │ │ │ │ │ │ ├── FillArrayDataInsn.java
│ │ │ │ │ │ │ ├── Insn.java
│ │ │ │ │ │ │ ├── InsnList.java
│ │ │ │ │ │ │ ├── LocalItem.java
│ │ │ │ │ │ │ ├── LocalVariableExtractor.java
│ │ │ │ │ │ │ ├── LocalVariableInfo.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ ├── PlainCstInsn.java
│ │ │ │ │ │ │ ├── PlainInsn.java
│ │ │ │ │ │ │ ├── RegisterSpec.java
│ │ │ │ │ │ │ ├── RegisterSpecList.java
│ │ │ │ │ │ │ ├── RegisterSpecSet.java
│ │ │ │ │ │ │ ├── RegOps.java
│ │ │ │ │ │ │ ├── Rop.java
│ │ │ │ │ │ │ ├── RopMethod.java
│ │ │ │ │ │ │ ├── Rops.java
│ │ │ │ │ │ │ ├── SourcePosition.java
│ │ │ │ │ │ │ ├── SwitchInsn.java
│ │ │ │ │ │ │ ├── ThrowingCstInsn.java
│ │ │ │ │ │ │ ├── ThrowingInsn.java
│ │ │ │ │ │ │ └── TranslationAdvice.java
│ │ │ │ │ │ ├── cst
│ │ │ │ │ │ │ ├── Constant.java
│ │ │ │ │ │ │ ├── ConstantPool.java
│ │ │ │ │ │ │ ├── CstAnnotation.java
│ │ │ │ │ │ │ ├── CstArray.java
│ │ │ │ │ │ │ ├── CstBaseMethodRef.java
│ │ │ │ │ │ │ ├── CstBoolean.java
│ │ │ │ │ │ │ ├── CstByte.java
│ │ │ │ │ │ │ ├── CstChar.java
│ │ │ │ │ │ │ ├── CstDouble.java
│ │ │ │ │ │ │ ├── CstEnumRef.java
│ │ │ │ │ │ │ ├── CstFieldRef.java
│ │ │ │ │ │ │ ├── CstFloat.java
│ │ │ │ │ │ │ ├── CstInteger.java
│ │ │ │ │ │ │ ├── CstInterfaceMethodRef.java
│ │ │ │ │ │ │ ├── CstKnownNull.java
│ │ │ │ │ │ │ ├── CstLiteral32.java
│ │ │ │ │ │ │ ├── CstLiteral64.java
│ │ │ │ │ │ │ ├── CstLiteralBits.java
│ │ │ │ │ │ │ ├── CstLong.java
│ │ │ │ │ │ │ ├── CstMemberRef.java
│ │ │ │ │ │ │ ├── CstMethodRef.java
│ │ │ │ │ │ │ ├── CstNat.java
│ │ │ │ │ │ │ ├── CstShort.java
│ │ │ │ │ │ │ ├── CstString.java
│ │ │ │ │ │ │ ├── CstType.java
│ │ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ │ ├── StdConstantPool.java
│ │ │ │ │ │ │ ├── TypedConstant.java
│ │ │ │ │ │ │ └── Zeroes.java
│ │ │ │ │ │ ├── package-info.java
│ │ │ │ │ │ └── type
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ ├── Prototype.java
│ │ │ │ │ │ ├── StdTypeList.java
│ │ │ │ │ │ ├── TypeBearer.java
│ │ │ │ │ │ ├── Type.java
│ │ │ │ │ │ └── TypeList.java
│ │ │ │ │ ├── ssa
│ │ │ │ │ │ ├── back
│ │ │ │ │ │ │ ├── FirstFitAllocator.java
│ │ │ │ │ │ │ ├── FirstFitLocalCombiningAllocator.java
│ │ │ │ │ │ │ ├── IdenticalBlockCombiner.java
│ │ │ │ │ │ │ ├── InterferenceGraph.java
│ │ │ │ │ │ │ ├── LivenessAnalyzer.java
│ │ │ │ │ │ │ ├── NullRegisterAllocator.java
│ │ │ │ │ │ │ ├── RegisterAllocator.java
│ │ │ │ │ │ │ └── SsaToRop.java
│ │ │ │ │ │ ├── BasicRegisterMapper.java
│ │ │ │ │ │ ├── ConstCollector.java
│ │ │ │ │ │ ├── DeadCodeRemover.java
│ │ │ │ │ │ ├── DomFront.java
│ │ │ │ │ │ ├── Dominators.java
│ │ │ │ │ │ ├── EscapeAnalysis.java
│ │ │ │ │ │ ├── InterferenceRegisterMapper.java
│ │ │ │ │ │ ├── LiteralOpUpgrader.java
│ │ │ │ │ │ ├── LocalVariableExtractor.java
│ │ │ │ │ │ ├── LocalVariableInfo.java
│ │ │ │ │ │ ├── MoveParamCombiner.java
│ │ │ │ │ │ ├── NormalSsaInsn.java
│ │ │ │ │ │ ├── Optimizer.java
│ │ │ │ │ │ ├── package-info.java
│ │ │ │ │ │ ├── PhiInsn.java
│ │ │ │ │ │ ├── PhiTypeResolver.java
│ │ │ │ │ │ ├── RegisterMapper.java
│ │ │ │ │ │ ├── SCCP.java
│ │ │ │ │ │ ├── SetFactory.java
│ │ │ │ │ │ ├── SsaBasicBlock.java
│ │ │ │ │ │ ├── SsaConverter.java
│ │ │ │ │ │ ├── SsaInsn.java
│ │ │ │ │ │ ├── SsaMethod.java
│ │ │ │ │ │ └── SsaRenamer.java
│ │ │ │ │ ├── util
│ │ │ │ │ │ ├── AnnotatedOutput.java
│ │ │ │ │ │ ├── BitIntSet.java
│ │ │ │ │ │ ├── Bits.java
│ │ │ │ │ │ ├── ByteArrayAnnotatedOutput.java
│ │ │ │ │ │ ├── ByteArray.java
│ │ │ │ │ │ ├── FixedSizeList.java
│ │ │ │ │ │ ├── Hex.java
│ │ │ │ │ │ ├── HexParser.java
│ │ │ │ │ │ ├── IndentingWriter.java
│ │ │ │ │ │ ├── IntIterator.java
│ │ │ │ │ │ ├── IntList.java
│ │ │ │ │ │ ├── IntSet.java
│ │ │ │ │ │ ├── LabeledItem.java
│ │ │ │ │ │ ├── LabeledList.java
│ │ │ │ │ │ ├── ListIntSet.java
│ │ │ │ │ │ ├── MutabilityControl.java
│ │ │ │ │ │ ├── MutabilityException.java
│ │ │ │ │ │ ├── Output.java
│ │ │ │ │ │ ├── package.html
│ │ │ │ │ │ ├── ToHuman.java
│ │ │ │ │ │ ├── TwoColumnOutput.java
│ │ │ │ │ │ ├── Warning.java
│ │ │ │ │ │ └── Writers.java
│ │ │ │ │ └── Version.java
│ │ │ │ ├── filter
│ │ │ │ │ ├── AbstractDexFilter.java
│ │ │ │ │ ├── DexDiffFilter.java
│ │ │ │ │ └── Filter.java
│ │ │ │ ├── inputs
│ │ │ │ │ ├── ApatchInput.java
│ │ │ │ │ ├── BaseInput.java
│ │ │ │ │ ├── DexPatchInput.java
│ │ │ │ │ ├── HotPatchInput.java
│ │ │ │ │ └── TpatchInput.java
│ │ │ │ ├── multidex
│ │ │ │ │ ├── ArchivePathElement.java
│ │ │ │ │ ├── ClassPathElement.java
│ │ │ │ │ ├── ClassReferenceListBuilder.java
│ │ │ │ │ ├── FolderPathElement.java
│ │ │ │ │ ├── MainDexListBuilder.java
│ │ │ │ │ └── Path.java
│ │ │ │ ├── object
│ │ │ │ │ ├── ApkFileList.java
│ │ │ │ │ ├── ArtifactBundleInfo.java
│ │ │ │ │ ├── BuildPatchInfos.java
│ │ │ │ │ ├── ClassDiffInfo.java
│ │ │ │ │ ├── DexDiffInfo.java
│ │ │ │ │ ├── DiffType.java
│ │ │ │ │ ├── FieldDiffInfo.java
│ │ │ │ │ ├── FieldObject.java
│ │ │ │ │ ├── MethodDiffInfo.java
│ │ │ │ │ ├── MethodDiffInfoObject.java
│ │ │ │ │ ├── MethodObject.java
│ │ │ │ │ ├── PatchBundleInfo.java
│ │ │ │ │ ├── PatchInfo.java
│ │ │ │ │ └── SoFileDef.java
│ │ │ │ ├── outputs
│ │ │ │ │ ├── APatchFile.java
│ │ │ │ │ ├── DexPatchFile.java
│ │ │ │ │ ├── PatchFile.java
│ │ │ │ │ └── TpatchFile.java
│ │ │ │ ├── PatchManager.java
│ │ │ │ ├── PatchType.java
│ │ │ │ ├── reader
│ │ │ │ │ ├── AtlasFrameworkPropertiesReader.java
│ │ │ │ │ ├── BundleListing.java
│ │ │ │ │ ├── BundleListingUtil.java
│ │ │ │ │ ├── ClassReader.java
│ │ │ │ │ ├── DexReader.java
│ │ │ │ │ ├── FieldReader.java
│ │ │ │ │ ├── MethodReader.java
│ │ │ │ │ └── Reader.java
│ │ │ │ ├── repatch
│ │ │ │ │ ├── AbIClassDef.java
│ │ │ │ │ ├── ClassReIClassDef.java
│ │ │ │ │ ├── FastPatchObject.java
│ │ │ │ │ ├── IClassDef.java
│ │ │ │ │ ├── InsTructionsReIClassDef.java
│ │ │ │ │ ├── mapping
│ │ │ │ │ │ ├── MappingProcessorImpl.java
│ │ │ │ │ │ ├── MappingProcessor.java
│ │ │ │ │ │ └── MappingReader.java
│ │ │ │ │ ├── MethodImplReIClassDef.java
│ │ │ │ │ ├── MethodReIClassDef.java
│ │ │ │ │ ├── processor
│ │ │ │ │ │ ├── ClassProcessor.java
│ │ │ │ │ │ └── MappingClassProcessor.java
│ │ │ │ │ └── Utils
│ │ │ │ │ └── DefineUtils.java
│ │ │ │ ├── smali
│ │ │ │ │ ├── AfBakSmali.java
│ │ │ │ │ ├── BakSmali.java
│ │ │ │ │ └── SmaliMod.java
│ │ │ │ ├── task
│ │ │ │ │ └── ExecutorServicesHelper.java
│ │ │ │ ├── tools
│ │ │ │ │ ├── AbstractTool.java
│ │ │ │ │ ├── APatchTool.java
│ │ │ │ │ ├── DexObfuscatedTool.java
│ │ │ │ │ ├── DexPatchDexTool.java
│ │ │ │ │ ├── DexPatchTool.java
│ │ │ │ │ ├── FastPatchTool.java
│ │ │ │ │ ├── HotDexPatchDexTool.java
│ │ │ │ │ ├── HotPatchTool.java
│ │ │ │ │ ├── PatchDexTool.java
│ │ │ │ │ ├── PatchFieldTool.java
│ │ │ │ │ ├── PatchMethodTool.java
│ │ │ │ │ ├── TpatchDexTool.java
│ │ │ │ │ └── TPatchTool.java
│ │ │ │ ├── tpatch
│ │ │ │ │ ├── builder
│ │ │ │ │ │ └── PatchFileBuilder.java
│ │ │ │ │ ├── manifest
│ │ │ │ │ │ ├── AndroidManifestDiffFactory.java
│ │ │ │ │ │ ├── AXMLPrint.java
│ │ │ │ │ │ └── Manifest.java
│ │ │ │ │ ├── model
│ │ │ │ │ │ ├── ApkBO.java
│ │ │ │ │ │ ├── BundleBO.java
│ │ │ │ │ │ └── PatchFile.java
│ │ │ │ │ └── utils
│ │ │ │ │ ├── DexBuilderUtils.java
│ │ │ │ │ ├── FileLock.java
│ │ │ │ │ ├── HttpClientUtils.java
│ │ │ │ │ ├── JarSplitUtils.java
│ │ │ │ │ ├── MD5Util.java
│ │ │ │ │ ├── PatchUtils.java
│ │ │ │ │ ├── PathUtils.java
│ │ │ │ │ └── SmaliUtils.java
│ │ │ │ ├── transform
│ │ │ │ │ └── DexTransform.java
│ │ │ │ └── utils
│ │ │ │ ├── CommandUtils.java
│ │ │ │ ├── DexCompareUtils.java
│ │ │ │ ├── PathMatcher.java
│ │ │ │ ├── Profiler.java
│ │ │ │ ├── SmaliCodeUtils.java
│ │ │ │ ├── SoDiffUtils.java
│ │ │ │ ├── SystemUtils.java
│ │ │ │ └── ZipUtils.java
│ │ │ ├── checker
│ │ │ │ ├── Checker.java
│ │ │ │ └── PatchChecker.java
│ │ │ ├── update
│ │ │ │ └── UpdateInfo.java
│ │ │ └── utils
│ │ │ └── SparseIntArray.java
│ │ └── resources
│ │ ├── linux
│ │ │ ├── bsdiff
│ │ │ └── bspatch
│ │ ├── mac
│ │ │ ├── bsdiff
│ │ │ └── bspatch
│ │ └── windows
│ │ ├── bsdiff.exe
│ │ └── bspatch.exe
│ ├── gradle
│ │ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── publish_bintray.gradle
│ ├── publish_mvn.gradle
│ ├── README.md
│ └── settings.gradle
├── atlas-update
│ ├── build.gradle
│ ├── gradle
│ │ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── gradle.properties
│ ├── gradlew
│ ├── README.md
│ ├── README.zh-cn.md
│ ├── settings.gradle
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ └── java
│ └── com
│ └── taobao
│ ├── atlas
│ │ ├── dex
│ │ │ ├── Annotation.java
│ │ │ ├── ClassData.java
│ │ │ ├── ClassDef.java
│ │ │ ├── Code.java
│ │ │ ├── DexException2.java
│ │ │ ├── DexFormat.java
│ │ │ ├── DexIndexOverflowException.java
│ │ │ ├── Dex.java
│ │ │ ├── EncodedValueCodec.java
│ │ │ ├── EncodedValue.java
│ │ │ ├── EncodedValueReader.java
│ │ │ ├── FieldId.java
│ │ │ ├── Leb128.java
│ │ │ ├── MethodId.java
│ │ │ ├── Mutf8.java
│ │ │ ├── ProtoId.java
│ │ │ ├── SizeOf.java
│ │ │ ├── TableOfContents.java
│ │ │ ├── TypeList.java
│ │ │ └── util
│ │ │ ├── AnnotatedOutput.java
│ │ │ ├── ByteArrayByteInput.java
│ │ │ ├── ByteInput.java
│ │ │ ├── ByteOutput.java
│ │ │ ├── ExceptionWithContext.java
│ │ │ ├── FileUtils.java
│ │ │ ├── Iterators.java
│ │ │ ├── NaturalOrdering.java
│ │ │ ├── PeekingIterator.java
│ │ │ └── Unsigned.java
│ │ ├── dexmerge
│ │ │ ├── DexMergeClient.java
│ │ │ ├── DexMergeService.java
│ │ │ ├── dx
│ │ │ │ ├── io
│ │ │ │ │ ├── CodeReader.java
│ │ │ │ │ ├── DexIndexPrinter.java
│ │ │ │ │ ├── IndexType.java
│ │ │ │ │ ├── instructions
│ │ │ │ │ │ ├── AddressMap.java
│ │ │ │ │ │ ├── BaseCodeCursor.java
│ │ │ │ │ │ ├── CodeCursor.java
│ │ │ │ │ │ ├── CodeInput.java
│ │ │ │ │ │ ├── CodeOutput.java
│ │ │ │ │ │ ├── DecodedInstruction.java
│ │ │ │ │ │ ├── FillArrayDataPayloadDecodedInstruction.java
│ │ │ │ │ │ ├── FiveRegisterDecodedInstruction.java
│ │ │ │ │ │ ├── FourRegisterDecodedInstruction.java
│ │ │ │ │ │ ├── InstructionCodec.java
│ │ │ │ │ │ ├── OneRegisterDecodedInstruction.java
│ │ │ │ │ │ ├── PackedSwitchPayloadDecodedInstruction.java
│ │ │ │ │ │ ├── RegisterRangeDecodedInstruction.java
│ │ │ │ │ │ ├── ShortArrayCodeInput.java
│ │ │ │ │ │ ├── ShortArrayCodeOutput.java
│ │ │ │ │ │ ├── SparseSwitchPayloadDecodedInstruction.java
│ │ │ │ │ │ ├── ThreeRegisterDecodedInstruction.java
│ │ │ │ │ │ ├── TwoRegisterDecodedInstruction.java
│ │ │ │ │ │ └── ZeroRegisterDecodedInstruction.java
│ │ │ │ │ ├── OpcodeInfo.java
│ │ │ │ │ └── Opcodes.java
│ │ │ │ ├── merge
│ │ │ │ │ ├── CollisionPolicy.java
│ │ │ │ │ ├── DexMerger.java
│ │ │ │ │ ├── DexSectionItem.java
│ │ │ │ │ ├── DexTransform.java
│ │ │ │ │ ├── IndexMap.java
│ │ │ │ │ ├── InstructionTransformer.java
│ │ │ │ │ └── SortableType.java
│ │ │ │ └── util
│ │ │ │ ├── AnnotatedOutput.java
│ │ │ │ ├── BitIntSet.java
│ │ │ │ ├── Bits.java
│ │ │ │ ├── ByteArrayAnnotatedOutput.java
│ │ │ │ ├── ByteArray.java
│ │ │ │ ├── FixedSizeList.java
│ │ │ │ ├── Hex.java
│ │ │ │ ├── HexParser.java
│ │ │ │ ├── IndentingWriter.java
│ │ │ │ ├── IntIterator.java
│ │ │ │ ├── IntList.java
│ │ │ │ ├── IntSet.java
│ │ │ │ ├── LabeledItem.java
│ │ │ │ ├── LabeledList.java
│ │ │ │ ├── ListIntSet.java
│ │ │ │ ├── MutabilityControl.java
│ │ │ │ ├── MutabilityException.java
│ │ │ │ ├── Output.java
│ │ │ │ ├── ToHuman.java
│ │ │ │ ├── TwoColumnOutput.java
│ │ │ │ ├── Warning.java
│ │ │ │ └── Writers.java
│ │ │ ├── IDexMergeBinder.java
│ │ │ ├── IDexMergeCallback.java
│ │ │ ├── MergeCallback.java
│ │ │ ├── MergeConstants.java
│ │ │ ├── MergeException.java
│ │ │ ├── MergeExcutorServices.java
│ │ │ ├── MergeObject.java
│ │ │ ├── MergeTool.java
│ │ │ └── PatchVersionReceiver.java
│ │ └── update
│ │ ├── AtlasUpdater.java
│ │ ├── AwoPatchReceiver.java
│ │ ├── DexPatchUpdater.java
│ │ ├── exception
│ │ │ └── MergeException.java
│ │ ├── model
│ │ │ └── UpdateInfo.java
│ │ ├── UpdateBundleDivider.java
│ │ └── util
│ │ ├── PatchCleaner.java
│ │ ├── PatchInstaller.java
│ │ ├── PatchMerger.java
│ │ └── ZipUtils.java
│ ├── MainThreadDisposable.java
│ ├── plugins
│ │ └── RxAndroidPlugins.java
│ ├── schedulers
│ │ ├── AndroidSchedulers.java
│ │ └── HandlerScheduler.java
│ └── utils
│ └── SparseIntArray.java
├── _config.yml
├── CONTRIBUTING.md
├── LICENSE
├── NOTICE
└── README.md
1053 directories, 4420 files
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论