ChatSDK 初始化时抛出 InvocationTargetException 错误。

huangapple 未分类评论46阅读模式
英文:

ChatSDK initialize throwing InvocationTargetException error

问题

好的,以下是翻译好的内容:

目前我正在将 ChatSDK 集成到一个现有的应用中。一切都还好,但当我尝试调用 ChatSDK.ui().startSplashScreenActivity(context); 时,它抛出了一个空指针错误。

我成功地将问题缩小到了 ChatSDK.initialize(context, builder.build(), FirebaseNetworkAdapter.class, BaseInterfaceAdapter.class);
这里抛出了 java.lang.reflect.InvocationTargetException。在堆栈跟踪中也显示了以下内容:
at co.chatsdk.core.session.ChatSDK.initialize(ChatSDK.java:86)

---> 这是指:shared().setNetworkAdapter(networkAdapterClass.getConstructor().newInstance());

所以根据我所了解,网络适配器出现了一些问题,也就是我与 Firebase 的连接(在另一个 chatsdk 应用中有效),或者是互联网连接?
我不太确定如何继续处理这个问题,所以真的很希望能得到你的帮助。

以下是你提供的代码以供参考。

谢谢

Context context = getApplicationContext();

try {
    // 创建一个新的配置
    Configuration.Builder builder = new Configuration.Builder();

    // 进行任何其他配置步骤(可选)
    builder.firebaseRootPath("prod");

    // 初始化 Chat SDK
    ChatSDK.initialize(context, builder.build(), FirebaseNetworkAdapter.class, BaseInterfaceAdapter.class);

    // 需要文件存储用于上传配置文件图片和图片消息
    FirebaseFileStorageModule.activate();

    // 推送通知模块
    //FirebasePushModule.activate();
    // 激活其他所需的模块。
    // ...

} catch (Exception e) {
    // 处理任何异常
    e.printStackTrace();
    Log.e("chatsdkError", e.toString());
}
public class Messages extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle onSavedInstance){
        super.onCreate(onSavedInstance);
        setContentView(R.layout.activity_messages);

        Context context = getApplicationContext();
        ChatSDK.ui().startSplashScreenActivity(context);
    }
}

最后,以下是我认为重要的一部分堆栈跟踪

W/System.err: java.lang.reflect.InvocationTargetException
    at java.lang.reflect.Constructor.newInstance0(Native Method)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
    at co.chatsdk.core.session.ChatSDK.initialize(ChatSDK.java:86)
    at com.ul.pinter.Home.onCreate(Home.java:101)
    at android.app.Activity.performCreate(Activity.java:7815)
    at android.app.Activity.performCreate(Activity.java:7804)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1318)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3349)
英文:

Okay so, I am currently integrating chatSDK into a pre-existing app. This is all fine, but when i try to call ChatSDK.ui().startSplashScreenActivity(context); it throws an errors that it was invoked on a null pointer.

I managed to narrow this down to ChatSDK.initialize(context, builder.build(), FirebaseNetworkAdapter.class, BaseInterfaceAdapter.class);
Which was throwing java.lang.reflect.InvocationTargetException. In the stack trace this was also shown
at co.chatsdk.core.session.ChatSDK.initialize(ChatSDK.java:86)

--> which is :shared().setNetworkAdapter(networkAdapterClass.getConstructor().newInstance());

So from what I gather, there is something funky going on with the network adapter, i.e my connection to firebase (works with another chatsdk app), or internet connection?
I'm not quite sure how to go forward this this so would really appreciate your help.

Here is the code for reference.
Thank you

    Context context = getApplicationContext();

        try {
            // Create a new configuration
            Configuration.Builder builder = new Configuration.Builder();

            // Perform any other configuration steps (optional)
            builder.firebaseRootPath("prod");

            // Initialize the Chat SDK
            //Configuration.Builder config = new Configuration.Builder(context);
            ChatSDK.initialize(context, builder.build(), FirebaseNetworkAdapter.class, BaseInterfaceAdapter.class);

            // File storage is needed for profile image upload and image messages
            FirebaseFileStorageModule.activate();

            // Push notification module
            //FirebasePushModule.activate();
            // Activate any other modules you need.
            // ...


        } catch (Exception e) {
            // Handle any exceptions
            e.printStackTrace();
            Log.e("chatsdkError",e.toString());
        }
public class Messages extends AppCompatActivity {
    @Override
    protected  void onCreate(Bundle onSavedInstance){
        super.onCreate(onSavedInstance);
        setContentView(R.layout.activity_messages);

        Context context = getApplicationContext();
        ChatSDK.ui().startSplashScreenActivity(context);
    }
}

And lastly, here is some of the stack trace that i think is important

W/System.err: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
        at co.chatsdk.core.session.ChatSDK.initialize(ChatSDK.java:86)
        at com.ul.pinter.Home.onCreate(Home.java:101)
        at android.app.Activity.performCreate(Activity.java:7815)
        at android.app.Activity.performCreate(Activity.java:7804)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1318)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3349)

huangapple
  • 本文由 发表于 2020年4月8日 01:05:12
  • 转载请务必保留本文链接:https://java.coder-hub.com/61085450.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定