103 parser = argparse.ArgumentParser()
104
105 parser.add_argument(
106 '--apk-path', dest='apk_path', action='store', help='Provide the path to the APK to install'
107 )
108 parser.add_argument(
109 '--package-name',
110 dest='package_name',
111 action='store',
112 help='The package name of the APK, e.g. dev.flutter.scenarios'
113 )
114 parser.add_argument(
115 '--activity-name',
116 dest='activity_name',
117 action='store',
118 help='The activity to launch as it appears in AndroidManifest.xml, '
119 'e.g. .PlatformViewsActivity'
120 )
121 parser.add_argument(
122 '--adb-path',
123 dest='adb_path',
124 action='store',
125 default='adb',
126 help='Provide the path of adb used for android tests. '
127 'By default it looks on $PATH.'
128 )
129
130 args = parser.parse_args()
131
132 android_api_level = subprocess.check_output([
133 args.adb_path, 'shell', 'getprop', 'ro.build.version.sdk'
134 ],
135 text=True).strip()
136 if int(android_api_level) < 29:
137 print(
'Android API %s detected. This script requires API 29 or above.' % android_api_level)
138 return 0
139
140 install_apk(args.apk_path, args.package_name, args.adb_path)
141 start_perfetto(args.package_name, args.adb_path)
142 launch_package(args.package_name, args.activity_name, args.adb_path)
143 return collect_and_validate_trace(args.adb_path)
144
145
Type::kYUV Type::kRGBA() int(0.7 *637)