React Native APK构建失败无法处理传入的事件' ProgressComplete'

时间:2017-04-07 17:52:00

标签: react-native

突然间我无法构建一个发布apk,其中包含以下错误:

  

[04/07/2017,20:37:22]转换文件(18437ms)包:   start bundle:完成bundle:将bundle输出写入:   d:\ likecounter \机器人\程序\编译\ \中间体资产\发布\ index.android.bundle   bundle:完成编写bundle输出包:复制13个资产文件   捆绑:完成复制资产

     

失败:构建因异常而失败。

     

出了什么问题:无法处理传入的事件' ProgressComplete'   (ProgressCompleteEvent)

     

尝试:使用--stacktrace选项运行以获取堆栈跟踪。运行   --info或--debug选项可以获得更多日志输出。

我尝试使用建议的标志,但它们没有帮助。

我能想到的唯一可能导致此问题的是当我试图按下Android Studio上的运行按钮时,它建议允许与"即时运行"我天真地同意了。

我尝试采取以下步骤:

  • 将gradle版本从2.2.3更改为2.1.2
  • 通过访问Build取消Android Studio配置中的即时运行, 执行,部署 - >即时运行 - >取消选择所有内容

9 个答案:

答案 0 :(得分:7)

我遇到了同样的问题,我通过使用普通控制台运行命令来解决它:

YOURCOMMAND --console plain

答案 1 :(得分:1)

react-native 0.50.4

./ android / build.gradle> buildscript>依赖关系:

public CompletableFuture<String> testFunction() {

    Future<Object> fut = Patterns.ask(getContext().actorSelection("actor1"), new ProcessToCheckMessage(1), 10);

    return FutureConverters.toJava(fut).toCompletableFuture()

            .thenApply(obj -> getResponseMessage(obj))

            .thenCompose(processCheckResponseMessage -> getResponseString(processCheckResponseMessage));
}

public ProcessCheckResponseMessage getResponseMessage(Object obj) {
    if (obj instanceof ProcessCheckResponseMessage) {
        return (ProcessCheckResponseMessage) obj;
    } else {
        throw new RuntimeException("unexpected data");
    }
}

public CompletableFuture<String> getResponseString(ProcessCheckResponseMessage processCheckResponseMessage) {
    if (processCheckResponseMessage.isCorrect()) {
        Future<Object> rest = Patterns.ask(getContext().actorSelection("actor2"), new ProcessStartMessage(1), 10);
        return FutureConverters.toJava(rest).toCompletableFuture().thenApply(obj -> "yes");
    } else {
        return CompletableFuture.completedFuture("no");
    }
}

./ android / gradle / wrapper / gradle-wrapper.properties&gt;发行网址:

classpath 'com.android.tools.build:gradle:2.3.3'

解决了:

distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip

答案 2 :(得分:1)

react-native run-android --variant=release

生成发行版APK时我也遇到了同样的错误。

失败:构建失败,并出现异常。

出了什么问题:无法处理传入事件'ProgressComplete'(ProgressCompleteEvent)

尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行,以获取更多日志输出。

使用此命令,我可以找到原因。

gradlew assembleRelease --console plain
  • 出了什么问题: 任务':app:transformClassesWithDexForRelease'的执行失败。

      

    com.android.build.api.transform.TransformException:com.android.ide.common.pro   cess.ProcessException:java.util.concurrent.ExecutionException:com.android.dex。   DexIndexOverflowException:字段ID不在[0,0xffff]中:65536

  • 尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug运行 选项以获取更多日志输出。

我可以通过启用multidex来生成发布apk。

android {

    defaultConfig {
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

dependencies {
  compile 'com.android.support:multidex:1.0.1'
}

答案 3 :(得分:0)

我在更新到最新版本的Android Studio和Gradle

后设法构建了一个版本apk

答案 4 :(得分:0)

我做了gradlew清洁 然后我关闭android工作室并再次打开它 然后gradlew assembleRelease 然后它工作

答案 5 :(得分:0)

我手动将gradle从4.2升级到4.3,错误不再存在。 (在Windows 10上)

答案 6 :(得分:0)

使用Gradle并使用以下命令时,问题永远不会发生:

<securityRealm class="hudson.security.SecurityRealm$None">

答案 7 :(得分:0)

这就是我发生的事情,我花了一段时间才意识到这一点我在这里分享,因为它可能对其他人有所帮助。

我想将应用上传到Google Play商店,然后我在AndroidManifest.xml中增加了版本和版本名称,

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.girocheck.GirocheckMobile"
    android:versionCode="5"
    android:versionName="5.0">
...

但碰巧我还需要在build.gradle文件中增加这个值:

...

android {
    compileSdkVersion 23
    buildToolsVersion '25.0.0'

    defaultConfig {
        applicationId "com.app.package"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 5    //make sure you increase these too
        versionName "5.0"//make sure you increase these too
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
    }

...

一旦我使两个文件具有相同的版本,问题就会停止。

我希望它有所帮助..

答案 8 :(得分:0)

我在Windows 10上遇到了类似的问题。

我不是百分百肯定,但我认为这与你正在使用的命令工具有关。

如果我使用 CMD gradlew assembleRelease工作正常。 但如果我使用PowerShell,问题就出现了。

在powershell上我必须使用:gradlew assembleRelease --console plain

--console plain禁用输出中的特殊颜色字符并修复它。