在项目中,它在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,它会正常工作。
答案 0 :(得分:0)
我想在更改proguard-rules.pro
之后必须进行“同步”,然后重新构建。