本人有幸在上家公司做外包的时候接触了这个项目,专门针对微信做的一些功能,有自动删除僵尸粉,自动发朋友圈,自动添加好友,自动同意添加等等很多功能。 这时候可能会有一些人会问:难道你有微信的源码吗?不然怎么让他自动发朋友圈。
当然 我是不可能有微信的源码的 我是怎么让他自动操作微信的呢? 国外有一位大神开发了一个工具包 这个工具包可以操作任何app包括微信和QQ
具体怎么操作呢 我贴出一点点代码给你们看一下
public boolean login(String username, String password) {
Log.e("m_tag", "user : " + username);
if (true == mSolo.waitForText("^通讯录$", 1, 100)) {
return true;
}
boolean isExist = mSolo.waitForText("^切换帐号$", 1, 100);
if (isExist) { // 之前有登录过,存在登录信息
mSolo.clickOnText("^切换帐号$");
mSolo.clickOnScreen(mWidth * 0.575f, mHeight * 0.52f);
mSolo.enterText(0, username);
// mmSolo.enterText(1, password);
mSolo.typeText(1, password);
mSolo.clickOnText("^登录$");
} else { // 还没有登录过,不存在登录信息
// 找不到切换帐号这个按钮,可能是因为程序刚安装上去,没有登录信息
// 提示创建快捷方式
if (mSolo.waitForText("^提示", 1, 100)) {
mSolo.clickOnText("^确定$");
}
mSolo.clickOnButton("^登录$");
mSolo.clickOnView(mSolo.getView("login_other_way"));
// mmSolo.clickOnButton("^使用其它方式登录$");
mSolo.enterText(0, username);
mSolo.typeText(1, password);
mSolo.clickOnText("^登录$");
// 进入微信5.3
// mmSolo.clickOnView(mmSolo.getView("btn_changed"));
}
return loginVerify();
}
这是微信登录的模块,可以看到其实就是模拟点击而已 ,并不复杂 mSolo就是我说的那个工具类他能找到你屏幕上的文字 并进行点击 也可以等待文字出现再点击 比如
if (mSolo.waitForText("^提示", 1, 100)) {
mSolo.clickOnText("^确定$");
}
这样看起来是不是觉得想对微信做什么都能做了? 基本上是没错 但是问题在于微信有很多随机事件 这些只要有一个没考虑到就会奔溃 而且微信的界面可不止一套哦
虽然我们用的时候觉得没啥变化 其实微信的界面有好几套 你认真研究就发现了 重点提醒:必须要刷机才能操作 具体怎么刷我也不清楚因为我是个菜鸟不懂framework层 好了如果还有问题不清楚请自己看项目吧 我贴一个有标记僵尸粉和自动发收藏的demo吧 请在我的csdn下载频道自己下载(我并不知道怎么发在这里)
源码下载地址:https://download.csdn.net/download/lap602651857/10200155