Mac平台Android常用命令

本文介绍了在Mac系统中如何解决ADB端口被占用的问题,查看设备支持的ABI,以及详细步骤来配置环境变量,包括设置ANDROID_HOME、JAVA_HOME等,并添加到bash_profile。同时,文章还提到了在ZSH环境下使配置生效的方法,以及为避免每次手动执行,如何在zshrc文件中添加命令。

1、adb端口被占用:

lsof -i tcp:5037:罗列5037端口进程
kill pid:杀死其余进程

2、查看支持的abi

adb devices:获取设置列表,例如:8X9LNVOFH6PZ4THU  

adb -s 8X9LNVOFH6PZ4THU  shell getprop ro.product.cpu.abi:打印的结果就是的

3、Mac下环境变量的配置

        Mac 系统的环境变量,加载顺序为:

/etc/profile
/etc/paths
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc

        /etc/profile和/etc/paths是系统级别的,系统启动就会加载,不建议修改此文件,后面几个是当前用户级的环境变量。后面3个按照从前往后的顺序读取,如果/.bash_profile文件存在,则后面的几个文件就会被忽略不读了,如果/.bash_profile文件不存在,才会以此类推读取后面的文件。~/.bashrc没有上述规则,它是bash shell打开的时候载入的。

        一般是在bash_profile设置单个用户的或者bashrc设置全局的,下面设置bash_profile环境变量:

vim .bash_profile 

添加环境变量,例如:

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

export ANDROID_HOME=/Users/kewang/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:"/Users/kewang/Library/Android/sdk/platform-tools/adb"

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home
#export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH:.
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.

PATH=$PATH:/usr/local/bin/node

export MONGO_PATH=/usr/local/mongodb
export PATH=$PATH:$MONGO_PATH/bin

export NDK_ROOT=/Users/kewang/Library/Android/sdk/ndk/21.0.6113669
export PATH=$NDK_ROOT:$PATH

# 配置 flutter、dart 环境变量
export FLUTTER_HOME=/Users/kewang/Library/Flutter/flutter
export PATH=$PATH:$FLUTTER_HOME/bin
export PATH=$PATH:$FLUTTER_HOME/bin/cache/dart-sdk/bin

# 配置镜像,下载 flutter 依赖速度快
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

然后执行下面名命令,使环境变量生效:

source .bash_profile

输入相关信息,例如flutter,发现:      

zsh: command not found: flutter

输入:

source .bash_profile  

即可生效,要想每次打开不输入上面的命令,配置入下:

vim .zshrc

将source ~/.bash_profile加入进去,然后保存,重新启动下就正常了。

<think>我们正在处理关于Android Studio Logcat过滤命令和用法示例的问题。用户希望了解如何在Logcat中使用过滤命令来查看特定的日志信息。 根据我们之前提供的引用,虽然引用内容是关于JNI调试和CheckJNI设置的,但用户的问题已经明确转向Logcat过滤命令。因此,我们将忽略引用中不相关的内容,直接回答用户的问题。 Logcat是Android开发中用于查看系统日志的工具,它可以帮助开发者调试应用程序。在Android Studio中,Logcat窗口提供了多种过滤选项,包括按标签(Tag)、级别(Level)、进程ID(PID)、包名(Package)等。 常用的过滤命令(在Logcat的过滤栏中直接输入)包括: 1. 按标签过滤:tag:MyTag 2. 按日志级别过滤:level:DEBUG, level:WARN, level:ERROR等(注意:级别需要大写) 3. 按包名过滤:package:com.example.myapp 4. 按进程ID过滤:pid:1234 5. 按关键字过滤:直接输入关键字(如:Exception) 6. 组合过滤:可以使用多个条件,用空格隔开(表示AND关系),例如:tag:MyTag level:ERROR 此外,还可以使用正则表达式:在过滤栏右侧有一个下拉菜单,可以选择“Regex”来使用正则表达式过滤。 下面是一些具体的用法示例: 示例1:只显示标签为“MainActivity”的日志 tag:MainActivity 示例2:显示标签为“MainActivity”且日志级别为ERROR或以上的日志 tag:MainActivity level:ERROR 示例3:显示包名为“com.example.myapp”的日志 package:com.example.myapp 示例4:显示包含“NullPointer”异常的日志 NullPointer 示例5:使用正则表达式匹配多个标签(例如以“My”开头的标签) 在过滤栏选择Regex,然后输入:tag:My.* 注意:在Android Studio的新版本中,Logcat界面有所变化,但过滤方式基本一致。另外,还可以保存过滤条件以便快速切换。 如果用户需要更复杂的过滤,还可以使用adb logcat命令,但通常Android Studio的图形界面过滤已经足够。 由于用户要求的是在Android Studio中的过滤命令,我们主要介绍图形界面的过滤栏使用方法。 下面,我们按照要求生成相关问题。</think>### Android Studio Logcat 过滤命令及用法示例 在 Android Studio 中使用 Logcat 时,可通过过滤命令精准定位日志信息。以下是常用过滤语法及示例: --- #### **1. 基础过滤命令** | **过滤类型** | **语法格式** | **示例** | **说明** | |----------------|-----------------------|-----------------------------------|-----------------------------| | 按标签(Tag) | `tag:标签名` | `tag:MyActivity` | 显示特定组件/类的日志 | | 按日志等级 | `level:级别` | `level:ERROR` | 仅显示错误日志(大写) | | 按包名 | `package:包名` | `package:com.example.app` | 过滤指定应用的日志 | | 按进程ID(PID) | `pid:进程ID` | `pid:1234` | 显示特定进程的日志 | | 关键字搜索 | 直接输入关键词 | `NetworkError` | 搜索包含关键词的日志 | --- #### **2. 组合过滤** 使用空格分隔多个条件实现 **AND** 逻辑: ```log tag:MyFragment level:WARN package:com.example.app ``` 显示包名 `com.example.app` 中,标签为 `MyFragment` 且级别为 **WARN** 的日志。 --- #### **3. 正则表达式过滤** 在过滤栏右侧下拉菜单选择 **Regex** 模式: ```regex tag:ViewModel.* level:ERROR ``` 匹配所有以 `ViewModel` 开头的标签且级别为 **ERROR** 的日志。 --- #### **4. 排除过滤** 使用 `-` 排除特定内容: ```log -tag:Test ``` 排除所有标签包含 `Test` 的日志。 --- #### **5. 常用快捷操作** - **保存过滤方案**:点击过滤栏左侧 **+** 图标,命名后保存常用过滤条件 ![Logcat Save Filter](https://developer.android.com/static/studio/images/debug/logcat-save-filter_2x.png) - **快速切换**:通过下拉菜单选择已保存的过滤方案 - **清除日志**:工具栏垃圾桶图标 🗑️ 或快捷键 `Ctrl+L`(Windows/Linux)/ `Cmd+L`(Mac) --- #### **6. 高级 adb logcat 命令** 在终端直接使用 adb 过滤日志(需连接设备): ```bash # 显示指定包名的 ERROR 日志 adb logcat com.example.app:E *:S # 按关键字实时过滤(Ctrl+C 退出) adb logcat | grep "NullPointer" ``` > `*:S` 表示静默其他包名的日志,`grep` 为 Linux/Mac 命令(Windows 可用 `findstr`)。 --- #### **示例场景** **问题**:仅监控 `LoginActivity` 中的调试日志,排除 `Firebase` 相关日志 **解决方案**: ```log tag:LoginActivity level:DEBUG -tag:Firebase ``` --- ### 注意事项 1. 过滤条件**区分大小写**(如 `level:error` 无效,需用 `level:ERROR`) 2. 新版本 Android Studio(2022+)使用 **结构化过滤界面**,支持可视化条件组合 3. 使用 `package:` 时需确保应用已启动(否则无进程ID) > 官方文档参考:[Filter log messages  |  Android Studio](https://developer.android.com/studio/debug/logcat#filter)[^1] ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值