Библиотека Gomobile использует скрытый метод API - PullRequest
1 голос
/ 22 мая 2019

У меня есть приложение Android , в котором используется библиотека Golang ( .aar ), созданная с помощью Gomobile .Каждый раз, когда приложение пытается создать экземпляр класса из библиотеки или вызывает метод библиотеки, происходит сбой со следующим сообщением в журнале:

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 метод находится в Легкомысленный список Google (строка 349) .Я знаю, что невозможно получить доступ к любому скрытому методу в SDK версии 28 и выше, поэтому я написал следующее в build.gradle (26 - наименьшая версия для Play Market ):

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

Но это не помогло.Как заставить это работать?Замечания: тестовое устройство Nexus S эмулируется на Ubuntu 18.04 .

1 Ответ

0 голосов
/ 14 июля 2019

Проблема в том, что я отлаживал свое приложение на эмуляторе.По-видимому, это несовместимо с нативными библиотеками.Отладка на телефоне в порядке.

...