def get_app_name(self): """ Return the appname of the APK This name is read from the AndroidManifest.xml using the application android:label. If no label exists, the android:label of the main activity is used. If there is also no main activity label, an empty string is returned. :rtype: :class:`str` """ app_name = self.get_element('application', 'label') if not app_name: main_activity_name = self.get_main_activity() app_name = self.get_element('activity', 'label', name=main_activity_name) if app_name is None: # No App name set # TODO return packagename instead? return "" if app_name.startswith("@"): res_id = int(app_name[1:], 16) res_parser = self.get_android_resources() try: app_name = res_parser.get_resolved_res_configs( res_id, ARSCResTableConfig.default_config())[0][1] except Exception as e: log.warning("Exception selecting app name: %s" % e) app_name = "" return app_name
def get_app_name(self): """ Return the appname of the APK :rtype: string """ main_activity_name = self.get_main_activity() app_name = self.get_element('activity', 'label', name=main_activity_name) if not app_name: app_name = self.get_element('application', 'label') if app_name is None: # No App name set # TODO return packagename instead? return "" if app_name.startswith("@"): res_id = int(app_name[1:], 16) res_parser = self.get_android_resources() try: app_name = res_parser.get_resolved_res_configs( res_id, ARSCResTableConfig.default_config())[0][1] except Exception as e: androconf.warning("Exception selecting app name: %s" % e) app_name = "" return app_name