xposed android id修改,Xposed模块开发:修改设备IMEI
1.下载XposedBridgeApi-20150213.jar文件,右键添加到构建路径,这个包是不需要导出的!2.在AndroidManifest.xml里添加三个meta-data数据manifest xmlns:android
1.下载XposedBridgeApi-20150213.jar文件,右键添加到构建路径,这个包是不需要导出的!
2.在AndroidManifest.xml里添加三个meta-data数据
package="cn.zhg.notrack"
android:installLocation="internalOnly"
android:versionCode="1"
android:versionName="1.0.0" >
android:minSdkVersion="15"
android:targetSdkVersion="21" />
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true"
android:xlargeScreens="true" />
android:allowBackup="false"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:logo="@drawable/ic_launcher"
android:theme="@style/CustomTheme.Light" >
android:name="xposedmodule"
android:value="true" />
android:name="xposedminversion"
android:value="54" />
android:name="xposeddescription"
android:value="@string/app_description" />
android:name=".MainActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/app_name"
android:launchMode="singleTop" >
3.在Activity中使用SharedPreferences保存修改自定义的数据
public class MainActivity extends Activity
{
private TelephonyManager phone;
/**IMEI修改输入框*/
private EditText imeitx;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
phone = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
imeitx=(EditText)this.findViewById(R.id.imei);
}
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item)
{
int id = item.getItemId();
if (id == R.id.action_save)
{
//保存数据
saveData();
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* 使用SharedPreferences保存数据
*/
private void saveData()
{
try
{
SharedPreferences sh = this.getSharedPreferences("prefs",
Context.MODE_WORLD_READABLE);
Editor pre = sh.edit();
Logger.d("保存内容");
pre.putString("imei", imeitx.getText().toString());
pre.apply();
} catch (Throwable e)
{
Logger.d("写入内容失败");
e.printStackTrace();
}
}
protected void onResume()
{
super.onResume();
//读取当前设备的IMEI
imeitx.setText(phone.getDeviceId());
}
}
4.在assets创建xposed_init文件,,指定Xposed Hook入口类
cn.zhg.notrack.MainHook
5.MainHook实现IXposedHookLoadPackage接口的handleLoadPackage方法,使用XSharedPreferences获取保存的数据,XposedHelpers注入监听TelephonyManager#getDeviceId方法
public class MainHook implements IXposedHookLoadPackage
{
public void handleLoadPackage(LoadPackageParam lpparam) throws Throwable
{
XSharedPreferences pre = new XSharedPreferences(this.getClass()
.getPackage().getName(), "prefs");
HookMethod(TelephonyManager.class, "getDeviceId",
pre.getString("imei", null));
}
private void HookMethod(final Class cl, final String method,
final String result)
{
try
{
XposedHelpers.findAndHookMethod(cl, method,
new Object[] { new XC_MethodHook()
{
protected void afterHookedMethod(MethodHookParam param)
throws Throwable
{
param.setResult(result);
}
} });
} catch (Throwable e)
{
Logger.d("修改" + method + "失败!" + e.getMessage());
}
}
}
6.在android sdk build-tools 21.0.1下可能遇到由于assets产生Command-line Error -1073741819的问题,升级一下android sdk build-tools就行了。
源代码下载:
xposed android id修改,Xposed模块开发:修改设备IMEI相关推荐
- Android开发之ApiCloud模块开发之模块引用第三方库的问题
因为现在第三方库比较多,所以很多人为了快速开发导致库用烂大街了,但是在模块开发中本人不建议使用第三方库的依赖会有很多问题,要么是资源图片找不到,要么是布局找不到啥的,但是有的需求只有第三方库怎么办呢? ...
- Xposed模块开发:修改设备IMEI
1.下载XposedBridgeApi-54.jar,将它放在libs目录下面,并右击将jar包添加到构建路径 2.AndroidMenifest.xml文件里添加三个meta-data数据 < ...
- Android开发之ApiCloud模块开发步骤
看图操作,简单明了: 好了apicloud模块开发完成,你可以打包arr文件压缩zip后上传到自定义模块然后别人用js就可以引用你开发的这个模块里面的内容了 打包arr文件压缩zip步骤如下图: 上传 ...
- Android开发之ApiCloud模块开发的注意事项
经过本人多次模块制作打包上传基本总结模块开发的以下坑: 一.模块开发SDK最小版本必须为9,不然就算你SDK模块开发完毕正常运行你在后台云编译也无法通过会报错,提示 minSdkVersion9小于你 ...
- android 4.4 wifi 模块开发总结(电视盒子)
最近6.0的盒子的应用开发已经告一段落了,接到的新需求就是想办法让公司以前发出去的4.4的盒子也得兼容应用.把应用装到4.4盒子上,发现也就文件读取,网络(有线无线),蓝牙,恢复出厂设置这几个模块不能 ...
- uni-app实战之社区交友APP(14)用户交互模块开发
文章目录 前言 一.修改资料模块开发 1.编辑头像API开发 2.修改用户信息API开发 3.修改密码API接口开发 二.黑名单模块开发 1.数据表设计 2.加入黑名单API开发 3.移出黑名单API ...
- Xposed模块开发入门,实现修改微信钱包显示的余额
一.什么是Xposed框架 Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作. 二.为你的安卓设备 ...
- Xposed 模块开发入门
Xposed模块开发入门 阅读本文之前,你应该准备好以下事项: 安装 Android Studio,并完成配置 掌握 Xposed 的安装和使用方法 拥有阅读 Java 代码的能力 阅读本文之后你将掌 ...
- Xposed模块开发指南
1.Xposed框架是什么? Xposed框架是一款开源框架,其功能是可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运行. ...
- Xposed模块开发入门-最基本的项目创建
本人结合网络上的种种教程以及自己实践,记录下一个完整的基本Xposed模块项目的创建过程. 开发环境: Mac系统 AndroidStudio 3.2.1 gradle 3.2.1 VirtualXp ...
最新文章
- javascript编写_如何通过编写自己的Web开发框架来提高JavaScript技能
- 有赞搜索引擎实践(算法篇)
- 【Python】Python入门-字符串初相识
- Unity Android解决信息流广告关闭报错
- 神奇的机械动态图,看了一遍又一遍!最后一个真神奇~
- python基础作业_017--python基础作业
- 2021年PMP考试模拟题11(含答案解析)
- 对CMSIS的学习(第1-3部分)
- 用C语言实现传递闭包(warshall算法)
- autoit3 ie.au3 函数之——_IEErrorNotify
- 短视频运营的目标:引流并转化客户
- oracle系统优化
- PG 异常状态- active+undersized+degraded
- 刷新存储器的容量单位是什么_存储器存储容量怎么算
- APP逆向分析之XX音乐客户端下载歌曲权限绕过
- 阿里云漏洞敏捷管理自动化报告
- 到底什么是对象,什么是对象的引用?对象和对象的引用有那些区别?
- 轰动世界的10大营销理念
- File System 定额(配额查询)
- 数值分析-龙格库塔法
热门文章
- 教你如何使用win7系统屏幕键盘--win7w.com
- 计算机随机数是如何生成的?(平分取中法、线性同余法)
- python语言磁力搜索引擎源码公开,基于DHT协议
- MATLAB 如何使用pascal函数创建Pascal(帕斯卡)矩阵
- 下载在线播放的电影,一个下载TS文件的工具,python小白。
- IBM 存储管理软件IBM DS Linux Storage Manager安装(Linux)
- 多年 iOS 开发经验总结
- 信息论与编码冯桂周林著答案_信息论与编码(信息与通信工程高等学校电子信息类专业系列教材)...
- bp神经网络模型的优缺点,什么是BP神经网络模型?
- linux启动报错23修复