Skip to content

Instantly share code, notes, and snippets.

@knappador
Created June 8, 2015 05:25
Show Gist options
  • Save knappador/1c7824979e1b21061b0b to your computer and use it in GitHub Desktop.
Save knappador/1c7824979e1b21061b0b to your computer and use it in GitHub Desktop.
Enabling Minify after adding Espresso test throws a ton of warnings. Build will not complete with --dontwarn and --dontnote
...
:app:compileFullDebugAndroidTestSources UP-TO-DATE
:app:proguardFullDebugAndroidTest
Note: there were 12 duplicate class definitions.
(http://proguard.sourceforge.net/manual/troubleshooting.html#duplicateclass)
Warning: org.hamcrest.integration.EasyMock2Adapter: can't find superclass or interface org.easymock.IArgumentMatcher
Warning: org.hamcrest.integration.JMock1Adapter: can't find superclass or interface org.jmock.core.Constraint
Warning: library class android.test.AndroidTestCase extends or implements program class junit.framework.TestCase
Warning: library class android.test.AndroidTestRunner extends or implements program class junit.runner.BaseTestRunner
Warning: library class android.test.InstrumentationTestCase extends or implements program class junit.framework.TestCase
Warning: library class android.test.InstrumentationTestSuite extends or implements program class junit.framework.TestSuite
Warning: library class android.test.suitebuilder.TestSuiteBuilder$FailedToCreateTests extends or implements program class junit.framework.TestCase
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64$1: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64$1: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64$1: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64$1: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64$Cell: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64$Cell: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64$Cell: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.cache.Striped64$Cell: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.espresso.core.deps.guava.primitives.UnsignedBytes$LexicographicalComparatorHolder$UnsafeComparator$1: can't find referenced class sun.misc.Unsafe
Warning: android.support.test.runner.MonitoringInstrumentation: can't find referenced method 'android.app.Instrumentation$ActivityResult execStartActivity(android.content.Context,android.os.IBinder,android.os.IBinder,android.app.Activity,android.content.Intent,int)' in program class android.support.test.internal.runner.hidden.ExposedInstrumentationApi
Warning: android.support.test.runner.MonitoringInstrumentation: can't find referenced method 'android.app.Instrumentation$ActivityResult execStartActivity(android.content.Context,android.os.IBinder,android.os.IBinder,android.app.Activity,android.content.Intent,int,android.os.Bundle)' in program class android.support.test.internal.runner.hidden.ExposedInstrumentationApi
Warning: android.support.test.runner.MonitoringInstrumentation: can't find referenced method 'android.app.Instrumentation$ActivityResult execStartActivity(android.content.Context,android.os.IBinder,android.os.IBinder,android.app.Fragment,android.content.Intent,int,android.os.Bundle)' in program class android.support.test.internal.runner.hidden.ExposedInstrumentationApi
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: com.squareup.javawriter.JavaWriter: can't find referenced class javax.lang.model.element.Modifier
Warning: org.hamcrest.JMock1Matchers: can't find referenced class org.jmock.core.Constraint
Warning: org.hamcrest.beans.HasPropertyWithValue: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.HasPropertyWithValue: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.HasPropertyWithValue: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.HasPropertyWithValue: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.HasPropertyWithValue$2: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.HasPropertyWithValue$2: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.HasPropertyWithValue$2: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.HasPropertyWithValue$2: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.HasPropertyWithValue$2: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.HasPropertyWithValue$2: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.HasPropertyWithValue$2: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.PropertyUtil: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.PropertyUtil: can't find referenced class java.beans.Introspector
Warning: org.hamcrest.beans.PropertyUtil: can't find referenced class java.beans.BeanInfo
Warning: org.hamcrest.beans.PropertyUtil: can't find referenced class java.beans.IntrospectionException
Warning: org.hamcrest.beans.PropertyUtil: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.PropertyUtil: can't find referenced class java.beans.Introspector
Warning: org.hamcrest.beans.PropertyUtil: can't find referenced class java.beans.BeanInfo
Warning: org.hamcrest.beans.PropertyUtil: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.PropertyUtil: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.PropertyUtil: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.PropertyUtil: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.PropertyUtil: can't find referenced class java.beans.IntrospectionException
Warning: org.hamcrest.beans.PropertyUtil: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs$PropertyMatcher: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs$PropertyMatcher: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs$PropertyMatcher: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs$PropertyMatcher: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.beans.SamePropertyValuesAs$PropertyMatcher: can't find referenced class java.beans.PropertyDescriptor
Warning: org.hamcrest.integration.EasyMock2Adapter: can't find referenced class org.easymock.EasyMock
Warning: org.hamcrest.integration.EasyMock2Adapter: can't find referenced class org.easymock.IArgumentMatcher
Warning: org.hamcrest.integration.EasyMock2Adapter: can't find referenced class org.easymock.EasyMock
Warning: org.hamcrest.integration.EasyMock2Adapter: can't find referenced class org.easymock.IArgumentMatcher
Warning: org.hamcrest.integration.EasyMock2Adapter: can't find referenced class org.easymock.IArgumentMatcher
Warning: org.hamcrest.integration.JMock1Adapter: can't find referenced class org.jmock.core.Constraint
Warning: org.hamcrest.integration.JMock1Adapter: can't find referenced class org.jmock.core.Constraint
Warning: org.hamcrest.integration.JMock1Adapter: can't find referenced class org.jmock.core.Constraint
Warning: org.junit.internal.runners.statements.FailOnTimeout: can't find referenced class java.lang.management.ManagementFactory
Warning: org.junit.internal.runners.statements.FailOnTimeout: can't find referenced class java.lang.management.ThreadMXBean
Warning: org.junit.internal.runners.statements.FailOnTimeout: can't find referenced class java.lang.management.ThreadMXBean
Warning: org.junit.internal.runners.statements.FailOnTimeout: can't find referenced class java.lang.management.ManagementFactory
Warning: org.junit.internal.runners.statements.FailOnTimeout: can't find referenced class java.lang.management.ThreadMXBean
Warning: org.junit.internal.runners.statements.FailOnTimeout: can't find referenced class java.lang.management.ThreadMXBean
Warning: org.junit.rules.DisableOnDebug: can't find referenced class java.lang.management.ManagementFactory
Warning: org.junit.rules.DisableOnDebug: can't find referenced class java.lang.management.RuntimeMXBean
Warning: org.junit.rules.DisableOnDebug: can't find referenced class java.lang.management.ManagementFactory
Warning: org.junit.rules.DisableOnDebug: can't find referenced class java.lang.management.RuntimeMXBean
Warning: there were 118 unresolved references to classes or interfaces.
You may need to add missing library jars or update their versions.
If your code works fine without the missing classes, you can suppress
the warnings with '-dontwarn' options.
(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
Warning: there were 5 instances of library classes depending on program classes.
You must avoid such dependencies, since the program classes will
be processed, while the library classes will remain unchanged.
(http://proguard.sourceforge.net/manual/troubleshooting.html#dependency)
Warning: there were 3 unresolved references to program class members.
Your input classes appear to be inconsistent.
You may need to recompile the code.
(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedprogramclassmember)
:app:proguardFullDebugAndroidTest FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:proguardFullDebugAndroidTest'.
> java.io.IOException: Please correct the above warnings first.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 43.238 secs
@knappador
Copy link
Author

Added separate proguard file for tests using testingProguardFile fixed

@emanzanoaxa
Copy link

Can you post the test proguard file please?

@ligi
Copy link

ligi commented Feb 18, 2016

would also be interested in this - the only result googling for testingProguardFile is here - https://xkcd.com/979/

@rzetzsche
Copy link

Hi Guys, i get a solution for your problems.

First of all use testProguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguardTest-rules.txt' in your debug configuration.

Use the following lines in the testProguard:

# ------------------- TEST DEPENDENCIES -------------------
-dontwarn org.hamcrest.**
-dontwarn android.test.**
-dontwarn android.support.test.**

-keep class org.hamcrest.** {
   *;
}

-keep class org.junit.** { *; }
-dontwarn org.junit.**

-keep class junit.** { *; }
-dontwarn junit.**

-keep class sun.misc.** { *; }
-dontwarn sun.misc.**

@m0d
Copy link

m0d commented Dec 28, 2016

@rzetzsche thanks for that
one more line was necessary for me:
-dontwarn com.squareup.javawriter.JavaWriter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment