# Class: com.pnfsoftware.jeb.core.units.code.android.ApkManifestHelper

This helper class facilitates access to the data contained in an Android APK Manifest. In particular, the `readAttributeXxx` methods allow easy retrieval of attribute values by tag names, throughout the entire document.

## Constructor: ApkManifestHelper
- parameter: `apk`, type: `com.pnfsoftware.jeb.core.units.code.android.IApkUnit`

Description: This convenience constructor can be used to create a helper from an APK unit. A Manifest [XML unit](IXmlUnit) must exist under the APK unit.
parameter: apk: 

## Constructor: ApkManifestHelper
- parameter: `xml`, type: `com.pnfsoftware.jeb.core.units.IXmlUnit`

Description: Create a manifest helper around the provided manifest unit.
parameter: xml: 

## Constructor: ApkManifestHelper
- parameter: `doc`, type: `org.w3c.dom.Document`

Description: Create a manifest helper around the provided low\-level XML document object.
parameter: doc: 

## Method: getActivities
- return type: `java.util.List<java.lang.String>`


## Method: getActivityDescriptions
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.android.ApkManifestHelper.ActivityDescription>`


## Method: getApplicationAttribute
- parameter: `attributeName`, type: `java.lang.String`
- return type: `java.lang.String`


## Method: getApplicationComponentFactory
- return type: `java.lang.String`


## Method: getApplicationDescription
- return type: `com.pnfsoftware.jeb.core.units.code.android.ApkManifestHelper.ApplicationDescription`

Description: 
return: null if the manifest does not have an Application element

## Method: getApplicationName
- return type: `java.lang.String`


## Method: getEndPointDescriptions
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.android.ApkManifestHelper.EndPointDescription>`


## Method: getIntendedSystemType
- return type: `com.pnfsoftware.jeb.core.units.code.android.ApkManifestHelper.AndroidSystemType`


## Method: getMainActivity
- return type: `java.lang.String`


## Method: getPackageName
- return type: `java.lang.String`


## Method: getPermissions
- return type: `java.util.List<java.lang.String>`


## Method: getProviderDescriptions
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.android.ApkManifestHelper.ProviderDescription>`


## Method: getProviders
- return type: `java.util.List<java.lang.String>`


## Method: getReceiverDescriptions
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.android.ApkManifestHelper.ReceiverDescription>`


## Method: getReceivers
- return type: `java.util.List<java.lang.String>`


## Method: getSdkVersion
- return type: `int[]`

Description: Retrieve the minimal and target Android version numbers to run the app.
return: a tuple \(minSdkVersion, targetSdkVersion\)

## Method: getServiceDescriptions
- return type: `java.util.List<com.pnfsoftware.jeb.core.units.code.android.ApkManifestHelper.ServiceDescription>`


## Method: getServices
- return type: `java.util.List<java.lang.String>`


## Method: getXmlManifestElement
- return type: `org.w3c.dom.Element`

Description: This low\-level method offers access to the `org.w3c.dom.Element` holding the Manifest root. Use this method to retrieve any tag or attribute stored in the manifest.
return: 

## Method: hasApplication
- return type: `boolean`


## Method: isDebuggable
- return type: `boolean`


## Protected Method: prepare
- parameter: `doc`, type: `org.w3c.dom.Document`

Description: This implementation checks that the input XML resource is an actual Android Manifest.

## Static Method: canParse
- parameter: `apk`, type: `com.pnfsoftware.jeb.core.units.code.android.IApkUnit`
- return type: `boolean`


