Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Byte buddy exceptions cause Android instrumented tests to fail. #922

Closed
andrew-carmichael opened this issue Feb 2, 2017 · 32 comments
Closed
Assignees

Comments

@andrew-carmichael
Copy link

andrew-carmichael commented Feb 2, 2017

Background:
I attempted to upgrade a fairly large project from mockitio 1x to 2x. I discovered that mockito 2 tests work only when run using the gradle wrapper, not when launched more directly with adb. The gradle wrapper is sufficient for smaller projects but we are using adb for its ability to shard tests across multiple agents. Mockito 1.x does not have this limitation.

Environment:
OS: OSX 10.12.2
IDE: Android Studio 2.3 Beta 2
Android Device: Emulator API 24

Steps:

  1. Create new Android Studio project (Application name: Scheme, Company domain: countolaf.example.com, Min SDK: 19, Type: Empty Activity)
    NOTE) A single empty unit test has been created on our behalf.
  2. Add mockito dependency to the application's build.gradle (androidTestCompile org.mockito:mockito-android:2.6.3")
  3. Launch emulator (API 24 in this case)
  4. Build and install the application /gradlew clean installDebug installDebugAndroidTest
  5. Launch instumented tests using gradle ./gradlew connectedAndroidTest
  6. OBSERVE The following exceptions printed to logcat
