gpt4 book ai didi

javascript - 如何让我的phonegap Android应用程序崩溃?

转载 作者:行者123 更新时间:2023-12-03 00:07:54 25 4
gpt4 key购买 nike

我正在为phonegap Android 应用程序开发一个崩溃报告插件。出于测试目的,我必须使我的应用程序崩溃并且必须调用“不幸的是,应用程序已停止”窗口。当我在 JavaScript 中发生未处理的异常时,应用程序不会崩溃。相反,它显示相同的屏幕。我通过在 javascript 中执行一些无限循环,使应用程序屏幕停止响应用户输入,并等待了大约 1 小时,应用程序仍然没有崩溃。 phonegap 库默认处理异常吗?如何通过在 javascript 级别发出异常来使我的应用程序崩溃?

我尝试了下面的代码,添加了一个java方法来在“CordovaActivity”类中生成崩溃。

public static void generateCrash()
{
int a = 0;
int b = 10;
int c = b/a ;
}

当我从 java 调用此方法(从事件类中的“onCreate”)时,应用程序崩溃。但是,当我使用插件从 javascript 调用相同的方法时,应用程序并没有崩溃。我希望我的应用程序通过从 javascript 调用/调用某些函数来崩溃。

最佳答案

按菜单按钮崩溃:

您无法通过插件或 JavaScript 调用使应用程序崩溃,因为异常是在内部处理的。如果你想让应用程序在Android中崩溃,你可以在Android平台上编辑CordovaActivity.java。更改 onCreateOptionsMenu 如下所示:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
this.postMessage("onCreateOptionsMenu", menu);
throw new RuntimeException();
}

菜单按钮,应用程序将崩溃并显示“不幸的是,应用程序已停止”窗口。

从 Javascript 调用某些 native 函数导致崩溃:

为 Phonegap 编写一个 Android 原生插件。请参阅http://docs.phonegap.com/en/3.0.0/guide_platforms_android_plugin.md.html#Android%20Plugins用于插件创建。在执行方法内抛出异常。这将在父层处理(这就是为什么您可以在控制台中看到有关崩溃的日志),因此请执行以下更改以使应用程序崩溃。(这两个类都属于 org.apache. Cordova 包)

  • 删除 pluginManager 类的 execHelper 方法中的 catch (Exception e){} block 。
  • 删除 ExposedJsApi 类的 exec 方法中的 catch (Throwable e) {} block 。

    通过此更改,我可以通过 javascript 调用使应用程序崩溃。

关于javascript - 如何让我的phonegap Android应用程序崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28340920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com