再現不可能なビルドがgradle-android-test-pluginで失敗する

lippertsjan

プロジェクトの1つでgradle-android-test-pluginを使用しています4台のマシンのうち3台で、./gradlew --daemon test成功しています。一方、それは失敗します。

build.gradleはここにあり、.travis.ymlはここにありますすべてのマシンの構成は非常に似ています。私が見つけた違いは次のとおりです。

  • さまざまなLinuxカーネル
  • 異なるJavaビルド名(つまり、「ArchLinuxビルド7.u55_2.4.7-1-x86_64」)

プロジェクトのサイト質問した後、環境構成を比較してここで質問することをお勧めしました。この問題がどこから来ているのかわかりません:

  • 私のコードのバグを含みます。build.gradle
  • 環境構成(<-おそらくこれ)
  • プラグインまたはgradleのバグ

./gradlew --daemon testこれがこの動作を示す唯一のコマンドであるため(他のコマンドは異なるPCで一貫して動作します)、どこをさらに調べるべきか本当にわかりません。以下のスタックトレースにより、ビルドが失敗します。

java.lang.RuntimeException: java.lang.RuntimeException: Stub!
    at org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:240)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at org.robolectric.RobolectricTestRunner$1.evaluate(RobolectricTestRunner.java:177)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:86)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:69)
    at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:50)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
    at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
    at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
    at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:103)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:355)
    at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.RuntimeException: Stub!
    at android.net.Uri.parse(Uri.java:53)
    at org.robolectric.shadows.ShadowMediaStore.reset(ShadowMediaStore.java:27)
    at org.robolectric.Robolectric.reset(Robolectric.java:1351)
    at org.robolectric.internal.ParallelUniverse.resetStaticState(ParallelUniverse.java:47)
    at org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:226)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
    at org.robolectric.RobolectricTestRunner$1.evaluate(RobolectricTestRunner.java:177)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:86)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49)
    at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:69)
    at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:50)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
    at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
    at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
    at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:103)
    ... 7 more

次のテストを実行するとスローされます。

@Config(emulateSdk = 18)
@RunWith(RobolectricTestRunner.class)
public class SanityTest {

    @Test
    public void sanity(){
        int i=1;
        assertEquals("insanity!", 2, i+1);
    }

}

完全を期すために、以下のJava構成:

FAIL$ java -version; javac -version
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (ArchLinux build 7.u55_2.4.7-1-x86_64)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
javac 1.7.0_55

SUCCESS1$ java -version; javac -version
java version "1.7.0_51"
OpenJDK Runtime Environment (IcedTea 2.4.4) (suse-8.32.5-x86_64)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
javac 1.7.0_51

SUCCESS2$ java -version; javac -version
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (ArchLinux build 7.u55_2.4.7-1-x86_64)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
javac 1.7.0_55

TRAVIS$ java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
TRAVIS$ javac -version
javac 1.7.0_51

また、の出力を確認しました./gradlew --versionが、関連する違いは見つかりませんでした。

SUCCESS1
------------------------------------------------------------
Gradle 1.10
------------------------------------------------------------

Build time:   2013-12-17 09:28:15 UTC
Build number: none
Revision:     36ced393628875ff15575fa03d16c1349ffe8bb6

Groovy:       1.8.6
Ant:          Apache Ant(TM) version 1.9.2 compiled on July 8 2013
Ivy:          2.2.0
JVM:          1.7.0_55 (Oracle Corporation 24.51-b03)
OS:           Linux 3.14.4-1-ARCH amd64

SUCCESS2
------------------------------------------------------------
Gradle 1.10
------------------------------------------------------------

Build time:   2013-12-17 09:28:15 UTC
Build number: none
Revision:     36ced393628875ff15575fa03d16c1349ffe8bb6

Groovy:       1.8.6
Ant:          Apache Ant(TM) version 1.9.2 compiled on July 8 2013
Ivy:          2.2.0
JVM:          1.7.0_55 (Oracle Corporation 24.51-b03)
OS:           Linux 3.14.4-1-ARCH amd64

FAIL
------------------------------------------------------------
Gradle 1.10
------------------------------------------------------------

Build time:   2013-12-17 09:28:15 UTC
Build number: none
Revision:     36ced393628875ff15575fa03d16c1349ffe8bb6

Groovy:       1.8.6
Ant:          Apache Ant(TM) version 1.9.2 compiled on July 8 2013
Ivy:          2.2.0
JVM:          1.7.0_55 (Oracle Corporation 24.51-b03)
OS:           Linux 3.10.40-1-MANJARO amd64
KeithYokoma

私も最近この問題に直面しており、以下のように問題を解決しています。

  1. 存在する場合は〜/ .m2ディレクトリを削除します
  2. 存在する場合は〜/ .gradle / cacheを削除します

その後、テストは機能します!

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Androidビルドgradleが特定のデバイスで失敗する

分類Dev

AndroidでFirebaseFirestoreGetInstanceが失敗する

分類Dev

