У меня есть класс AB в приложении для Android. Этот класс имеет один открытый интерфейс INF. Когда я пытаюсь сделать сборку выпуска с ProGuard включен, говорит, чтоКак сохранить открытый интерфейс внутри класса в proguard в android
ошибка: не удается найти класс символа INF
В я добавил мой proguard.cfg файл следующих строк:
-keep public interface com.some.somemore.AB$INF {*;}
-keep class com.some.somemore.AB {*;}
Пожалуйста, помогите, почему эта ошибка наступает.
public class AB {
public interface INF {
public void Ready();
public void Error(int error);
public void Click();
public void Complete();
public void Dismiss();
}
}
Вот Краш Бревна
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.sliq.android.sliq, PID: 14828
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sliq.android.sliq/org.nexage.sourcekit.vast.activity.VASTActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String org.nexage.sourcekit.vast.a.e.a()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2314)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2388)
at android.app.ActivityThread.access$800(ActivityThread.java:148)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5312)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String org.nexage.sourcekit.vast.a.e.a()' on a null object reference
at org.nexage.sourcekit.vast.activity.VASTActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:5953)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1128)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2267)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2388)
at android.app.ActivityThread.access$800(ActivityThread.java:148)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5312)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:696)
Я использую этот проект с открытым исходным кодом https://github.com/nexage/sourcekit-vast-android как модуль в моей студии проекта. Его сбой внутри проекта с открытым исходным кодом под названием VAST. Я добавил VAST в качестве зависимости от модуля внутри моего проекта студии. Я включил proguard для моего проекта студии, а также модуль VAST. Вот файл proguard.config я использую для VAST модуля:
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-dontshrink
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keep class org.nexage.sourcekit.vast.VASTPlayer {*;}
-keep interface org.nexage.sourcekit.vast.VASTPlayerListener {*;}
-keep class org.nexage.sourcekit.vast.model.** {*;}
-keep class org.nexage.sourcekit.vast.processor.** {*;}
-keep class org.nexage.sourcekit.vast.activity.** {*;}
-keep class org.nexage.sourcekit.util.** {*;}
Опубликовать свой класс и код интерфейса –