02-02 13:02:18.410  4181  4196 I art     : Rejecting re-init on previously-failed class java.lang.Class<net.bytebuddy.agent.builder.ResettableClassFileTransformer>: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/lang/instrument/ClassFileTransformer;
02-02 13:02:18.410  4181  4196 I art     :   at java.lang.Class java.lang.Class.classForName!(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:-2)
02-02 13:02:18.410  4181  4196 I art     :   at java.lang.Class java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:400)
02-02 13:02:18.410  4181  4196 I art     :   at java.lang.Class android.support.test.internal.runner.TestLoader.doLoadClass(java.lang.String) (TestLoader.java:92)
02-02 13:02:18.410  4181  4196 I art     :   at java.lang.Class android.support.test.internal.runner.TestLoader.loadIfTest(java.lang.String) (TestLoader.java:113)
02-02 13:02:18.410  4181  4196 I art     :   at void android.support.test.internal.runner.TestRequestBuilder.loadClassesFromClassPath(android.support.test.internal.runner.TestLoader, java.util.Set) (TestRequestBuilder.java:801)
02-02 13:02:18.410  4181  4196 I art     :   at android.support.test.internal.runner.TestRequest android.support.test.internal.runner.TestRequestBuilder.build() (TestRequestBuilder.java:747)
02-02 13:02:18.410  4181  4196 I art     :   at android.support.test.internal.runner.TestRequest android.support.test.runner.AndroidJUnitRunner.buildRequest(android.support.test.internal.runner.RunnerArgs, android.os.Bundle) (AndroidJUnitRunner.java:354)
02-02 13:02:18.410  4181  4196 I art     :   at void android.support.test.runner.AndroidJUnitRunner.onStart() (AndroidJUnitRunner.java:260)
02-02 13:02:18.410  4181  4196 I art     :   at void android.app.Instrumentation$InstrumentationThread.run() (Instrumentation.java:1932)
02-02 13:02:18.410  4181  4196 I art     : Caused by: java.lang.ClassNotFoundException: Didn't find class "java.lang.instrument.ClassFileTransformer" on path: DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file "/data/app/com.example.countolaf.scheme.test-2/base.apk", zip file "/data/app/com.example.countolaf.scheme-2/base.apk"],nativeLibraryDirectories=[/data/app/com.example.countolaf.scheme.test-2/lib/x86_64, /data/app/com.example.countolaf.scheme-2/lib/x86_64, /system/lib64, /vendor/lib64]]
02-02 13:02:18.410  4181  4196 I art     :   at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
02-02 13:02:18.410  4181  4196 I art     :   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
02-02 13:02:18.410  4181  4196 I art     :   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
02-02 13:02:18.410  4181  4196 I art     :   at java.lang.Class java.lang.Class.classForName!(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:-2)
02-02 13:02:18.410  4181  4196 I art     :   at java.lang.Class java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:400)
02-02 13:02:18.410  4181  4196 I art     :   at java.lang.Class android.support.test.internal.runner.TestLoader.doLoadClass(java.lang.String) (TestLoader.java:92)
02-02 13:02:18.410  4181  4196 I art     :   at java.lang.Class android.support.test.internal.runner.TestLoader.loadIfTest(java.lang.String) (TestLoader.java:113)
02-02 13:02:18.410  4181  4196 I art     :   at void android.support.test.internal.runner.TestRequestBuilder.loadClassesFromClassPath(android.support.test.internal.runner.TestLoader, java.util.Set) (TestRequestBuilder.java:801)
02-02 13:02:18.410  4181  4196 I art     :   at android.support.test.internal.runner.TestRequest android.support.test.internal.runner.TestRequestBuilder.build() (TestRequestBuilder.java:747)
02-02 13:02:18.410  4181  4196 I art     :   at android.support.test.internal.runner.TestRequest android.support.test.runner.AndroidJUnitRunner.buildRequest(android.support.test.internal.runner.RunnerArgs, android.os.Bundle) (AndroidJUnitRunner.java:354)
02-02 13:02:18.410  4181  4196 I art     :   at void android.support.test.runner.AndroidJUnitRunner.onStart() (AndroidJUnitRunner.java:260)
02-02 13:02:18.410  4181  4196 I art     :   at void android.app.Instrumentation$InstrumentationThread.run() (Instrumentation.java:1932)
02-02 13:02:18.410  4181  4196 I art     :
02-02 13:02:18.410  4181  4196 E TestLoader: Could not find class: net.bytebuddy.agent.builder.ResettableClassFileTransformer
02-02 13:02:18.432  4181  4196 I art     : Rejecting re-init on previously-failed class java.lang.Class<net.bytebuddy.jar.asm.commons.JSRInlinerAdapter>: java.lang.NoClassDefFoundError: Failed resolution of: Lnet/bytebuddy/jar/asm/tree/MethodNode;
02-02 13:02:18.432  4181  4196 I art     :   at java.lang.Class java.lang.Class.classForName!(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:-2)
02-02 13:02:18.433  4181  4196 I art     :   at java.lang.Class java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:400)
02-02 13:02:18.433  4181  4196 I art     :   at java.lang.Class android.support.test.internal.runner.TestLoader.doLoadClass(java.lang.String) (TestLoader.java:92)
02-02 13:02:18.433  4181  4196 I art     :   at java.lang.Class android.support.test.internal.runner.TestLoader.loadIfTest(java.lang.String) (TestLoader.java:113)
02-02 13:02:18.433  4181  4196 I art     :   at void android.support.test.internal.runner.TestRequestBuilder.loadClassesFromClassPath(android.support.test.internal.runner.TestLoader, java.util.Set) (TestRequestBuilder.java:801)
02-02 13:02:18.433  4181  4196 I art     :   at android.support.test.internal.runner.TestRequest android.support.test.internal.runner.TestRequestBuilder.build() (TestRequestBuilder.java:747)
02-02 13:02:18.433  4181  4196 I art     :   at android.support.test.internal.runner.TestRequest android.support.test.runner.AndroidJUnitRunner.buildRequest(android.support.test.internal.runner.RunnerArgs, android.os.Bundle) (AndroidJUnitRunner.java:354)
02-02 13:02:18.433  4181  4196 I art     :   at void android.support.test.runner.AndroidJUnitRunner.onStart() (AndroidJUnitRunner.java:260)
02-02 13:02:18.433  4181  4196 I art     :   at void android.app.Instrumentation$InstrumentationThread.run() (Instrumentation.java:1932)
02-02 13:02:18.433  4181  4196 I art     : Caused by: java.lang.ClassNotFoundException: Didn't find class "net.bytebuddy.jar.asm.tree.MethodNode" on path: DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file "/data/app/com.example.countolaf.scheme.test-2/base.apk", zip file "/data/app/com.example.countolaf.scheme-2/base.apk"],nativeLibraryDirectories=[/data/app/com.example.countolaf.scheme.test-2/lib/x86_64, /data/app/com.example.countolaf.scheme-2/lib/x86_64, /system/lib64, /vendor/lib64]]
02-02 13:02:18.433  4181  4196 I art     :   at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
02-02 13:02:18.433  4181  4196 I art     :   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
02-02 13:02:18.433  4181  4196 I art     :   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
02-02 13:02:18.433  4181  4196 I art     :   at java.lang.Class java.lang.Class.classForName!(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:-2)
02-02 13:02:18.433  4181  4196 I art     :   at java.lang.Class java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:400)
02-02 13:02:18.433  4181  4196 I art     :   at java.lang.Class android.support.test.internal.runner.TestLoader.doLoadClass(java.lang.String) (TestLoader.java:92)
02-02 13:02:18.433  4181  4196 I art     :   at java.lang.Class android.support.test.internal.runner.TestLoader.loadIfTest(java.lang.String) (TestLoader.java:113)
02-02 13:02:18.433  4181  4196 I art     :   at void android.support.test.internal.runner.TestRequestBuilder.loadClassesFromClassPath(android.support.test.internal.runner.TestLoader, java.util.Set) (TestRequestBuilder.java:801)
02-02 13:02:18.433  4181  4196 I art     :   at android.support.test.internal.runner.TestRequest android.support.test.internal.runner.TestRequestBuilder.build() (TestRequestBuilder.java:747)
02-02 13:02:18.433  4181  4196 I art     :   at android.support.test.internal.runner.TestRequest android.support.test.runner.AndroidJUnitRunner.buildRequest(android.support.test.internal.runner.RunnerArgs, android.os.Bundle) (AndroidJUnitRunner.java:354)
02-02 13:02:18.433  4181  4196 I art     :   at void android.support.test.runner.AndroidJUnitRunner.onStart() (AndroidJUnitRunner.java:260)
02-02 13:02:18.433  4181  4196 I art     :   at void android.app.Instrumentation$InstrumentationThread.run() (Instrumentation.java:1932)
02-02 13:02:18.433  4181  4196 I art     :
02-02 13:02:18.434  4181  4196 E TestLoader: Could not find class: net.bytebuddy.jar.asm.commons.JSRInlinerAdapter
02-02 13:02:18.437  4181  4196 I art     : Rejecting re-init on previously-failed class java.lang.Class<net.bytebuddy.jar.asm.commons.TryCatchBlockSorter>: java.lang.NoClassDefFoundError: Failed resolution of: Lnet/bytebuddy/jar/asm/tree/MethodNode;
02-02 13:02:18.437  4181  4196 I art     :   at java.lang.Class java.lang.Class.classForName!(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:-2)
02-02 13:02:18.437  4181  4196 I art     :   at java.lang.Class java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:400)
02-02 13:02:18.437  4181  4196 I art     :   at java.lang.Class android.support.test.internal.runner.TestLoader.doLoadClass(java.lang.String) (TestLoader.java:92)
02-02 13:02:18.437  4181  4196 I art     :   at java.lang.Class android.support.test.internal.runner.TestLoader.loadIfTest(java.lang.String) (TestLoader.java:113)
02-02 13:02:18.437  4181  4196 I art     :   at void android.support.test.internal.runner.TestRequestBuilder.loadClassesFromClassPath(android.support.test.internal.runner.TestLoader, java.util.Set) (TestRequestBuilder.java:801)
02-02 13:02:18.437  4181  4196 I art     :   at android.support.test.internal.runner.TestRequest android.support.test.internal.runner.TestRequestBuilder.build() (TestRequestBuilder.java:747)
02-02 13:02:18.437  4181  4196 I art     :   at android.support.test.internal.runner.TestRequest android.support.test.runner.AndroidJUnitRunner.buildRequest(android.support.test.internal.runner.RunnerArgs, android.os.Bundle) (AndroidJUnitRunner.java:354)
02-02 13:02:18.437  4181  4196 I art     :   at void android.support.test.runner.AndroidJUnitRunner.onStart() (AndroidJUnitRunner.java:260)
02-02 13:02:18.437  4181  4196 I art     :   at void android.app.Instrumentation$InstrumentationThread.run() (Instrumentation.java:1932)
02-02 13:02:18.437  4181  4196 I art     : Caused by: java.lang.ClassNotFoundException: Didn't find class "net.bytebuddy.jar.asm.tree.MethodNode" on path: DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file "/data/app/com.example.countolaf.scheme.test-2/base.apk", zip file "/data/app/com.example.countolaf.scheme-2/base.apk"],nativeLibraryDirectories=[/data/app/com.example.countolaf.scheme.test-2/lib/x86_64, /data/app/com.example.countolaf.scheme-2/lib/x86_64, /system/lib64, /vendor/lib64]]
02-02 13:02:18.437  4181  4196 I art     :   at java.lang.Class dalvik.system.BaseDexClassLoader.findClass(java.lang.String) (BaseDexClassLoader.java:56)
02-02 13:02:18.438  4181  4196 I art     :   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String, boolean) (ClassLoader.java:380)
02-02 13:02:18.438  4181  4196 I art     :   at java.lang.Class java.lang.ClassLoader.loadClass(java.lang.String) (ClassLoader.java:312)
02-02 13:02:18.438  4181  4196 I art     :   at java.lang.Class java.lang.Class.classForName!(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:-2)
02-02 13:02:18.438  4181  4196 I art     :   at java.lang.Class java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (Class.java:400)
02-02 13:02:18.438  4181  4196 I art     :   at java.lang.Class android.support.test.internal.runner.TestLoader.doLoadClass(java.lang.String) (TestLoader.java:92)
02-02 13:02:18.438  4181  4196 I art     :   at java.lang.Class android.support.test.internal.runner.TestLoader.loadIfTest(java.lang.String) (TestLoader.java:113)
02-02 13:02:18.438  4181  4196 I art     :   at void android.support.test.internal.runner.TestRequestBuilder.loadClassesFromClassPath(android.support.test.internal.runner.TestLoader, java.util.Set) (TestRequestBuilder.java:801)
02-02 13:02:18.438  4181  4196 I art     :   at android.support.test.internal.runner.TestRequest android.support.test.internal.runner.TestRequestBuilder.build() (TestRequestBuilder.java:747)
02-02 13:02:18.438  4181  4196 I art     :   at android.support.test.internal.runner.TestRequest android.support.test.runner.AndroidJUnitRunner.buildRequest(android.support.test.internal.runner.RunnerArgs, android.os.Bundle) (AndroidJUnitRunner.java:354)
02-02 13:02:18.438  4181  4196 I art     :   at void android.support.test.runner.AndroidJUnitRunner.onStart() (AndroidJUnitRunner.java:260)
02-02 13:02:18.438  4181  4196 I art     :   at void android.app.Instrumentation$InstrumentationThread.run() (Instrumentation.java:1932)
  1. OBSERVE That the exceptions have not caused the unit test to fail.
  2. Run the gradle install tasks again ./gradlew installDebug installDebugAndroidTest
  3. Run the package manager command to display the device's currently installed instrumented packages adb shell pm list instrumentation, locate test app in output
    example: instrumentation:com.example.countolaf.scheme.test/android.support.test.runner.AndroidJUnitRunner (target=com.example.countolaf.scheme)
  4. copy the package/runner portion (com.example.countolaf.scheme.test/android.support.test.runner.AndroidJUnitRunner)
  5. Run the same unit tests using the Android activity manager (am)
    adb shell am instrument -w com.example.countolaf.scheme.test/android.support.test.runner.AndroidJUnitRunner
    RESULT)
    The same exceptions have occurred but are considered test failures.

EDIT by @bric3 : improved markdown formatting for better readability

@tmurakami
Copy link
Contributor

I also faced this issue and found a workaround.

Workaround

Add the following AndroidManifest.xml to your androidTest directory.

<!--
The workaround for Mockito issue #922
https://github.com/mockito/mockito/issues/922
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package=[your test package]>
    <!--suppress AndroidDomInspection -->
    <instrumentation>
        <!--suppress AndroidElementNotAllowed -->
        <meta-data
            android:name="notPackage"
            android:value="net.bytebuddy" />
    </instrumentation>
</manifest>

Or if using your own AndroidJUnitRunner, you can also set the notPackage option on onCreate().

public class YourAndroidJUnitRunner extends AndroidJUnitRunner {
    @Override
    public void onCreate(Bundle arguments) {
        /*
        The workaround for Mockito issue #922
        https://github.com/mockito/mockito/issues/922
        */
        arguments.putString("notPackage", "net.bytebuddy");
        super.onCreate(arguments);
    }
}

@andrew-carmichael
Copy link
Author

@tmurakami Wonderful. Thanks for the workaround. Fixed the issue for me.

@raphw
Copy link
Member

raphw commented Feb 6, 2017

The problem is that the Android test suite scans all classes and attempts loading all of them. The Mockito and Byte Buddy dependencies should however be off limits as they contain code that the Android runtime does not support, therefore, the explicit exclusion fixes the problem.

I am currently looking for a way of letting Android know from the library that we will not contain any test sources. This is done by the explicit runner exclusion but I hoped that there was a property to do so. If this is not possible, I am afraid, then the suggested solution is the only way to do so in which case this should become part of the documentation.

@tmurakami
Copy link
Contributor

tmurakami commented Feb 7, 2017

I have made the workaround library for this issue.
https://github.com/tmurakami/mockito-android-fix-922
You can use it if you want.

@raphw If it is possible to change the mockito-android artifact to an android-gradle project, you can solve this issue just by placing AndroidManifest.xml in the src/main directory.
Please refer to my library.

@raphw
Copy link
Member

raphw commented Feb 7, 2017

Thanks for the detailed description of a work-around! I will try to integrate this tonight. If you find the time, feel free to submit a PR.

@mockito/developers Is this Android dependency for the artifact possible in our build? Or do you think we should rather add information to the docs.

@raphw
Copy link
Member

raphw commented Feb 7, 2017

@tmurakami Could you have a look at the android-bundle branch and maybe try to build it? Is this artifact compatible without any additional setup? Thanks for your feedback!

@tmurakami
Copy link
Contributor

@raphw I have tried to build the android-bundle branch.

$ git fetch upstream
$ git checkout android-bundle
$
$ ./gradlew clean build
Parallel execution is an incubating feature.
Version: 2.7.6

