声明:
本文主要是根据个人工作总结,其中可能有些内容不准确,请你向我提出我会根据你的意见改正。
adb push:
我们经常会对一些代码进行修改,而修改编译后我们是不是还要重新将他们编译到镜像文件并使用烧写工具将这个镜像文件重新烧写到设备上哪。我们确实可以这么做,但是这样做下来大家会发现这是个很费时间的操作,那么我们是不是有一个比较简单的方法或者操作来简化上面的步骤或者运行时间哪?确实是有的,那就是使用adb push将新生产的文件push到设备上。
前提:
当然使用adb是要有前提的,那就是你的电脑已经与设备adb连接了。而关于连接部分,你可以看我上面的文章:adb——实现设备与Windows端的连接与调试
修改代码并编译:
1. 首先修改LibPlayer\amplayer\player\player_ctrl.c的player_start函数中加入自己写的打印语句:
2. 到build文件夹下运行:source envsetup.sh。通过运行这个执行文件可以得到mm,mmm等命令。而mm或者mmm就是对部分修改进行编译时所使用的命令。其中mm时编译当前目录下的修改文件,而mmm是修改指定目录下的修改文件。
3. 到修改的LibPlayer\amplayer\player目录下使用mm命令编译这个修改的文件,在目录:
out/target/product/obj/lib$下得到重新编译的.so 文件。
使用adb push 传输文件:
4. 将新得到的.so文件考到Windows端的E盘下(我习惯将文件考到E盘根目录下,你可以根据自己的情况拷,同时从服务器端将一个文件考到Windows端需要一些工具软件,我使用filezilla)
5. 在设备端开启adb服务(具体如何开启adb连接我在上篇文章中有写)
6. Windows端连接到设备的adb
7. 通过adb pull命令将这个文件复制到设备:
用这个libamplayer.so文件代替/system/lib中的libamplayer.so
1 adb root
2 adb remount
3 adb push libamplayer.so /data/local/tmp/libamplayer.so
4 cat /system/lib/libamplayer.so > /data/local/tmp/libamplayer.so-bak
5 cat /data/local/tmp/libamplayer.so > /system/lib/libamplayer.so
使用logcat命令测试:
8. 然后从logcat命令打印的信息中找到我修改的语句:
参考文章:
编译libdvm.so: makefile,mm
编译安卓源代码
Adb push 文件夹到手机目录上
adb push
ADB logcat 过滤方法(抓取日志)