清霜辰-博客

安卓软件开发常用命令集合

[TOC]

本文首发地址 https://h89.cn/archives/180.html
最新更新地址 https://gitee.com/chenjim/chenjimblog

本文主要是记录博主常用的一些命令,仅供参考

adb 常用命令


adb 远程无线调试

方法一:打开手机的开发者模式,开启 开发者选项,开启无线调试,如下图所示

连接 adb connect 192.168.31.96:42005 ,断开连接 adb disconnect 192.168.31.96:42005
方法二:使用一些老旧设备,需要完全root权限,一般手机系统不行

  1. 手机连接电脑,执行 adb root (都可以USB线连接了,无线连接只能备用吧)
  2. 手机下载安装终端,并授权ROOT权限
    (MIUI系统开发版在菜单'设置-->应用设置-->授权管理->ROOT权限管理')
    在终端 执行以下命令设置远程调试端口,并重启 adbd

    su
    setprop service.adb.tcp.port 5555
    stop adbd
    start adbd
  3. 在手机终端执行以下命令获取手机IP信息
    ip neigh
  4. 在电脑远程连接设备命令如下
    adb connect 192.168.59.132
    192.168.59.132 是手机WIFI分配的IP地址,默认端口是上面步骤设置的5555

参考自:https://juejin.cn/post/6844903496861351943


tar 常用命令


Android NDK开发Crash错误定位

原文http://blog.csdn.net/xyang81/article/details/42319789


OTA 升级,差分包制作

ota=./build/tools/releasetools/ota_from_target_files
$ota -i v2_old.zip v3_new.zip v2_3_ota.zip

//v2_old.zip和v3_new.zip是*_target_files.zip 在以下目录  
./out/target/product/项目名称/obj/PACKAGING/target_files_intermediates

//加签名的ota包
SFile=./device/mediatek/build/releasetools/mt_ota_from_target_files.py
KFile=./device/mediatek/common/security/vanzo/releasekey
$ota -s $SFile --block -k $KFile  -i v2_old.zip v3_new.zip v2_3_ota.zip 

odex去除的源码模块编译方法

build/core/dex_preopt_odex_install.mk 中添加

ifeq ($(LOCAL_MODULE),Gallery2)
LOCAL_DEX_PREOPT:=
endif

编个系统Rom版本,下载到手机。
或者在Android.mk 中添加
LOCAL_DEX_PREOPT := false
然后mmm 图库模块,adb push编译好的apk,重启设备


打开ipod debug模式

输入如下命令,ipo关机后,adb仍然可以处于工作的状态。
adb shell setprop ipod_debug 1


windows的adb自动按键测试bat脚本

: 注释:bat文件默认字符集为ANSI,否则有乱码
@echo off
set times=5
set gap=3
echo 最多执行%times%次,每次间隔%gap%秒
for /l %%i in (1,1,%times%) do (
    choice /t %gap% /d y /n >nul
    adb shell input keyevent 21
    echo 按键 KeyEvent.KEYCODE_DPAD_LEFT,当前第%%i%次
)
pause

MTK 按键映射dws修改

vendor/mediatek/proprietary/scripts/dct/DrvGen.exe
打开kernel-*.*/drivers/misc/mediatek/dws/mt6739/项目名称.dws


jgrep cgrep mgrep resgrep mangrep mgrep

在源码 build/envsetup.sh中有相关命令
需要执行source build/envsetup.sh将这些命令加到环境中
这些命令详细封装如下

function ggrep()
{
    find . -name .repo -prune -o -name .git -prune -o -name out -prune -o -type f -name "*\.gradle" \
        -exec grep --color -n "$@" {} +
}

function jgrep()
{
    find . -name .repo -prune -o -name .git -prune -o -name out -prune -o -type f -name "*\.java" \
        -exec grep --color -n "$@" {} +
}

function cgrep()
{
    find . -name .repo -prune -o -name .git -prune -o -name out -prune -o -type f \( -name '*.c' -o -name '*.cc' -o -name '*.cpp' -o -name '*.h' -o -name '*.hpp' \) \
        -exec grep --color -n "$@" {} +
}

function resgrep()
{
    for dir in `find . -name .repo -prune -o -name .git -prune -o -name out -prune -o -name res -type d`; do
        find $dir -type f -name '*\.xml' -exec grep --color -n "$@" {} +
    done
}

function mangrep()
{
    find . -name .repo -prune -o -name .git -prune -o -path ./out -prune -o -type f -name 'AndroidManifest.xml' \
        -exec grep --color -n "$@" {} +
}

function mgrep()
{
    find . -name .repo -prune -o -name .git -prune -o -path ./out -prune -o \( -regextype posix-egrep -iregex '(.*\/Makefile|.*\/Makefile\..*|.*\.make|.*\.mak|.*\.mk|.*\.bp)' -o -regextype posix-extended -regex '(.*/)?(build|soong)/.*[^/]*\.go' \) -type f \
        -exec grep --color -n "$@" {} +
}

相关连接

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »