当前位置: 首页 > news >正文

事业单位网站备案小清新wordpress主题

事业单位网站备案,小清新wordpress主题,投资管理公司注册条件,安阳 做网站adb tool 分为 adb 和 adbd。 adb 用作 host 使用#xff0c;包含了client和server#xff0c;adbd 则作为 device 端#xff0c;在 android 源码目录下#xff0c;共用一套源码。但 android 源码下的 adb#xff0c;不支持把 adb 编译为 android 平台的 adb client。因此…adb tool 分为 adb 和 adbd。 adb 用作 host 使用包含了client和serveradbd 则作为 device 端在 android 源码目录下共用一套源码。但 android 源码下的 adb不支持把 adb 编译为 android 平台的 adb client。因此需要自己进行交叉编译。 参考链接 https://blog.csdn.net/disappears_nick/article/details/117031743 https://gitee.com/jackackcheng/android-tools-4.2.2 1. 下载源码 参考上面的链接直接使用经过版本验证源码。 git clone https://gitee.com/jackackcheng/android-tools-4.2.2由于平台架构是aarch64的android11因此一般的工具链可能用不了。下载 android-ndk-r25c 里面包含有 aarch64-linux-android30-clang 工具链位于 android-ndk-r25c/toolchains/llvm/prebuilt/linux-x86_64/bin/ 。 添加临时环境变量 export PATH$PATH:$path/android-ndk-r25c/toolchains/llvm/prebuilt/linux-x86_64/bin/可以编译个简单的helloworld放到android上看看能不能运行测试工具链是否可用。 2. 编译zlib 解压 zlib-1.2.11.tar.gz : tar -xzvf zlib-1.2.11.tar.gz配置编译环境 ./configure --prefix$(pwd)/../libz --static由于 clang 编译器和 gcc 编译器的命令规则不一样因此直接上面配置环境时指定工具链会有问题。 因此在配置好环境后通过直接修改Makefile来解决这个问题。执行上述命令后目录下会生成 Makefile。打开Makefile修改其中和工具链相关的配置 CCaarch64-linux-android30-clang LDSHAREDaarch64-linux-android30-clang CPPaarch64-linux-android30-clang ARllvm-ar RANLIBllvm-ranlib每次执行 ./configure 都会导致Makefile的重新生成。可以在修改后对Makefile做个备份。 编译 make -j20 make install -j20安装后会在上层目录 libz 下生成 include 和 lib 包含了供我们使用的头文件和静态库。 3. 编译openssl 和编译zlib一样先配置好环境然后修改 Makefile指定 aarch64-linux-android30-clang 作为工具链。 解压 openssl-1.0.0e.tar.gz: tar -xzvf openssl-1.0.0e.tar.gz配置编译环境 ./Configure static os/compiler:aarch64-linux-android30-clang --prefix$(pwd)/../libopenssl修改Makefile CC aarch64-linux-android30-clang AR llvm-ar $(ARFLAGS) r RANLIB llvm-ranlib NM llvm-nm编译 make -j20 make install 安装后会在上层目录 libopenssl 下生成 include 和 lib 包含了供我们使用的头文件和静态库。 4. 编译adb 进入到 android-tools-4.2.2/core/adb 目录下里面已经由写好的 Makefile了只需要修改工具链即可。这里我们使用静态链接方便直接拷贝adb进行使用避免环境问题。 修改Makefile指定编译生成的 zlib 和 openssl 的头文件路径和静态库文件路径 CC:aarch64-linux-android30-clangCPPFLAGS -I/media/data1/library/tmp/2_adb/android-tools-4.2.2/libopenssl/include CPPFLAGS -I/media/data1/library/tmp/2_adb/android-tools-4.2.2/libz/includeLIBS -lc -pthread /media/data1/library/tmp/2_adb/android-tools-4.2.2/libz/lib/libz.a /media/data1/library/tmp/2_adb/android-tools-4.2.2/libopenssl/lib/libcrypto.a编译 make -j20不出意外目录下会生成 adb 这个上传到 android 上就可以用了。 5. 使用问题 通过上述流程编译的 adb在 android 上运行是没有问题了。但是确无法识别设备需要解决一些bug才行。 下面是遇到的问题和解决办法。 5.1 无法启动 server / # adb devices * daemon not running. starting it now on port 5040 * * daemon started successfully * ** daemon still not running error: cannot connect to daemon这个问题在交叉编译到 aarch64 的 Linux上时不会出现。 如果 $HOME 目录下面有 .android/adb_usb.ini 文件会从这个文件中读取 usb vendor id。 if (get_adb_usb_ini(temp, sizeof(temp)) 0) {FILE * f fopen(temp, rt);if (f ! NULL) {/* The vendor id file is pretty basic. 1 vendor id per line.Lines starting with # are comments */while (fgets(temp, sizeof(temp), f) ! NULL) {if (temp[0] #)continue;long value strtol(temp, NULL, 0);printf(vendor id: 0x%lx\n, value);if (errno EINVAL || errno ERANGE || value INT_MAX || value 0) {printf(errno: %s\n, strerror(errno));fprintf(stderr, Invalid content in %s. Quitting.\n, ANDROID_ADB_INI);exit(2);}vendorIds[vendorIdCount] (int)value;/* make sure we dont go beyond the array */if (vendorIdCount VENDOR_COUNT_MAX) {break;}}}}这里 errno 在 main 函数进入时就已经是 Invalid argument 状态了因此在这里会导致程序退出。暂不清楚是什么原因导致的 errno 是错误状态。因此在 main 最开始的地方 把 errno 置 0即可。 int main(int argc, char **argv) {errno 0; #if ADB_HOST }5.2 ADB server didn’t ACK / # adb devices service: host:devices * daemon not running. starting it now on port 5040 * ADB server didnt ACK * failed to start daemon * error: cannot connect to daemon和上述原因一样是由于errno问题意外退出导致的。adb 会默认先fork一个进程运行 adb server然后通过管道读取输出信息读取到 “OK\n” 后才会往下执行。在读取 OK 的位置添加读取信息并打印发现读取到的是如下内容 temp: Invalid content in adb_usb.ini. temp: Quitting.fork 的 子进程启动 server 时遇到 5.1 无法启动 server 的问题退出并打印上述错误信息然后被父进程读到。 5.3 无法识别到device 默认adb只识别支持的 usb vendor id 列表的设备。如果设备不在支持列表那么是无法识别的。需要添加 device 的 usb vendor id 到 usb_vendor.c 中 /** built-in vendor list */ int builtInVendorIds[] {VENDOR_ID_GOOGLE,VENDOR_ID_INTEL,VENDOR_ID_HTC,VENDOR_ID_SAMSUNG,VENDOR_ID_MOTOROLA,VENDOR_ID_LGE,VENDOR_ID_HUAWEI,VENDOR_ID_ACER,VENDOR_ID_SONY_ERICSSON,VENDOR_ID_FOXCONN,VENDOR_ID_DELL,VENDOR_ID_NVIDIA,0x2c7c,....或者 创建 $HOME/.android/adb_usb.ini 文件将需要识别设备的 usb vendor id写入到这个文件中 echo 0x2c7c $HOME/.android/adb_usb.ini/ # adb devices List of devices attached f9618ed6 device emulator-5554 device
http://www.dnsts.com.cn/news/25886.html

相关文章:

  • 网站收录查询方法div做网站
  • 廊坊网站seo排名正能量视频素材免费下载网站
  • 海南省海口市网站建设怎么评价网站做的好坏
  • php做电商网站图形化app开发工具
  • 企业网站用什么做二次开发最快手机数据线东莞网站建设
  • 商丘网站制作新网seo关键词优化教程
  • 垣曲做网站定期更新网站
  • 企业网页制作与网站设计建设建材网站的目的
  • 沧州网站推广网站开发设计公
  • 好的公司网站建设学网页设计培训班
  • 网站建设和续费个人营业执照网上注册入口
  • 网站流量 用什么表示什么是手机网站建设
  • 做汽车微信广告视频网站有哪些重庆百度整站优化
  • 定制网站需要多少钱可商用图片素材网站
  • 太原做网站 小程序什么网站免费做推广
  • 上海长宁网站建设广西城乡和住房建设厅网站首页
  • 电子商务网站建设首页流程六安论坛百姓杂谈
  • 国内谷歌网站SEO优化怎么上传文章网站
  • 推广员网站怎么做wordpress美化版
  • 网站备案过户 主体需要一致么网站页面设计怎么做
  • 在百度上怎么建立网站吗wordpress广告布局
  • 工信部网站备案被删除好用的视频播放器app
  • 网站代码seo优化网站开发与建设主要干什么
  • 房屋自建设计哪个网站好福州网站建设新闻
  • 和各大网站做视频的工作总结可以建网站的软件
  • 注册网站地址淄博公司制作网站有哪些
  • 商务网站建设与推广实训报告推广策划方案
  • 怎么分析竞争对手网站网站制作论文
  • 北京网站优化招聘设计专业招聘网站
  • 宿迁新站seo导购网站建设需求模版