在自定义库中调试Android

时间:2017-11-22 19:07:03

标签: android react-native

我刚刚使用react-native-create-library创建了一个react-native库,并将其导入到我的master react-native项目中。

我有一些问题,因为(老实说)我缺乏知识。 问题是没有错误(使用logcat),我不知道如何调试导入库的android部分。

示例

public class RNZappsCameraModule extends ReactContextBaseJavaModule
  implements ActivityEventListener {

  @ReactMethod
  public void myJavascriptMethod() {
    // I want a breakpoint here
    // cameraIntent initialization happens here

    try
    {
      currentActivity.startActivityForResult(cameraIntent, requestCode);
    }
    catch (ActivityNotFoundException e)
    {
      e.printStackTrace();
    }
  }

  @Override
  public void onActivityResult(Activity activity, int requestCode, int resultCode, Intent data)
  {
    // I want a breakpoint here
  }
}

相机意图开始很好,但我相信onActivityResult永远不会被击中。 我知道我可以记录所有内容并阅读它,但这不能解释为什么结果永远不会返回到我的应用程序,因为首先没有错误。

谷歌和官方的RN文件目前不是我的朋友,所以请让我走上正轨。

1 个答案:

答案 0 :(得分:0)

找到它。 这里没有火箭科学。我不知道我到底是怎么做到的......

Anyheeew,给路人这个问题一个合理的答案...... 首先,您需要一个react-native(主)项目,以便在react-native上下文中实际运行您的库。

所以创建它并导入你的库。最简单的方法是将您的库推入git存储库,并在您的主项目的package.json中添加您的库,如下所示:

  

“react-native-your-package”:“git + https://your-git-url-here”,

现在安装它:npm install react-native-your-package

为了调试你的库:

  • 在Android Studio中打开您的react-native项目的android项目
  • 在menu =>中view =>在工具窗口中,单击“构建变体”
  • 新窗口显示项目和已加载模块的构建类型
  • 单击要调试的模块旁边的Build Variant下拉列表,然后选择'debug'
  • 调试主Android项目
  • 在项目视图中,您可以扩展模块并将断点放在任何您喜欢的位置
  • 单击调试按钮并修复您从未头脑中的错误