Source:
public void testLibraryAtReleaseAgainstAppInPreview_usingMinSdk ( ) throws java.io.IOException , javax.xml.parsers.ParserConfigurationException , org.xml.sax.SAXException { java.lang.String main = "" + ( ( ( ( ( ( ( "<manifest\n" + " xmlns:android=\"http://schemas.android.com/apk/res/android\"\n" ) + " package=\"com.example.lib3\">\n" ) + "\n" ) + " <application android:label=\"@string/lib_name\" />\n" ) + " <uses-sdk android:minSdkVersion=\"XYZ\"/>\n" ) + "\n" ) + "</manifest>" ) ; java.lang.String library = "" + ( ( ( ( ( ( ( ( "<manifest\n" + " xmlns:android=\"http://schemas.android.com/apk/res/android\"\n" ) + " xmlns:acme=\"http://acme.org/schemas\"\n" ) + " package=\"com.example.lib3\">\n" ) + "\n" ) + " <activity android:name=\"activityOne\" />\n" ) + " <uses-sdk android:minSdkVersion=\"19\"/>\n" ) + "\n" ) + "</manifest>" ) ; com.android.manifmerger.XmlDocument mainDocument = com.android.manifmerger.TestUtils.xmlDocumentFromString ( new com.android.manifmerger.TestUtils.TestSourceLocation ( getClass ( ) , "main" ) , main ) ; com.android.manifmerger.XmlDocument libraryDocument = com.android.manifmerger.TestUtils.xmlDocumentFromString ( new com.android.manifmerger.TestUtils.TestSourceLocation ( getClass ( ) , "library" ) , library ) ; com.android.manifmerger.MergingReport.Builder mergingReportBuilder = new com.android.manifmerger.MergingReport.Builder ( mLogger ) ; com.google.common.base.Optional < com.android.manifmerger.XmlDocument > mergedDocument = mainDocument.merge ( libraryDocument , mergingReportBuilder ) ; assertTrue ( mergedDocument.isPresent ( ) ) ; com.google.common.base.Optional < com.android.manifmerger.XmlElement > usesSdk = mergedDocument.get ( ) . getByTypeAndKey ( ManifestModel.NodeTypes.USES_SDK , null ) ; com.google.common.base.Optional < com.android.manifmerger.XmlAttribute > attribute = usesSdk.get ( ) . getAttribute ( com.android.manifmerger.XmlNode.fromXmlName ( "android:minSdkVersion" ) ) ; assertTrue ( attribute.isPresent ( ) ) ; assertEquals ( "XYZ" , attribute.get ( ) . getValue ( ) ) ; }

Target:
public void testLibraryAtPreviewInOldApp_usingTargetSdk ( ) throws java.io.IOException , javax.xml.parsers.ParserConfigurationException , org.xml.sax.SAXException { java.lang.String main = "" + ( ( ( ( ( ( ( "<manifest\n" + " xmlns:android=\"http://schemas.android.com/apk/res/android\"\n" ) + " package=\"com.example.lib3\">\n" ) + "\n" ) + " <application android:label=\"@string/lib_name\" />\n" ) + " <uses-sdk android:minSdkVersion=\"14\" android:targetSdkVersion=\"19\"/>\n" ) + "\n" ) + "</manifest>" ) ; java.lang.String library = "" + ( ( ( ( ( ( ( ( "<manifest\n" + " xmlns:android=\"http://schemas.android.com/apk/res/android\"\n" ) + " xmlns:acme=\"http://acme.org/schemas\"\n" ) + " package=\"com.example.lib3\">\n" ) + "\n" ) + " <activity android:name=\"activityOne\" />\n" ) + " <uses-sdk android:minSdkVersion=\"14\" android:targetSdkVersion=\"XYZ\"/>\n" ) + "\n" ) + "</manifest>" ) ; com.android.manifmerger.XmlDocument mainDocument = com.android.manifmerger.TestUtils.xmlDocumentFromString ( new com.android.manifmerger.TestUtils.TestSourceLocation ( getClass ( ) , "main" ) , main ) ; com.android.manifmerger.XmlDocument libraryDocument = com.android.manifmerger.TestUtils.xmlLibraryFromString ( new com.android.manifmerger.TestUtils.TestSourceLocation ( getClass ( ) , "library" ) , library ) ; com.android.manifmerger.MergingReport.Builder mergingReportBuilder = new com.android.manifmerger.MergingReport.Builder ( mLogger ) ; com.google.common.base.Optional < com.android.manifmerger.XmlDocument > mergedDocument = mainDocument.merge ( libraryDocument , mergingReportBuilder ) ; assertFalse ( mergedDocument.isPresent ( ) ) ; com.android.manifmerger.MergingReport mergingReport = mergingReportBuilder.build ( ) ; com.google.common.collect.ImmutableList < com.android.manifmerger.MergingReport.Record > loggingRecords = mergingReport.getLoggingRecords ( ) ; assertTrue ( mergingReport.getResult ( ) . isError ( ) ) ; assertEquals ( 1 , loggingRecords.size ( ) ) ; assertTrue ( loggingRecords.get ( 0 ) . getMessage ( ) . contains ( "XYZ" ) ) ; }