美文网首页
adb Gradle常用语法学习

adb Gradle常用语法学习

作者: wayDevelop | 来源:发表于2018-08-24 12:40 被阅读0次

    adb相关命令

    如果运行过程中还没大概logcat某个APK就挂掉了,弹出已停止运行,我们可以用这个命令查看关键错误信息: logcat *:e , 这样只是会过滤出前面带有E的错误信息。

    adb logcat *:e

    同理
    V — Verbose (lowest priority)
    D — Debug
    I — Info
    W — Warning
    E — Error
    F — Fatal
    S — Silent (highest priority, on which nothing is ever printed)
    <meta charset="utf-8">

    adb命令安装

    adb devices 显示所有设备
    adb uninstall 包名 卸载
    adb install 路径/文件名.apk

    关闭某个应用

    adb shell am force-stop com.xx.loveguider

    首页冷启动时间

    adb shell am start -W -n com.zhenai.loveguider/com.zhenai.loveguider.activites.MainActivity

    Monkey命令参考

    一个完整的Monkey 命令

    adb shell monkey -p com.zhenai.loveguider -s 8888 --throttle 300 --pct-touch 30 --pct-appswitch 20 --pct-motion 30 --ignore-crashes --ignore-timeouts --monitor-native-crashes --ignore-security-exceptions -v -v -v 1000

    指定伪随机数生成器的seed值8888, ,每个事件间隔300ms 触摸事件占30%,activity之间的切换20%,滑动事件30%
    忽略crash和超时,监视本地程序崩溃,

    如何分析monkey日志?

    1、 ANR问题:在日志中搜索“ANR” 2、 崩溃问题:在日志中搜索“CRASH”或者Exception

    如何重现BUG?

    1、 找到是monkey里面的哪个地方出错
    2、 查看Monkey里面出错前的一些事件动作,并手动执行该动作
    3、 若以上步骤还不能找出,可以使用之前执行的monkey命令再执行一遍,注意seed值要一样

    事件选项

    -s:指定产生随机事件种子值,相同的种子值产生相同的事件序列。如: -s 200
    --throttle:每个事件结束后的间隔时间——降低系统的压力(如不指定,系统会尽快的发送事件序列)。如:--throttle 100
    --pct-touch:指定触摸事件的百分比,如:--pct-touch 5
    --pct-motion <percent> (滑动事件)
    --pct-appswitch <percent> (activity之间的切换)
    --pct-trackball <percent> (轨迹球事件)
    --pct-nav <percent> (导航事件 up/down/left/right)
    --pct-majornav <percent> (主要导航事件 back key 、 menu key)
    --pct-syskeys <percent> (系统按键事件 Home 、Back 、startCall 、 endCall 、 volumeControl)
    --pct-anyevent <percent>(任意事件)

    关闭Monkey

    • adb shell "ps | grep monkey"
      返回来的第一个数字,即是monkey的进程号
    • .kill 命令结束进程
      adb shell kill [刚才查到的进程号]

    导出ANR后的trace文件

    adb pull data/anr/traces.txt 导出到当前目录
    adb pull data/anr/traces.txt E:\AndroidTool 导出到E:\AndroidTool目录

    推某个文件到手机上

    adb pull data/anr/traces.txt ./mytraces.txt

    查看所有进程列表,Process Status

    adb shell ps
    也可以跟findstr结合搜索 过滤 带有tencent的
    adb shell ps | findstr tencent

    查看package_name程序进程

    adb shell ps|grep <package_name>

    Gradle常用命令

    这里注意是./gradlew, ./代表当前目录,gradlew代表 gradle wrapper,意思是gradle的一层包装,大家可以理解为在这个项目本地就封装了gradle,即gradle wrapper, 在GradleLearn/gradle/wrapper/gralde-wrapper.properties文件中声明了它指向的目录和版本。只要下载成功即可用grdlew wrapper的命令代替全局的gradle命令。

    理解了gradle wrapper的概念,下面一些常用命令也就容易理解了。

    ./gradlew -v 版本号
    ./gradlew clean 清除GradleLearn/app目录下的build文件夹
    ./gradlew build 检查依赖并编译打包
    这里注意的是 ./gradlew build 命令把debug、release环境的包都打出来,如果正式发布只需要打Release的包,该怎么办呢,下面介绍一个很有用的命令 assemble, 如
    ./gradlew assembleDebug 编译并打Debug包
    ./gradlew assembleRelease 编译并打Release的包
    除此之外,assemble还可以和productFlavors结合使用
    ./gradlew installRelease Release模式打包并安装
    ./gradlew uninstallRelease 卸载Release模式包
    ./gradlew app:dependencies 查看依赖树

    androidStudio打印依赖树

    ./gradlew :app:dependencies --configuration compile (Mac)

    gradle :app:dependencies (window)

    Gradle知识点

    Gradle知识点2

    相关文章

      网友评论

          本文标题:adb Gradle常用语法学习

          本文链接:https://www.haomeiwen.com/subject/wcubiftx.html