2015-06-16 5 views
0

Я использую версию 2.3.2 (последняя на данный момент), и я столкнулся со следующей проблемой: когда я инициализирую crashlytics внутри класса Application, плагин не разрешает установку , Он просит меня внести изменения в код и добавить логику инициализации в пункт «Вход».Плагин для Android-студий не найден установленный Crashlytics

То, что меня беспокоит, - это правильный путь. Приложение cannonball имеет инициализацию в своем классе приложений. С другой стороны, похоже, что плагин ожидает, что он будет в Activity. Вот как это выглядит на пушечное ядро ​​приложения:

public class App extends Application { 
... 
    @Override 
    public void onCreate() { 
    ... 
     Fabric.with(this, new Crashlytics(), new Twitter(authConfig), new MoPub()); 
    } 
} 

Где, как в мое приложение андроид студия плагин позволяет предположить, что он должен пойти в

public class Splash extends ActionBarActivity { 
... 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     Fabric.with(this, new Crashlytics(), new Twitter(authConfig), new MoPub()); 
    ... 
    } 
} 

ответ

2

Я думаю, что плагин помещает его во все ваши основные виды деятельности по умолчанию. Я просто удалил его и поместил следующие строки в моем классе Application:

CrashlyticsCore core = new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build(); 
Fabric.with(this, new Crashlytics.Builder().core(core).build()); 

Вы можете удалить «.disabled (BuildConfig.DEBUG)», если вы хотите. Это просто отключает плагин, если вы находитесь в режиме отладки.

0

Вы должны включить

compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
} 

под зависимостей в вашем файле build.gradle приложения

+0

Я включил его. Я только переключаю место, где инициализируется авария. Если он находится внутри класса Activity, его видит плагин. Если он находится внутри класса Application, плагин не находит его. –

Смежные вопросы