Android用AdobeOmnitureがtrackActionで失敗する

分類Dev

Android JenkinsAntビルドが失敗する

分類Dev

IonicビルドAndroidがOSXEl Capitanで失敗する-:processDebugResources

分類Dev

GradleビルドがGoogleService Plugin3.2.0で失敗する

分類Dev

Android BLEreadCharacteristicが失敗する

分類Dev

Test Agent Deploymentv2がTFS2015で失敗する

分類Dev

kotlinkaptでdagger2.18を使用すると、Androidビルドが失敗する

分類Dev

「android.test.purchased」を使用すると、アプリ購入サーバー側の製品購入検証でGooglePlayが400エラーで失敗しました

分類Dev

Android GeocodergetFromLocationNameが有効なアドレスで失敗する

分類Dev

VSTSでのAndroidアプリのGradleビルドがメモリ不足後に失敗する

分類Dev

新しいプロジェクトでもAndroidのgradleビルドが失敗する

分類Dev

Android Gradle preDexDebugの「ソースと宛先が異なっている必要があります」ビルドが失敗したのはなぜですか?

分類Dev

Android Build.gradleの同期がNoSuchFieldErrorで失敗する:FOR_COMPILE

分類Dev

署名付きビルドAndroidでリフレクションが失敗する

分類Dev

CircleCIビルドがAndroidサポートライブラリで失敗する

分類Dev

Android-SliceViewerが失敗するのはなぜですか

分類Dev

ffmpegconcatビデオがAndroidで失敗する

分類Dev

Rspecの投稿:create invalid parameter controller testが失敗するのはなぜですか?

分類Dev

Android用の不可能なビルドIonic

分類Dev

Androidモードの処理でsvgsのloadShapeが失敗する

分類Dev

コードネーム1のIAPがAndroidで失敗する

分類Dev

maven-plugin-plugin:descriptorゴールがand and of fileで失敗する

分類Dev

react-native-firebaseの実装は、既存のプロジェクトでは不可能です(react-native @ .54)。gradleビルドが失敗しました

分類Dev

AndroidのAWSCognitoIDプールでGoogle認証が失敗する

分類Dev

Android Studio1.5.1でGradleビルドが失敗しました

分類Dev

UnitCIステップでCircleCI android runが失敗する

分類Dev

古いAndroidバージョンではdlopenが失敗する

Related 関連記事

  1. 1

    Androidビルドgradleが特定のデバイスで失敗する

  2. 2

    AndroidでFirebaseFirestoreGetInstanceが失敗する

  3. 3

    Android用AdobeOmnitureがtrackActionで失敗する

  4. 4

    Android JenkinsAntビルドが失敗する

  5. 5

    IonicビルドAndroidがOSXEl Capitanで失敗する-:processDebugResources

  6. 6

    GradleビルドがGoogleService Plugin3.2.0で失敗する

  7. 7

    Android BLEreadCharacteristicが失敗する

  8. 8

    Test Agent Deploymentv2がTFS2015で失敗する

  9. 9

    kotlinkaptでdagger2.18を使用すると、Androidビルドが失敗する

  10. 10

    「android.test.purchased」を使用すると、アプリ購入サーバー側の製品購入検証でGooglePlayが400エラーで失敗しました

  11. 11

    Android GeocodergetFromLocationNameが有効なアドレスで失敗する

  12. 12

    VSTSでのAndroidアプリのGradleビルドがメモリ不足後に失敗する

  13. 13

    新しいプロジェクトでもAndroidのgradleビルドが失敗する

  14. 14

    Android Gradle preDexDebugの「ソースと宛先が異なっている必要があります」ビルドが失敗したのはなぜですか?

  15. 15

    Android Build.gradleの同期がNoSuchFieldErrorで失敗する:FOR_COMPILE

  16. 16

    署名付きビルドAndroidでリフレクションが失敗する

  17. 17

    CircleCIビルドがAndroidサポートライブラリで失敗する

  18. 18

    Android-SliceViewerが失敗するのはなぜですか

  19. 19

    ffmpegconcatビデオがAndroidで失敗する

  20. 20

    Rspecの投稿:create invalid parameter controller testが失敗するのはなぜですか?

  21. 21

    Android用の不可能なビルドIonic

  22. 22

    Androidモードの処理でsvgsのloadShapeが失敗する

  23. 23

    コードネーム1のIAPがAndroidで失敗する

  24. 24

    maven-plugin-plugin:descriptorゴールがand and of fileで失敗する

  25. 25

    react-native-firebaseの実装は、既存のプロジェクトでは不可能です(react-native @ .54)。gradleビルドが失敗しました

  26. 26

    AndroidのAWSCognitoIDプールでGoogle認証が失敗する

  27. 27

    Android Studio1.5.1でGradleビルドが失敗しました

  28. 28

    UnitCIステップでCircleCI android runが失敗する

  29. 29

    古いAndroidバージョンではdlopenが失敗する

ホットタグ

アーカイブ