Я сталкиваюсь с проблемой, когда использую proguard для приложения, использующего телефонную службу apis с использованием отражения в Android.
Я определил пакет com.android.internal.telephony и скопировал файл ITelephony.aidl.
Вот фрагмент кода, где я использую методы телефонии с использованием отражения.
Class<?> c = Class.forName(tm.getClass().getName());
Method m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
com.android.internal.telephony.ITelephony telephonyService =
(com.android.internal.telephony.ITelephony) m.invoke(tm);
if(buttonInAction == acceptButton){
Log.v(TAG, "Answering the call");
telephonyService.answerRingingCall();
finish();
}
else{
Log.v(TAG, "Rejecting the call");
telephonyService.endCall();
finish();
}
Теперь без Proguard я могу использовать этот API, но когда я использую ProGuard для компиляции, это дает classcastexception. Я знаю, что мне нужно что-то добавить в файл proguard.cfg, и я также попробовал несколько вещей, таких как -dontshrink -dontoptimize, но все же это не сработало.
Пожалуйста, дайте мне знать, если я что-то упустил, что нужно добавить в этот файл или любое другое решение этой проблемы.
Спасибо
Nawab