apk['icons_src'] = _get_apk_icons_src(apkfile, icon_name)
-def _ensure_final_value(packageName, arsc, value):
- """Ensure incoming value is always the value, not the resid
-
- androguard will sometimes return the Android "resId" aka
- Resource ID instead of the actual value. This checks whether
- the value is actually a resId, then performs the Android
- Resource lookup as needed.
-
- """
- if value:
- returnValue = value
- if value[0] == '@':
- try: # can be a literal value or a resId
- res_id = int(value.replace("@", "0x"), 16)
- res_id = arsc.get_id(packageName, res_id)[1]
- returnValue = arsc.get_string(packageName, res_id)[1]
- except ValueError:
- pass
- return returnValue
-
-
def _sanitize_sdk_version(value):
"""Sanitize the raw values from androguard to handle bad values
apk['versionCode'] = int(apkobject.get_androidversion_code())
apk['name'] = apkobject.get_app_name()
- apk['versionName'] = _ensure_final_value(apk['packageName'], arsc,
- apkobject.get_androidversion_name())
+ apk['versionName'] = common.ensure_final_value(apk['packageName'], arsc,
+ apkobject.get_androidversion_name())
minSdkVersion = _sanitize_sdk_version(apkobject.get_min_sdk_version())
if minSdkVersion is not None: