все еще есть ошибка Неразрешенная ссылка даже с классом -keep - PullRequest
0 голосов
/ 21 сентября 2018

В проекте есть класс в OptionalDependencies.kt

package com.xyz.demo

import android.content.Context
import com.facebook.stetho.Stetho
import com.facebook.stetho.okhttp3.StethoInterceptor
import okhttp3.Interceptor

object OptionalDependencies {

    fun initStetho(context: Context) {
        Stetho.initializeWithDefaults(context)
    }

    fun getNetworkInterceptor() : Interceptor?  = StethoInterceptor()

}

и в StartActivity.kt

package com.xyz.demo.ui

import com.xyz.demo.OptionalDependencies
……

class StartActivity : AppCompatActivity() {

    private fun initStetho(@ApplicationContext appContext: Context) {

        val interceptor : Interceptor? = 
                OptionalDependencies.getNetworkInterceptor()//<=== any where will get error referring the 
        ……
    }

    ……
}

в build.gradle

buildTypes {
    debug {
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

    }
}

в proguard-rules.pro

-keep class com.xyz.demo.** {*;}

также пытались -keep class com.xyz.demo.OptionalDependencies {*;}

получить сообщение об ошибке: e:/Users/sample/src/main/java/com/xyz/demo/ui/StartActivity.kt: (527, 42): Unresolved reference: OptionalDependencies

, если выключить proguard, то он работает нормально.

1 Ответ

0 голосов
/ 21 сентября 2018

Я полагаю, нужно выполнить «синхронизацию» после внесения изменений в proguard-rules.pro, а затем пересобрать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...