android - 改造 - A/libc : Fatal signal 11 (SIGSEGV), 代码 1

标签 android retrofit retrofit2 segmentation-fault

我收到 A/libc:致命信号 11 (SIGSEGV),当使用改造类生成我的服务接口(interface)的实现时代码 1。

我认为这是由于 native 库中的空指针段错误造成的。什么都没有抛出,所以我无法追踪它。最奇怪的是,它不会发生在我的任何模拟器或物理设备(所有 6.0)上,除了我的 HTC 恰好是 6.0.1。

这是我的界面:

public interface RestApiPerson {
    @GET(QUERY_PERSON)
    Call<PersonSearchResults> getPersonSearchResult(@Query("query") String q);
}

这里是实现。崩溃发生在 (Call< PersonSearchResults > call = restApi.getPersonSearchResult(query); )

Retrofit retrofit = new Retrofit.Builder()
        .baseUrl(END_POINT_PERSON)
        .addConverterFactory(GsonConverterFactory.create())
        .build();

RestApiPerson restApi = retrofit.create(RestApiPerson.class);
Call<PersonSearchResults> call = restApi.getPersonSearchResult(query);

这是堆栈:

07-31 12:58:08.492 18310-18310/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x3ad75934
07-31 12:58:08.522 18310-18310/? A/DEBUG:     r0 70fc5774  r1 12d78a00  r2 0025af14  r3 b276c070
07-31 12:58:08.522 18310-18310/? A/DEBUG:     r4 0025af14  r5 12d78a00  r6 70fc4dc4  r7 715c4a80
07-31 12:58:08.522 18310-18310/? A/DEBUG:     r8 12c5d190  r9 b8cbad20  sl 71866e80  fp be9a3a9c
07-31 12:58:08.522 18310-18310/? A/DEBUG:     ip b276c070  sp be9a3a20  lr 73d5b6e5  pc b49ffa68  cpsr 000e0030
07-31 12:58:08.522 18310-18310/? A/DEBUG: backtrace:
07-31 12:58:08.522 18310-18310/? A/DEBUG:     #00 pc 000eaa68  /system/lib/libart.so (art_quick_imt_conflict_trampoline+7)
07-31 12:58:08.522 18310-18310/? A/DEBUG:     #01 pc 022b46e3  /system/framework/arm/boot.oat (offset 0x2286000)
07-31 12:58:09.812 18310-18310/? A/DEBUG: Tombstone written to: /data/tombstones/tombstone_05

关于可能导致问题的原因,或者我如何自己确定问题,有什么想法吗?

最佳答案

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

我将此权限添加到 Manifest,它不再崩溃。

关于android - 改造 - A/libc : Fatal signal 11 (SIGSEGV), 代码 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38687466/

相关文章:

java - 如何为 Retrofit 中的挂起功能创建调用适配器?

java - 在 RxJava 2.x 中使用 flatMap

android - Retrofit 2.0取消一个Call对象

php - retrofit2 发送 PUT 请求方法对于 PHP 是错误的

android - 从 Android 模拟器运行 apk 文件时出现错误 "device not found"

android - 数据绑定(bind)失败, "couldn' 猜猜”

java - 如何配置 Square 的 Retrofit Client 来处理参数数量可变的请求

java - 改进错误 URL 查询字符串在提供动态值时不得有替换 block

android - 解析数据时出错 org.json.JSONException : Value ���� of type java. lang.String 无法转换为 JSONObject

java - 如何在特定日期设置时区?