gpt4 book ai didi

android - 将混淆器用于 Android 应用程序时,反射方法不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:57:32 25 4
gpt4 key购买 nike

当我将混淆器用于在 android 中使用反射使用电话服务 api 的应用程序时,我遇到了一个问题。

我已经定义了一个包 com.android.internal.telephony 并在那里复制了 ITelephony.aidl 文件。

这是我使用反射电话方法的代码 fragment 。

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,但仍然没有用。

如果我遗漏了需要添加到该文件中的内容或此问题的任何其他解决方案,请告诉我。谢谢纳瓦布

最佳答案

这解决了问题:

-keep class com.android.internal.telephony.ITelephony { *; }

关于android - 将混淆器用于 Android 应用程序时,反射方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7859435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com