Как правильно импортировать Stetho только в отладочной сборке? - PullRequest
0 голосов
/ 21 марта 2020

Я хочу добавить библиотеку Stetho только для отладочной сборки, поэтому я выполнил некоторые из этих шагов , а затем добавил StethoInterceptor в OkHttpClient.Builder моего проекта, но когда я это делаю, попробуйте запустить сборку релиза, эта ошибка возникает:

ошибка: пакет com.facebook.stetho.okhttp3 не существует builder.addNetworkInterceptor (new com.facebook.stetho.okhttp3.StethoInterceptor ());

Это sr c моего проекта, я получил папку отладки и основную папку

Debug and Main source

Основной AndroidManifest. xml файл

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  package="br.com.myapp.android">

  <application
     android:name=".application.MyAppApplication"
     android:allowBackup="false"
     android:icon="@drawable/app_icon"
     android:label="@string/app_name"
   ...
  </application>
 ...
</manifest>

Отладка AndroidManifest. xml файл

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   package="br.com.myapp.android">

   <application
      tools:replace="android:name"
      android:name=".application.MyAppDebugApplication" />

</manifest>

Основной файл приложения

import androidx.multidex.MultiDexApplication;

public class MyAppApplication extends MultiDexApplication {

    @Override
    public void onCreate() {
        super.onCreate();
    }
}

Файл отладки приложения

public class MyAppDebugApplication extends MyAppApplication {

    @Override
    public void onCreate() {
        super.onCreate();

        com.facebook.stetho.Stetho.initialize(
                com.facebook.stetho.Stetho.newInitializerBuilder(this)
                        .enableDumpapp(com.facebook.stetho.Stetho.defaultDumperPluginsProvider(this))
                        .enableWebKitInspector(com.facebook.stetho.Stetho.defaultInspectorModulesProvider(this))
                        .build()
        );
    }
}

src / main / java / my.package ... / util имеет HttpsHelper. java, который настраивает OkHttpClient (см. Изображение ниже)

okhttp

Но когда я запускаю приложение как релиз, появляется эта ошибка:

ошибка: пакет com.facebook.stetho .okhttp3 не существует builder.addNetworkInterceptor (новый com.facebook.stetho.okhttp3.StethoInterceptor ());

Как правильно настроить StethoInterceptor?

...