FAILURE: Build failed with an exception.

* Where:
Script '/home/tmura/IdeaProjects/mockito/gradle/publishable-java-library.gradle' line: 16

* What went wrong:
A problem occurred evaluating script.
> Could not find method jar() for arguments [publishable_java_library_bo41e5d83pohzjf8bkk1yxmlv$_run_closure2@1607fa63] on project ':android' of type org.gradle.api.Project.

* 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: 3.158 secs

I suppose that you have to prepare these files for Android.

  • library.gradle
  • pom.gradle
  • publishable.gradle

In addition, you probably need to change travis.yml to build Android project.
(Sorry, I am not familiar with Travis CI.)

I think I can add gradle files for Android project.
Should I submit PR for the 'android-bundle' branch?

@raphw
Copy link
Member

raphw commented Feb 8, 2017

Please do! If we get the artifact right, we can adjust the Travis build from there! Thanks a lot!

@tmurakami
Copy link
Contributor

tmurakami commented Feb 20, 2017

FYI, in relation to #943, shading Byte Buddy will probably solve this issue (and PR #938 will be unnecessary).
Because Android test runner does not scan org.mockito classes.

In the latest test runner com.android.support.test:runner:0.5, the following packages are not scanned by default.

// Excluded test packages
private static final String[] DEFAULT_EXCLUDED_PACKAGES = {
    "junit",
    "org.junit",
    "org.hamcrest",
    "org.mockito",// exclude Mockito for performance and to prevent JVM related errors
    "android.support.test.internal.runner.junit3",// always skip AndroidTestSuite
    "org.jacoco"// exclude Jacoco to prevent class loading issues
};

from android.support.test.internal.runner.TestRequestBuilder#L63-L71

