Source:
public void testLibraryAtPreviewInOldApp_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=\"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=\"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.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 ) ; 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" ) ) ; }

Target:
public void testUsesSdkAbsenceInOverlay ( ) throws java.io.IOException , javax.xml.parsers.ParserConfigurationException , org.xml.sax.SAXException { java.lang.String overlay = "" + ( ( ( ( ( ( ( "<manifest\n" + " xmlns:android=\"http://schemas.android.com/apk/res/android\"\n" ) + " package=\"com.example.lib3\">\n" ) + "\n" ) + " <uses-permission android:name=\"android.permission.READ_CONTACTS\"/>\n" ) + " <uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>\n" ) + "\n" ) + "</manifest>" ) ; java.lang.String main = "" + ( ( ( ( ( ( ( ( ( "<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" ) + " <uses-sdk android:minSdkVersion=\"15\"/>\n" ) + " <application android:label=\"@string/lib_name\" />\n" ) + " <activity android:name=\"activityOne\" />\n" ) + "\n" ) + "</manifest>" ) ; com.android.manifmerger.XmlDocument mainDocument = com.android.manifmerger.TestUtils.xmlDocumentFromString ( new com.android.manifmerger.TestUtils.TestSourceLocation ( getClass ( ) , "overlay" ) , overlay , XmlDocument.Type.OVERLAY ) ; com.android.manifmerger.XmlDocument libraryDocument = com.android.manifmerger.TestUtils.xmlLibraryFromString ( new com.android.manifmerger.TestUtils.TestSourceLocation ( getClass ( ) , "main" ) , main ) ; 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 ) ; com.android.sdklib.mock.MockLog mockLog = new com.android.sdklib.mock.MockLog ( ) ; mergingReportBuilder.build ( ) . log ( mockLog ) ; java.lang.System.out.println ( mockLog.toString ( ) ) ; assertTrue ( mergedDocument.isPresent ( ) ) ; }