mirror of
				https://github.com/ARM-software/workload-automation.git
				synced 2025-10-30 22:54:18 +00:00 
			
		
		
		
	ApkWorkload: Reworked APK Resolution.
APK Resolution is now handled a bit differently to try maximise the likelyhood of a workload running. Like before `force_install` will always try to install the host version, if it is not present or is not a correct version, it will error. `check_apk` has changed so that when it is `True` it will prefer to use the host side APK. If it is not there, or not a suitable version and/or abi and the target already has a correct version of the app, the target app will be used. When it is to `False` WA will prefer the target version of the app so long as it is a valid version, if it is not then it will fallback to the host side APK.
This commit is contained in:
		
							
								
								
									
										57
									
								
								doc/source/apk_workloads.rst
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								doc/source/apk_workloads.rst
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,57 @@ | ||||
| .. _apk_workload_settings: | ||||
|  | ||||
| APK Workloads | ||||
| ============= | ||||
|  | ||||
| APK resolution | ||||
| -------------- | ||||
|  | ||||
| WA has various resource getters that can be configured to locate APK files but for most people APK files | ||||
| should be kept in the ``$WA_HOME/dependencies/SOME_WORKLOAD/`` directory. (by default  | ||||
| ``~/.workload_automation/dependencies/SOME_WORKLOAD/``). The ``WA_HOME`` enviroment variable can be used | ||||
| to chnage the location of this folder. The APK files need to be put into the corresponding directories | ||||
| for the workload they belong to. The name of the file can be anything but as explained below may need | ||||
| to contain certain peices of information. | ||||
|  | ||||
| All ApkWorkloads have parameters that affect the way in which APK files are resolved, ``check_abi``, | ||||
| ``force_install`` and ``check_apk``. Their exact behaviours are outlined below. | ||||
|  | ||||
| .. confval:: check_abi | ||||
|  | ||||
|    If this setting is enabled WA's resource resolvers will look for the devices ABI within the file name | ||||
|    e.g. ``calculator_arm65.apk``. By default this setting is disabled since most apks will work across all | ||||
|    devices. You may wish to enable this feature when working with devices that support multiple ABI's (like  | ||||
|    64-bit devices that can run 32-bit APK files) and  are specifically trying to test one or the other. | ||||
|  | ||||
| .. confval:: force_install | ||||
|  | ||||
|    If this setting is enabled WA will *always* use the APK file on the host, and re-install it on every | ||||
|    iteration. If there is no APK on the host that is a suitable version and/or ABI for the workload WA | ||||
|    will error when ``force_install`` is enabled. | ||||
|  | ||||
| .. confval:: check_apk | ||||
|  | ||||
|    This parameter is used to specify a preference over host or target versions of the app. When set to | ||||
|    ``True`` WA will prefer the host side version of the APK. It will check if the host has the APK and | ||||
|    if the host APK meets the version requirements of the workload. If does and the target already has | ||||
|    same version nothing will be done, other wise it will overwrite the targets app with the host version. | ||||
|    If the hosts is missing the APK or it does not meet version requirements WA will fall back to the app | ||||
|    on the target if it has the app and it is of a suitable version. When this parameter is set to  | ||||
|    ``false`` WA will prefer to use the version already on the target if it meets the workloads version | ||||
|    requirements. If it does not it will fall back to search the host for the correct version. In both modes | ||||
|    if neither the host nor target have a suitable version, WA will error and not run the workload. | ||||
|  | ||||
| Some workloads will also feature the follow parameters which will alter the way their APK files are resolved. | ||||
|  | ||||
| .. confval:: version | ||||
|  | ||||
|    This parameter is used to specify which version of uiautomation for the workload is used. In some workloads | ||||
|    e.g. ``geekbench`` multiple versions with drastically different UI's are supported. When a workload uses a | ||||
|    version it is required for the APK file to contain the uiautomation version in the file name. In the case | ||||
|    of antutu the file names could be: ``geekbench_2.apk`` or ``geekbench_3.apk``. | ||||
|  | ||||
| .. confval:: variant_name | ||||
|  | ||||
|    Some workloads use variants of APK files, this is usually the case with web browser APK files, these work | ||||
|    in exactly the same way as the version,  the variant of the apk  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user