【问题标题】:Retrofit native crash Fatal signal 11 (SIGSEGV)改造原生崩溃致命信号11(SIGSEGV)
【发布时间】:2015-03-22 13:16:57
【问题描述】:

我正在使用 Retrofit 库与服务器端进行通信。从服务器我得到对象列表

List<BaseAction>

我将子操作存储为:ActionUrl, ActionBell, etc. 我在回调成功方法中崩溃了

 Fatal signal 11 (SIGSEGV), code 1, fault addr 0x610091 in tid 21471

我的问题是:出了什么问题,为什么要改造 crash native?

【问题讨论】:

    标签: android json serialization gson retrofit


    【解决方案1】:

    我花了几个小时进行调试,然后在 List 中发现了这个问题。 Retrofit 无法正确反序列化我的 JSON 并将其转换为 java 对象。

    在 Volley 中,我使用了自己的类 ActionDeserialize&lt;T&gt; implements JsonDeserializer&lt;T&gt;,我在其中根据类实现类解析:

    private Type getTypeForType(BTypes bType) {
        return bType.getResponseClass();
    }
    

    更多详情here

    所以,我通过设置新的 GsonConverter 解决了我的问题(在阅读 blog 之后):

        Gson gson = new GsonBuilder()
                .registerTypeAdapter(BaseActionPOJO.class, new ActionDeserialize<BaseActionPOJO>())
                .create();
    
        RestAdapter restAdapter = new RestAdapter.Builder()
                .setLogLevel(loglevel)
                .setConverter(new GsonConverter(gson))
                .setRequestInterceptor(requestInterceptor)
                .setEndpoint(Urls.BASE_URL)
                .setClient(new OkClient())
                .build();
    

    它解决了本机部分的本机崩溃。 我希望它会节省您的时间。

    【讨论】:

      【解决方案2】:

      我仔细检查了,我有一个与库的输出不匹配的序列化名称。问题解决了!

      【讨论】:

        【解决方案3】:

        将这两行添加到您的 android 部分中的 build.gradle

        android{
            compileOptions {
                    sourceCompatibility 1.8
                    targetCompatibility 1.8
                }
        }
        

        【讨论】:

        • 解决了我的问题。
        【解决方案4】:

        对我来说,原来我没有互联网权限,当我切换到旧版本的改造时,logcat 中出现了错误,当我添加权限并切换回时,它对我来说很好最新版本。 将此权限添加到清单

            <uses-permission android:name="android.permission.INTERNET"/>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-06-19
          • 2016-12-05
          • 1970-01-01
          • 1970-01-01
          • 2020-03-23
          • 2014-09-17
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多