` c"if [ $# -eq 0 ]; then # no"og:type" content="webpage">` c"if [ $# -eq 0 ]; then # no" /> ` c"if [ $# -eq 0 ]; then # no"> 编写一个shell程序convert.sh 如果输入convert.sh *.c_CMS教程_内存溢出

阅读 2

编写一个shell程序convert.sh 如果输入convert.sh *.c,第1张

这道题目挺好,涉及了判断表达式,字符串截取,格式化输出。

convertsh 内容如下:

#!/bin/bash

guide="Usage: `basename $0` c"

if [ $# -eq 0 ]; then # no input parameter

echo "$guide"

exit 1

fi

file="$1"

ext=${file##} # parse file extension

name=${file%} # parse basic file name

# file doesn't exist or is not a regular file, or is not a C source file

if [ ! -f $file -o $ext != "c" ]; then

echo "Please check if $file is a valid file!"

echo "$guide"

exit 1

fi

awk '{printf("%d\t%s\n",++i,$0)}' $file >${name}txt

exit 0

准备工作

手机已经root

adbexe 已经放到了系统环境变量,也就是打开cmd 后输入 adb不会报错,如下图

手机能连上电脑,并且手机开启usb调试模式

最后,在cmd窗口内输入 adb shell,不报错的话,那么准备工作就已经ok了。(如下图)

找到源代码,并copy到本地

首先进入shell,在cmd内输入 adb shell

输入 su (切换到超级用户)

输入cd /data/data/comtencentmm/MicroMsg/

进入到腾讯文件夹内

输入 ls -ll,显示文件修改的日期下图中,很长的这种文件夹是具体的微信小程序

文件夹,可以看到我这边有三个,那到底哪个是我要找到的呢?

可以参考日期,也就是你第一次打开这个小程序的日期(或者这个小程序更新的日期)如果无法确定的话,也可以把所有的文件夹的小程序源代码弄出来。。。

因为我这个是新装的微信,所以可以确定红框选中的是跳一跳这个小程序文件夹

cd 70706100dbb02030d89a62cc1e0de105 (也就是刚才确定的文件夹名字

cd appbrand/pkg (也就是具体源代码位置

输入 ls -ll

找到时间为最近并且后缀是wxapkg的文件

输入 exit,退出 shell

在cmd命令行内输入 adb pull /sdcard/_1123949441_93wxapkg

表示把上面找到的文件copy到电脑上

这个_1123949441_93wxapkg 是上面找到的名字

解包

在上面我们已经把小程序的源代码下载到本地了

后面就是解包了,先到>

这篇文章主要讲如何自己来做一个apk实现远程调试,也就是说我们先自己写一个apk来控制是否启用远程调试的功能,然后通过这个apk来启用远程调试,接着基于远程adb的方式来调试以后的程序。听起来真TM绕口。没关系,跟着看就行了。实现这个目标分为3步。

好吧,这个逼格的东西并不需要你多么的了解,我们只需要知道几条基本的命令。

设置adb的调试端口,当端口>-1的时候,adb是wifi调试,我们默认的一般将端口设置为5555

setprop serviceadbtcpport 5555

对应的将端口设置为-1或者更小的数值,则将调试方式变为了usb调试

setprop serviceadbtcpport -1

关闭adb

stop adbd

打开adb

start adbd

好了有了这几个命令的基础,就可以实现usb和wifi调试方式的转换了

怎么执行,鬼才管呢。我又不是搞底层的。对于执行shell命令,自有高手早已写好的工具类,这里将源码贴上

我们需要用到的方法是

解释下三个参数的意思

参数1:需要执行的命令数组 参数2:是否已经root过。oh天,忘了说,你的

手机必须要先root才能来做这件事情,至于root的方式,太多了,什么root大师,xx大师。

参数3:是否需要返回结果,这个可有可无,如果你选择返回结果,我想多半是你想知道这些命令有没有执行成功,你只需要判断

CommandResult result

的值是否为0,对的,linux就是这样,等于0就是成功了的意思

ok,剩下的活你应该会做了,写一个button控件,监听点击事件,在事件中调用这个方法。至于参数一怎么写,当需要打开wifi调试的时候就这样写

当需要关闭wifi调试的时候,只需要将5555改为-1就行 好的,现在你可以

将apk编译到你的手机上,并且打开wifi调试,接着在如下目录

你可以通过 shift+右键 的方式有个“在此处打开命令行”。然后输入

adb connect xxxx

xxxx 是你的手机ip,端口不用输,默认就是5555,手机ip你可以在设置-关于手机-手机状态 中找到

于是“噌”的一下,你的eclipse里的device窗口就显示你的破手机已经连接上了,现在你可以丢掉数据线,静静的装逼了。真是有逼格的烧连啊。

断开连接,你可以在手机上断开,也可以在pc上通过

来断开,当然在手机上断开保险一点。

好的,有问题的同学可以留言,啊哈哈哈哈哈,这都不会,你好笨啊。

以上就是关于编写一个shell程序convert.sh 如果输入convert.sh *.c全部的内容,包括:编写一个shell程序convert.sh 如果输入convert.sh *.c、云电脑源代码在哪里、利用shell命令实现Eeclipse对Android的远程调试等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:

内存溢出

原文地址:

http://outofmemory.cn/zz/10082420.html
手机
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
惠来二中 惠来二中 一级用户组
华硕飞行堡垒重装系统后触控板用不了,在官网装了触控板驱动也不行这个改怎么弄呢
上一篇
2023-05-05
如何优化你的C代码
2023-05-05

发表评论
请登录后评论... 登录
提交

    评论列表(0条)
保存
{label} {label} ` c"if [ $# -eq 0 ]; then # no', author : '惠来二中', cat_name : 'CMS教程', time_y_m : '2023年05月', time_d : '05', site_motto : '内存溢出' }; {script} {script}