Error:Java exception in 'NativeModules' java.lang.RuntimeException: Got unknown argument class: Info

I’m currently creating a ‘react-native module’.

I’m referring to this.

I’m trying to create and apply a module, but there’s a problem with the function.

Info.java:

package com.control;

import android.widget.Toast;

import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;

import android.os.Parcel;
import android.os.Parcelable;

import java.util.Map;
import java.util.HashMap;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

public class Info extends ReactContextBaseJavaModule implements Serializable, Parcelable {
private static final String DURATION_SHORT_KEY = "SHORT";
    private static final String DURATION_LONG_KEY = "LONG";

public Info(ReactApplicationContext reactContext) {
        super(reactContext);
    }
@Override
    public String getName() {
        return "Info";
    }

private String Type = "";

@ReactMethod(isBlockingSynchronousMethod = true)
    public String getType() {
        return Type;
    }

    @ReactMethod
    public void setType(String Type) {
        this.Type = Type;
    }
...
@Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(Type);
    }

public static final Creator<Info> CREATOR = new Creator<Info>() {
        public Info createFromParcel(Parcel in) {
            return new Info(in);
        }

        public Info[] newArray(int size) {
            return new Info[size];
        }
    };

public Info(Parcel in) {
        super(null);
        coinType = in.readString();
    }
}

Manager.java:


package com;

import android.widget.Toast;
import android.content.Context;

import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.ReadableMap;

import com.control.Info;
import io.realm.Realm;
import io.realm.RealmConfiguration;
import io.realm.RealmMigration;

import java.util.Map;
import java.security.Security;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

public class Manager extends ReactContextBaseJavaModule {
private static final String DURATION_SHORT_KEY = "SHORT";
    private static final String DURATION_LONG_KEY = "LONG";

private ReactApplicationContext mReactContext;

public Manager(ReactApplicationContext reactContext) {
        super(reactContext);
        mReactContext = reactContext;
    }
@Override
    public String getName() {
        return "Manager";
    }
...
private Info info;

@ReactMethod(isBlockingSynchronousMethod = true)
public Info getInfo() {
        return info;
    }
...
}

App.js

import React, { Component } from "react";
import { StyleSheet, Text, View, NativeModules } from "react-native";

const { Manager, Info } = NativeModules;

export default class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {};
  }

  componentWillMount() {
    manager = new Manager();
    manager.getInfo();
  }

  render() {
    return (
      <View style={styles.container}>
        <Text>Test</Text>
      </View>
    );
  }
}

As you can see, I’m going to use the argument type of the function as Info.

However, as you can see below ‘error code’, the error occur.

Java exception in 'NativeModules'

java.lang.RuntimeException: Got unknown argument class: Info
com.facebook.react.bridge.JavaMethodWrapper.buildArgumentExtractors ...

How can I use ‘Info’ as an argument type? Please help me a lot.