我想使用java反射更改SIM卡PIN码。最终应用程序将安装在system / app。
中我正在使用的代码是:
String ICCCARD_CLASS = "com.android.internal.telephony.IccCard";
String PHONEBASE_CLASS = "com.android.internal.telephony.PhoneBase";
Object phoneBaseObject = Class.forName(PHONEBASE_CLASS).getConstructor();
Object iccCardObject = Class.forName(ICCCARD_CLASS).newInstance();
Method iccCardMethod = Class.forName(ICCCARD_CLASS).getMethod("changeIccLockPassword", String.class, String.class, Message.class);
//Method arguments are...
Object arglist1[] = new Object[3];
arglist1[0] = "1111"; //oldPass
arglist1[1] = "2222"; //newPass
arglist1[2] = new Message(); //message handler (not needed)
iccCardMethod.invoke(iccCardObject, arglist1);
但是,我得到了很多例外,例如“没有这样的方法”,“实例化异常”...... 在我的Android项目中,没有创建IccCard和PhoneBase包。
TNX黑客!
答案 0 :(得分:1)
似乎编译确实需要使用修改后的 classes.dex 重建 android.jar 。