META-INF/
META-INF/MANIFEST.MF
com/
com/android/
com/android/manifmerger/
com/android/manifmerger/ArgvParser.classArgvParser.java
package com.android.manifmerger
com.android.manifmerger.ArgvParser extends com.android.sdklib.util.CommandLineParser {
public static final String VERB_MERGE
public static final String KEY_OUT
public static final String KEY_MAIN
public static final String KEY_LIBS
private static final String[][] ACTIONS
public void (com.android.utils.ILogger)
com.android.utils.ILogger logger
public boolean acceptLackOfVerb ()
public java.lang.String getParamOut ()
public java.lang.String getParamMain ()
public java.lang.String[] getParamLibs ()
java.util.List a
Object v
static void ()
}
com/android/manifmerger/ICallback.classICallback.java
package com.android.manifmerger
public abstract com.android.manifmerger.ICallback extends java.lang.Object {
public static final int UNKNOWN_CODENAME
public abstract int queryCodenameApiLevel (java.lang.String)
}
com/android/manifmerger/IMergerLog$FileAndLine.classIMergerLog.java
package com.android.manifmerger
public com.android.manifmerger.IMergerLog$FileAndLine extends java.lang.Object {
private final String mFilePath
private final int mLine
public void (java.lang.String, int)
String filePath
int line
public java.lang.String getFileName ()
public int getLine ()
public java.lang.String toString ()
String name
}
com/android/manifmerger/IMergerLog$Severity.classIMergerLog.java
package com.android.manifmerger
public final com.android.manifmerger.IMergerLog$Severity extends java.lang.Enum {
public static final com.android.manifmerger.IMergerLog$Severity INFO
public static final com.android.manifmerger.IMergerLog$Severity WARNING
public static final com.android.manifmerger.IMergerLog$Severity ERROR
private static final com.android.manifmerger.IMergerLog$Severity[] $VALUES
public static com.android.manifmerger.IMergerLog$Severity[] values ()
public static com.android.manifmerger.IMergerLog$Severity valueOf (java.lang.String)
String name
private void (java.lang.String, int)
static void ()
}
com/android/manifmerger/IMergerLog.classIMergerLog.java
package com.android.manifmerger
public abstract com.android.manifmerger.IMergerLog extends java.lang.Object {
public static final String MAIN_MANIFEST
public static final String LIBRARY
public transient abstract void error (com.android.manifmerger.IMergerLog$Severity, com.android.manifmerger.IMergerLog$FileAndLine, java.lang.String, java.lang.Object[])
public transient abstract void conflict (com.android.manifmerger.IMergerLog$Severity, com.android.manifmerger.IMergerLog$FileAndLine, com.android.manifmerger.IMergerLog$FileAndLine, java.lang.String, java.lang.Object[])
}
com/android/manifmerger/Main.classMain.java
package com.android.manifmerger
public com.android.manifmerger.Main extends java.lang.Object {
private com.android.utils.ILogger mSdkLog
private com.android.manifmerger.ArgvParser mArgvParser
public void ()
public static void main (java.lang.String[])
String[] args
private void run (java.lang.String[])
int n
String[] args
com.android.manifmerger.ManifestMerger mm
String[] libPaths
java.io.File[] libFiles
boolean ok
private void createLogger ()
public void setLogger (com.android.utils.ILogger)
com.android.utils.ILogger logger
}
com/android/manifmerger/ManifestMerger.classManifestMerger.java
package com.android.manifmerger
public com.android.manifmerger.ManifestMerger extends java.lang.Object {
private final com.android.manifmerger.IMergerLog mLog
private final com.android.manifmerger.ICallback mCallback
private javax.xml.xpath.XPath mXPath
private org.w3c.dom.Document mMainDoc
private boolean mExtractPackagePrefix
private boolean mInsertSourceMarkers
private static final String NS_URI
private static final String NS_PREFIX
private static final String TOOLS_URI
private static final String MERGE_ATTR
private static final String MERGE_OVERRIDE
private static final String MERGE_REMOVE
private static final String[] sClassAttributes
static final boolean $assertionsDisabled
public void (com.android.manifmerger.IMergerLog, com.android.manifmerger.ICallback)
com.android.manifmerger.IMergerLog log
com.android.manifmerger.ICallback callback
public com.android.manifmerger.ManifestMerger setExtractPackagePrefix (boolean)
boolean extract
public boolean process (java.io.File, java.io.File, java.io.File[], java.util.Map, java.lang.String)
java.io.File outputFile
java.io.File mainFile
java.io.File[] libraryFiles
java.util.Map injectAttributes
String packageOverride
org.w3c.dom.Document mainDoc
boolean success
public boolean process (org.w3c.dom.Document, java.io.File[], java.util.Map, java.lang.String)
org.w3c.dom.Document libDoc
java.io.File libFile
java.io.File[] arr$
int len$
int i$
org.w3c.dom.Document mainDoc
java.io.File[] libraryFiles
java.util.Map injectAttributes
String packageOverride
boolean success
String prefix
public transient boolean process (org.w3c.dom.Document, org.w3c.dom.Document[])
org.w3c.dom.Document libDoc
org.w3c.dom.Document[] arr$
int len$
int i$
org.w3c.dom.Document mainDoc
org.w3c.dom.Document[] libraryDocs
boolean success
String prefix
private boolean mergeLibDoc (org.w3c.dom.Document)
org.w3c.dom.Document libDoc
boolean err
boolean skipApplication
private void expandFqcns (org.w3c.dom.Document)
String value
org.w3c.dom.Attr attr
org.w3c.dom.Node elem
int i
String[] names
String elemName
String attrName
org.w3c.dom.NodeList elements
String elementAttr
String[] arr$
int len$
int i$
org.w3c.dom.Document doc
String pkg
org.w3c.dom.Element manifest
private void extractFqcns (org.w3c.dom.Document)
String value
org.w3c.dom.Attr attr
org.w3c.dom.Node elem
int i
String[] names
String elemName
String attrName
org.w3c.dom.NodeList elements
String elementAttr
String[] arr$
int len$
int i$
org.w3c.dom.Document doc
String pkg
org.w3c.dom.Element manifest
int pkgLength
private boolean checkApplication (org.w3c.dom.Document)
String libValue
String mainValue
String attrName
String[] arr$
int len$
int i$
org.w3c.dom.Document libDoc
org.w3c.dom.Element mainApp
org.w3c.dom.Element libApp
private boolean doNotMergeCheckEqual (java.lang.String, org.w3c.dom.Document)
org.w3c.dom.Element dest
java.util.Iterator i$
boolean found
org.w3c.dom.Element src
java.util.Iterator i$
String path
org.w3c.dom.Document libDoc
private boolean mergeNewOrEqual (java.lang.String, java.lang.String, org.w3c.dom.Document, boolean)
StringBuilder diff
org.w3c.dom.Element dest
java.util.Iterator i$
org.w3c.dom.Node start
String name
java.util.List dests
boolean doMerge
org.w3c.dom.Element src
java.util.Iterator i$
String path
String keyAttr
org.w3c.dom.Document libDoc
boolean warnDups
int pos
String parentPath
org.w3c.dom.Element parent
boolean success
private java.lang.String getAttributeValue (org.w3c.dom.Element, java.lang.String)
org.w3c.dom.Element element
String attrName
org.w3c.dom.Attr attr
String value
private boolean mergeAdjustRequired (java.lang.String, java.lang.String, java.lang.String, org.w3c.dom.Document, java.lang.String)
String s
boolean boolD
org.w3c.dom.Element dest
java.util.Iterator i$
String value
boolean boolE
boolean keep
org.w3c.dom.Node a
int i
org.w3c.dom.Node start
org.w3c.dom.Node node
org.w3c.dom.NamedNodeMap attrs
org.w3c.dom.Attr attr
String name
java.util.List dests
org.w3c.dom.Element src
java.util.Iterator i$
String path
String keyAttr
String requiredAttr
org.w3c.dom.Document libDoc
String alternateKeyAttr
int pos
String parentPath
org.w3c.dom.Element parent
boolean success
private boolean checkGlEsVersion (org.w3c.dom.Document)
long version
NumberFormatException e
org.w3c.dom.Attr attr
String value
org.w3c.dom.Element dest
java.util.Iterator i$
long version
NumberFormatException e
org.w3c.dom.Attr attr
String value
org.w3c.dom.Element src
java.util.Iterator i$
org.w3c.dom.Document libDoc
String parentPath
org.w3c.dom.Element parent
String path
String keyAttr
long destGlEsVersion
org.w3c.dom.Element destNode
boolean result
long srcGlEsVersion
org.w3c.dom.Element srcNode
private boolean checkSdkVersion (org.w3c.dom.Document)
int destTargetSdk
org.w3c.dom.Document libDoc
boolean result
org.w3c.dom.Element destUsesSdk
org.w3c.dom.Element srcUsesSdk
java.util.concurrent.atomic.AtomicInteger destValue
java.util.concurrent.atomic.AtomicInteger srcValue
java.util.concurrent.atomic.AtomicBoolean destImplied
java.util.concurrent.atomic.AtomicBoolean srcImplied
int destMinSdk
boolean result2
private boolean extractSdkVersionAttribute (org.w3c.dom.Document, org.w3c.dom.Element, org.w3c.dom.Element, java.lang.String, java.util.concurrent.atomic.AtomicInteger, java.util.concurrent.atomic.AtomicInteger, java.util.concurrent.atomic.AtomicBoolean, java.util.concurrent.atomic.AtomicBoolean)
int apiLevel
boolean error
NumberFormatException e
int apiLevel
boolean error
NumberFormatException e
org.w3c.dom.Document libDoc
org.w3c.dom.Element destUsesSdk
org.w3c.dom.Element srcUsesSdk
String attr
java.util.concurrent.atomic.AtomicInteger destValue
java.util.concurrent.atomic.AtomicInteger srcValue
java.util.concurrent.atomic.AtomicBoolean destImplied
java.util.concurrent.atomic.AtomicBoolean srcImplied
String s
boolean result
private org.w3c.dom.Node selectPreviousSiblings (org.w3c.dom.Node)
String text
short t
org.w3c.dom.Node end
org.w3c.dom.Node start
org.w3c.dom.Node prev
private org.w3c.dom.Node insertAtEndOf (org.w3c.dom.Element, org.w3c.dom.Node, org.w3c.dom.Node)
String text
java.io.File file
org.w3c.dom.Node node
org.w3c.dom.Element dest
org.w3c.dom.Node start
org.w3c.dom.Node end
String destPrefix
String srcPrefix
boolean needPrefixChange
org.w3c.dom.Node target
private void changePrefix (org.w3c.dom.Node, java.lang.String, java.lang.String)
org.w3c.dom.Node child
org.w3c.dom.Node node
String srcPrefix
String destPrefix
private boolean compareElements (org.w3c.dom.Node, org.w3c.dom.Node, boolean, java.lang.StringBuilder, java.lang.String)
org.w3c.dom.Node expected
org.w3c.dom.Node actual
boolean nextSiblings
StringBuilder diff
String keyAttr
java.util.Map nsPrefixE
java.util.Map nsPrefixA
String sE
String sA
private org.w3c.dom.Element findFirstElement (org.w3c.dom.Document, java.lang.String)
javax.xml.xpath.XPathExpressionException e
org.w3c.dom.Document doc
String path
org.w3c.dom.Node result
private java.util.List findElements (org.w3c.dom.Document, java.lang.String)
org.w3c.dom.Document doc
String path
private java.util.List findElements (org.w3c.dom.Document, java.lang.String, java.lang.String, java.lang.String)
org.w3c.dom.Node n
int i
org.w3c.dom.NodeList results
javax.xml.xpath.XPathExpressionException e
org.w3c.dom.Document doc
String path
String attrName
String attrValue
java.util.List elements
private com.android.manifmerger.IMergerLog$FileAndLine xmlFileAndLine (org.w3c.dom.Node)
org.w3c.dom.Node node
private boolean hasOverrideOrRemoveTag (org.w3c.dom.Node)
org.w3c.dom.Node node
org.w3c.dom.NamedNodeMap attrs
org.w3c.dom.Node merge
String value
private void cleanupToolsAttributes (org.w3c.dom.Node)
org.w3c.dom.Node attr
int i
org.w3c.dom.Node prevPrev
org.w3c.dom.Node prev
org.w3c.dom.Node merge
String value
org.w3c.dom.Node sibling
org.w3c.dom.Node child
org.w3c.dom.Node root
org.w3c.dom.NamedNodeMap attrs
private org.w3c.dom.Document cleanupToolsAttributes (org.w3c.dom.Document)
org.w3c.dom.Document doc
public void setInsertSourceMarkers (boolean)
boolean insertSourceMarkers
public boolean isInsertSourceMarkers ()
private static void insertSourceMarkers (org.w3c.dom.Document)
java.io.File file
org.w3c.dom.Document mainDoc
org.w3c.dom.Element root
private static java.io.File insertSourceMarkers (org.w3c.dom.Node, java.io.File)
java.io.File file
org.w3c.dom.Node child
short nodeType
int i
java.io.File parentFile
java.io.File lastFile
org.w3c.dom.Node node
java.io.File currentFile
org.w3c.dom.Node lastElement
private static int insertSourceMarker (org.w3c.dom.Node, org.w3c.dom.Node, java.io.File, boolean)
java.net.MalformedURLException e
int index
String newline
org.w3c.dom.Node parent
org.w3c.dom.Node node
java.io.File file
boolean after
int insertCount
org.w3c.dom.Document doc
String comment
org.w3c.dom.Node prev
String newline
static void ()
}
com/android/manifmerger/MergerLog$1.classMergerLog.java
package com.android.manifmerger
final com.android.manifmerger.MergerLog$1 extends java.lang.Object implements com.android.manifmerger.IMergerLog {
final com.android.utils.ILogger val$sdkLog
void (com.android.utils.ILogger)
public transient void error (com.android.manifmerger.IMergerLog$Severity, com.android.manifmerger.IMergerLog$FileAndLine, java.lang.String, java.lang.Object[])
com.android.manifmerger.IMergerLog$Severity severity
com.android.manifmerger.IMergerLog$FileAndLine location
String message
Object[] msgParams
public transient void conflict (com.android.manifmerger.IMergerLog$Severity, com.android.manifmerger.IMergerLog$FileAndLine, com.android.manifmerger.IMergerLog$FileAndLine, java.lang.String, java.lang.Object[])
com.android.manifmerger.IMergerLog$Severity severity
com.android.manifmerger.IMergerLog$FileAndLine location1
com.android.manifmerger.IMergerLog$FileAndLine location2
String message
Object[] msgParams
}
com/android/manifmerger/MergerLog$2.classMergerLog.java
package com.android.manifmerger
final com.android.manifmerger.MergerLog$2 extends java.lang.Object implements com.android.manifmerger.IMergerLog {
final String val$filePath1
final com.android.manifmerger.IMergerLog val$parentLog
final String[] val$filePath2
void (java.lang.String, com.android.manifmerger.IMergerLog, java.lang.String[])
public transient void error (com.android.manifmerger.IMergerLog$Severity, com.android.manifmerger.IMergerLog$FileAndLine, java.lang.String, java.lang.Object[])
com.android.manifmerger.IMergerLog$Severity severity
com.android.manifmerger.IMergerLog$FileAndLine location
String message
Object[] msgParams
public transient void conflict (com.android.manifmerger.IMergerLog$Severity, com.android.manifmerger.IMergerLog$FileAndLine, com.android.manifmerger.IMergerLog$FileAndLine, java.lang.String, java.lang.Object[])
com.android.manifmerger.IMergerLog$Severity severity
com.android.manifmerger.IMergerLog$FileAndLine location1
com.android.manifmerger.IMergerLog$FileAndLine location2
String message
Object[] msgParams
}
com/android/manifmerger/MergerLog$3.classMergerLog.java
package com.android.manifmerger
com.android.manifmerger.MergerLog$3 extends java.lang.Object {
static final int[] $SwitchMap$com$android$manifmerger$IMergerLog$Severity
static void ()
NoSuchFieldError ex
NoSuchFieldError ex
NoSuchFieldError ex
}
com/android/manifmerger/MergerLog.classMergerLog.java
package com.android.manifmerger
public abstract com.android.manifmerger.MergerLog extends java.lang.Object {
public void ()
public static com.android.manifmerger.IMergerLog wrapSdkLog (com.android.utils.ILogger)
com.android.utils.ILogger sdkLog
public static transient com.android.manifmerger.IMergerLog mergerLogOverrideLocation (com.android.manifmerger.IMergerLog, java.lang.String, java.lang.String[])
com.android.manifmerger.IMergerLog parentLog
String filePath1
String[] filePath2
}
com/android/manifmerger/MergerXmlUtils$1.classMergerXmlUtils.java
package com.android.manifmerger
final com.android.manifmerger.MergerXmlUtils$1 extends java.lang.Object implements org.xml.sax.ErrorHandler {
final com.android.manifmerger.IMergerLog val$log
final java.io.File val$xmlFile
void (com.android.manifmerger.IMergerLog, java.io.File)
public void warning (org.xml.sax.SAXParseException)
org.xml.sax.SAXParseException e
public void fatalError (org.xml.sax.SAXParseException)
org.xml.sax.SAXParseException e
public void error (org.xml.sax.SAXParseException)
org.xml.sax.SAXParseException e
}
com/android/manifmerger/MergerXmlUtils$2.classMergerXmlUtils.java
package com.android.manifmerger
final com.android.manifmerger.MergerXmlUtils$2 extends java.lang.Object implements java.util.Comparator {
void ()
public int compare (org.w3c.dom.Attr, org.w3c.dom.Attr)
org.w3c.dom.Attr a1
org.w3c.dom.Attr a2
String s1
String s2
boolean name1
boolean name2
public volatile int compare (java.lang.Object, java.lang.Object)
Object x0
Object x1
}
com/android/manifmerger/MergerXmlUtils.classMergerXmlUtils.java
package com.android.manifmerger
com.android.manifmerger.MergerXmlUtils extends java.lang.Object {
private static final String DATA_ORIGIN_FILE
private static final String DATA_FILE_NAME
private static final String DATA_LINE_NUMBER
void ()
static org.w3c.dom.Document parseDocument (java.io.File, com.android.manifmerger.IMergerLog, com.android.manifmerger.ManifestMerger)
javax.xml.parsers.DocumentBuilderFactory factory
java.io.Reader reader
org.xml.sax.InputSource is
javax.xml.parsers.DocumentBuilder builder
org.w3c.dom.Document doc
java.io.FileNotFoundException e
Exception e
java.io.File xmlFile
com.android.manifmerger.IMergerLog log
com.android.manifmerger.ManifestMerger merger
static org.w3c.dom.Document parseDocument (java.lang.String, com.android.manifmerger.IMergerLog, com.android.manifmerger.IMergerLog$FileAndLine)
javax.xml.parsers.DocumentBuilderFactory factory
org.xml.sax.InputSource is
javax.xml.parsers.DocumentBuilder builder
org.w3c.dom.Document doc
Exception e
String xml
com.android.manifmerger.IMergerLog log
com.android.manifmerger.IMergerLog$FileAndLine errorContext
static void decorateDocument (org.w3c.dom.Document, java.lang.String)
org.w3c.dom.Document doc
String fileName
static com.android.manifmerger.IMergerLog$FileAndLine xmlFileAndLine (org.w3c.dom.Node)
org.w3c.dom.Node node
String name
int line
static java.lang.String extractXmlFilename (org.w3c.dom.Node)
Object data
org.w3c.dom.Node xmlNode
public static void setSource (org.w3c.dom.Node, java.io.File)
short nodeType
org.w3c.dom.Node child
org.w3c.dom.Node node
java.io.File source
private static int findLineNumbers (org.w3c.dom.Node, int)
int pos
String text
org.w3c.dom.Node child
org.w3c.dom.Node node
int line
static int extractLineNumber (org.w3c.dom.Node)
Object data
org.w3c.dom.Node xmlNode
static boolean printXmlFile (org.w3c.dom.Document, java.io.File, com.android.manifmerger.IMergerLog)
javax.xml.transform.Transformer tf
javax.xml.transform.TransformerException e
org.w3c.dom.Document doc
java.io.File outFile
com.android.manifmerger.IMergerLog log
static java.lang.String printXmlString (org.w3c.dom.Document, com.android.manifmerger.IMergerLog)
javax.xml.transform.Transformer tf
java.io.StringWriter sw
javax.xml.transform.TransformerException e
org.w3c.dom.Document doc
com.android.manifmerger.IMergerLog log
static java.lang.String dump (org.w3c.dom.Node, boolean)
org.w3c.dom.Node node
boolean nextSiblings
static java.lang.String dump (org.w3c.dom.Node, int, boolean, boolean, java.lang.String)
int i
org.w3c.dom.Node a
java.util.Iterator i$
String attr
String txt
org.w3c.dom.Attr attr
java.util.Iterator i$
org.w3c.dom.Node child
String type
short t
org.w3c.dom.Node node
int offsetIndex
boolean nextSiblings
boolean deep
String keyAttr
StringBuilder sb
String offset
static java.util.List sortedAttributeList (org.w3c.dom.NamedNodeMap)
org.w3c.dom.Node attr
int i
org.w3c.dom.NamedNodeMap attrMap
java.util.List list
static java.util.Comparator getAttrComparator ()
static void injectAttributes (org.w3c.dom.Document, java.util.Map, com.android.manifmerger.IMergerLog)
org.w3c.dom.Node child
String name
org.w3c.dom.Element child
int i
org.w3c.dom.Node attr
String key
String value
java.util.regex.Matcher m
String path
String attrNsUri
String attrName
String[] segment
org.w3c.dom.Node element
org.w3c.dom.NamedNodeMap attrs
java.util.Map$Entry entry
java.util.Iterator i$
org.w3c.dom.Document doc
java.util.Map attributeMap
com.android.manifmerger.IMergerLog log
java.util.regex.Pattern keyRx
com.android.manifmerger.IMergerLog$FileAndLine docInfo
static java.lang.String printElement (org.w3c.dom.Node, java.util.Map, java.lang.String)
org.w3c.dom.Node node
java.util.Map nsPrefix
String prefix
StringBuilder sb
String uri
private static java.lang.StringBuilder printChildren (java.lang.StringBuilder, org.w3c.dom.Node, boolean, java.util.Map, java.lang.String)
String s
short t
String s
java.util.Iterator i$
StringBuilder sb
org.w3c.dom.Node child
boolean nextSiblings
java.util.Map nsPrefix
String prefix
java.util.ArrayList children
boolean hasText
private static java.lang.StringBuilder printAttributes (java.lang.StringBuilder, org.w3c.dom.Node, java.util.Map, java.lang.String)
String uri
org.w3c.dom.Node attr
int i
StringBuilder sb2
String attr
java.util.Iterator i$
StringBuilder sb
org.w3c.dom.Node node
java.util.Map nsPrefix
String prefix
java.util.ArrayList attrs
org.w3c.dom.NamedNodeMap attrMap
static void printXmlDiff (java.lang.StringBuilder, java.lang.String, java.lang.String, java.util.Map, java.util.Map, java.lang.String)
int kE
String p
int kA
String p
int i
int iE
int iA
StringBuilder sb
String expected
String actual
java.util.Map nsPrefixE
java.util.Map nsPrefixA
String keyAttr
String[] aE
String[] aA
int lE
int lA
int lm
boolean eofE
boolean eofA
boolean contextE
boolean contextA
int numDiff
StringBuilder sE
StringBuilder sA
private static java.lang.String diffGetPrefix (java.lang.String)
String str
int pos
int len
private static java.lang.String diffReplaceNs (java.lang.String, java.util.Map)
String uri
String prefix
java.util.Map$Entry entry
java.util.Iterator i$
String str
java.util.Map nsPrefix
public static java.io.File getFileFor (org.w3c.dom.Node)
org.w3c.dom.Node node
public static void setFileFor (org.w3c.dom.Node, java.io.File)
org.w3c.dom.Node node
java.io.File file
}
NOTICE