douhuiwan5141 2019-05-21 22:20
浏览 254
已采纳

Gomobile库使用隐藏的API方法

I have an Android application which uses a Golang library (.aar) created with Gomobile. Anytime the application tries to create an instance of a class from the library or calls a library method it crashes with the next log message:

W/om.example.cal: Accessing hidden method Landroid/app/AppGlobals;->getInitialApplication()Landroid/app/Application; (greylist, reflection, allowed)
A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 11110 (om.example.calc), pid 11075 (om.example.calc)
Application terminated.

getInitialApplication method is located in Google's light greylist (line 349). I know it's impossible to access any hidden method on SDK version 28 and higher, that's why I wrote the next in build.gradle (26 is the least version for Play Market):

compileSdkVersion 26
minSdkVersion 15
targetSdkVersion 26
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
implementation 'com.android.support:appcompat-v7:26.1.0'

But it didn't help. How to make it work? Remarks: test device is Nexus S emulated on Ubuntu 18.04.

  • 写回答

1条回答 默认 最新

  • drg5577 2019-07-14 09:14
    关注

    The problem is that I debugged my application on the emulator. Apparently, it's incompatible with native libraries. Debugging on a phone is alright.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler