手机助手(一)
来源:互联网 发布:淘宝怎么清空购物车 编辑:程序博客网 时间:2024/05/17 09:00
引入adb工程
注:这部分可以参考Windows下adb编译详解
接上篇,引用上篇中的工程,导入adb-source.zip中的文件并对整个工程文件目录做了小调整,主要是将代码文件分类存放。在工程中添加现有项目,将adb源码中的cpp文件添加到工程中(仅添加cpp后缀的文件,.c文件这里用不到可以直接删除)
1.创建Source目录(ProMonkey\AdbDll\Source)
2.创建Source\include目录(ProMonkey\AdbDll\Source\include)
3.创建Source\adb目录(ProMonkey\AdbDll\Source\adb)
4.将adb-source\lib文件夹拷贝到ProMonkey\AdbDll\Source\adb
5.adb-source\include文件夹拷贝到ProMonkey\AdbDll\Source\adb
6.将adb_interface.cpp、adb_interface.def和dllmain.cpp移动到Source目录
7.添加现有项到工程(源文件添加了一个adb过滤器,adb的代码放在里面)
配置工程项目属性
配置属性>常规>字符集 选择使用多字节字符集
配置属性>调试>命令 选择C#生成的exe文件(这里是为了调试方便,点击调试时自动启动exe,exe加载的dll会优先使用本工程的(同名情况下)),可以直接在dll代码文件中直接添加断点来调试
配置属性>VC++目录>包含目录 添加创建的两个include的目录
配置属性>C/C++>预处理器 添加ADB_HOST;HAVE_WIN32_IPC;HAVE_WIN32_PROC;HAVE_WINSOCK;
配置属性>链接器>常规>附加库目录 添加lib所在的目录(Source\adb\lib)
配置属性>链接器>输入 附加依赖项添加lib文件(ws2_32.lib;zdll.lib;libeay32.lib;ssleay32.lib;AdbWinApi.lib;),模块定义文件指向def移动后的位置(开头整理文件时移动了这个文件)
重新生成解决方案>调试
what the fuck!
独立编译都正常,不加adb的代码也正常,也没调用adb的函数,仅仅是添加adb文件进行编译罢了,就不行了。既然dll都加载不了就没法用C#看了,创建一个win32控制台应用程序,加载dll看看,代码如下:
#include <windows.h>#include <stdio.h>#include <process.h>int main(int argc, char* argv[]){ HMODULE hdll=LoadLibrary(L"E:\\workspace\\Visual Studio\\ProMonkey\\Debug\\AdbDll.dll"); //加载dll if(hdll!=NULL) { FARPROC proc=GetProcAddress(hdll,"helloWorld"); proc(); } system("pause"); return 0;}
提示一下子就人性化了
立刻百度下载一个zlib1.dll到生成目录,再次点运行
重新运行adb,调用成功了。
至此基础的环境已经搭建完成了,接下来就是封装adb函数到C#和画界面了。
后记:今天试了一下,adb的源码是1.0.31的,很难刷出设备,项目无期限搁置,等待弄一个高版本的adb源码再继续
- 手机助手(一)
- Iphone 手机助手 备份文件详解 (一)
- Anroid 手机助手 详细解析 概述(一)
- 手机助手(一):准备阶段
- Iphone 手机助手 Plist 文件详解 (一)
- IOS Android 手机助手原理以及源码(Android 手机自动识别 一)
- 手机语音助手(android)
- 360手机助手建议
- root-手机助手之类
- 手机安全助手---方法
- 腾讯手机助手
- iOS手机网络助手
- IOS 手机助手及越狱助手推荐
- [MD]模仿百度手机助手动态折线图/MPAndroidCharts实现(一)
- 手机助手源码开发定制 类似91.360手机助手
- 掌上医院:手机生活助手
- 360手机助手评分机制
- 连接不成功,360手机助手
- android绘制实心。空心五角星
- iOS 页面之间的传值总结
- hihoCoder 1261 String Problem II
- HDU 1619:Unidirectional TSP【dfs & 回忆路径】
- HandlerThread类应用
- 手机助手(一)
- 用python从excel表格中读取数据生成可以放在科技论文中的图片
- 缩写含义
- ios之核心动画(二)
- java volatile详解
- shell笔记(5):字符截取命令
- 编程小白成长记(一)
- java中没有sizeof
- awk 计算年龄