@raphw
Copy link
Member

raphw commented Feb 21, 2017

I did not know about the explicit exclusion but I did wonder why it did not reject Mockito while investigating this. Ideally, they should exclude Byte Buddy and cglib, too.

@tmurakami
Copy link
Contributor

@andrew-carmichael Sorry, the above workaround is bad.
If applying that workaround, you will not be able to run a single test.

Instead, run am instrument with package option.

$ adb shell am instrument -w -e package [your test package] com.example.countolaf.scheme.test/android.support.test.runner.AndroidJUnitRunner

@raphw Please do not merge PR #938 to release/2.x branch.
I'm sorry.

@raphw
Copy link
Member

raphw commented Feb 22, 2017

Thanks for the update. I will put this into the documentation and hopefully, the Android folks can exclude the Byte Buddy namespace, too. I would not know how to file an issue there, but I will look into it. Otherwise, feel free to do it yourself.

@tmurakami
Copy link
Contributor

@raphw If you want, I will report this issue to the AOSP team.
Please give me your permission.

@raphw
Copy link
Member

raphw commented Feb 23, 2017

@tmurakami Please do, thanks a lot!

@tmurakami
Copy link
Contributor

I have just reported to the AOSP team.
https://code.google.com/p/android/issues/detail?id=234887

@knutvalen
Copy link

any updates on this issue?

@tmurakami
Copy link
Contributor

@knutvalen, I filed a patch, but unfortunately I have no reply from the AOSP team...
To avoid this problem, please try the above workground.

@tmurakami
Copy link
Contributor

tmurakami commented Jul 25, 2017

With test runner 1.0.0, this issue seems to be solved.

repositories {
    google()
}

dependencies {
    androidTestCompile 'com.android.support.test:runner:1.0.0'
}

@andrew-carmichael
Copy link
Author

Yes upgrading to test runner 1.0.0 has fixed the issue for us as well.

@TTransmit
Copy link

TTransmit commented Sep 6, 2017

@tmurakami Do you need to upgrade an Android project to Android Studio 3 in order to use test runner 1.0.0 or 1.0.1?

UPDATE Adding the following to app build.gradle worked in Android Studio 2:

android {
    ...
}

repositories {
    mavenCentral()
    ...
    maven {
        url "https://maven.google.com"
    }
}

@tmurakami
Copy link
Contributor

The Google repository has been added since Gradle 4.0.
https://docs.gradle.org/4.0/release-notes.html#convenience-method-for-adding-google-repository

If you use Gradle < 4.0, you need to add maven { url: 'https://maven.google.com' } instead of google().

@tmurakami
Copy link
Contributor

I think this issue should be closed because it is solved in Android Testing Support Library 1.0.0.

@TimvdLippe
Copy link
Contributor

Closing per above comment.

@pedronveloso
Copy link

I'm proposing this issue be opened again. It hasn't been fixed on Android Testing Support Library 1.0.0. I've actually tested with 1.0.2 and it is still there. Also, the above AOSP patch hasn't been merged either.

@raphw raphw reopened this Aug 3, 2018
@raphw
Copy link
Member

raphw commented Aug 3, 2018

I do not currently have much time to test this myself, does Byte Buddy fail to inject classes? I have only followed the API instructions. Could you provide a stack trace with the latest version?

@tmurakami
Copy link
Contributor

Sorry for my late reply.
I've just written a comment on Google Gerrit.
https://android-review.googlesource.com/c/platform/frameworks/testing/+/378632

@ivanzotov
Copy link

Nothing helped but downgrading mockito to 2.22.0

@tir38
Copy link

tir38 commented Feb 20, 2019

We're seeing this now from moving from testing 1.0.2 to 1.1.1 (via androidx)

@aumarbello
Copy link

Any update on this?

@raphw
Copy link
Member

raphw commented Jan 28, 2020

Are you trying with recent version of Byte Buddy? This should no longer be an issue.

@aumarbello
Copy link

I was using an old(default) test runner, updating to the new test runner fixed it for me.

Thanks.

@TimvdLippe
Copy link
Contributor

Closing this once again after inactivity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants