返回文章列表

工具资源

干货分享 | Android 开发常用「命令行」汇总!

大家好,我是牢鹅!作为一名摸爬滚打多年的 Android 程序员,深知命令行在开发过程中的重要性。命令行用好了,效率提升可不是一星半点。 今天就来跟大家好好聊聊 Android 日常开发中那些常用的命令行,从 Gradle 到 ADB、Apktool,再到 Git、Linux 命令等,保证干货满满,而且尽量说得通俗易懂,让你听得懂、用得上!(本期内容干货满满,篇幅较长,建议收藏转发,慢慢阅读,希望对你有帮助!) 一、Gradle:构建项目的管家 Gradle可以说是 Andr

干货分享 | Android 开发常用「命令行」汇总!
大家好,我是牢鹅!作为一名摸爬滚打多年的 Android 程序员,深知命令行在开发过程中的重要性。命令行用好了,效率提升可不是一星半点。 今天就来跟大家好好聊聊 Android 日常开发中那些常用的命令行,从 Gradle 到 ADB、Apktool,再到 Git、Linux 命令等,保证干货满满,而且尽量说得通俗易懂,让你听得懂、用得上!(本期内容干货满满,篇幅较长,建议收藏转发,慢慢阅读,希望对你有帮助!) ![干货分享 | Android 开发常用「命令行」汇总!](http://androidgo.cn/uploads/2026/06/30/a446f8b5-7fdc-4875-8b4c-bab55c6a7ce1.jpg) #### 一、Gradle:构建项目的管家 Gradle可以说是 Android 开发中构建项目的核心了,熟练掌握它的命令能让我们在构建、打包等操作中事半功倍。 **常用命令** • **`./gradlew assembleDebug`**:生成调试版本的APK,方便开发过程中快速测试。 • **`./gradlew assembleRelease`**:生成正式发布的APK,包含代码混淆等优化操作。 • **`./gradlew clean`**:清理项目,删除旧的构建文件,避免构建冲突。 • **`./gradlew build`**:完整构建项目,包括编译代码、打包资源等。 • **`./gradlew tasks`**:列出项目中所有可用的任务,方便你查看Gradle支持的操作。 • **`./gradlew check`**:运行项目的检查任务,比如代码检查、单元测试等。 • **`./gradlew assembleDebug --stacktrace`**:如果构建失败,加上`--stacktrace`可以查看详细的错误堆栈信息。 • **`./gradlew assembleDebug --info`**:在构建过程中输出更多的调试信息,方便排查问题。 • **`./gradlew assembleDebug --scan`**:生成一个Gradle构建扫描报告,帮助你分析构建性能和问题。 • **`./gradlew assembleDebug --offline`**:在离线模式下构建项目,适合没有网络环境的场景。 • **`./gradlew installDebug`**: 不仅会构建 Debug 版本的 APK,还会自动将其安装到连接的设备上,省去了我们手动拖放安装的步骤,非常方便。对应的,**`./gradlew installRelease`** 会安装 Release 版本的 APK,但同样需要先处理好签名问题。 • **`./gradlew uninstallDebug`**: 能卸载设备上的 Debug 版本应用,当我们需要干净地重新安装时,这个命令就派上用场了。 #### 二、ADB:和设备交互的桥梁 ADB(Android Debug Bridge)是一个非常重要的工具,通过它的命令,我们可以实现安装应用、查看日志、调试等多种操作,让你可以通过电脑来控制手机。 **常用命令** • **`adb devices`**:查看当前连接到电脑的设备列表。 • **`adb install `**:安装APK文件到设备上。 • **`adb uninstall `**:卸载指定包名的APP。 • **`adb logcat`**:查看设备的日志输出,帮助调试问题。 • **`adb shell`**:进入设备的命令行模式,可以运行Linux命令。 • **`adb pull `**:从设备上拉取文件到电脑。 • **`adb push `**:将文件从电脑推送到设备上。 • **`adb reboot`**:重启设备。 • **`adb kill-server`**:关闭ADB服务。 • **`adb start-server`**:启动ADB服务。 • **`adb shell am start -n /`**:启动指定的Activity。 • **`adb shell input keyevent `**:模拟按键事件,比如`adb shell input keyevent 4`表示返回键。 • **`adb shell input tap `**:模拟屏幕点击事件。 • **`adb shell input swipe `**:模拟屏幕滑动事件。 • **`adb shell pm list packages`**:列出设备上安装的所有包名。 • **`adb shell pm clear `**:清除指定APP的数据。 • **`adb shell dumpsys meminfo `**:查看指定APP的内存使用情况。 • **`adb shell dumpsys cpuinfo`**:查看设备的CPU使用情况。 #### 三、Apktool:反编译与重打包的好帮手 apktool 是个非常实用的工具,有时候,我们可能需要查看一个APK文件的内部结构,分析第三方应用,比如它的资源文件、布局文件等。这时候,Apktool就派上用场了。 **常用命令** • **`apktool d `**:反编译APK文件,解压出资源文件和布局文件。 • **`apktool b `**:重新打包APK文件。 • **`apktool d -o `**:指定反编译后的输出目录。 • **`apktool b -o `**:指定重新打包后的APK文件名。 • **`apktool if `**:安装框架资源文件,用于反编译系统APP。 • **`apktool d --no-src`**:反编译时不提取源码文件,只提取资源文件。 • **`apktool d --no-res`**:反编译时不提取资源文件,只提取源码文件。 • **`apktool d --only-main-classes`**:只反编译主类文件,忽略其他类文件。 • **`apktool b --use-aapt2`**:使用AAPT2工具进行打包,适用于较新的Android版本。 • **`apktool d --force`**:强制覆盖已存在的输出目录。 #### 四、Git:版本控制的必备技能 Git是一个版本控制系统,它可以帮助你管理代码的版本。作为目前最流行的版本控制系统,在团队开发和个人项目管理中都必不可少,掌握它的常用命令能让我们更好地进行代码管理。 **常用命令** • **`git init`**:初始化一个Git仓库。执行后会生成一个.git 目录,里面包含了 Git 仓库的所有信息。 • **`git add `**:将文件添加到暂存区。 • **`git clone 仓库地址`** :可以克隆远程仓库到本地,比如**`git clone https://github.com/example/myproject.git`**,就会把远程的 myproject 仓库克隆到本地。 • **`git commit -m "commit message"`**:提交代码,并添加提交信息。 • **`git pull`**:从远程仓库拉取代码。 • **`git push`**:将代码推送到远程仓库。 • **`git status`**:查看当前仓库的状态,包括哪些文件被修改了。 • **`git log`**:查看版本历史记录。 • **`git branch`**:查看当前仓库的所有分支。 • **`git checkout `**:切换到指定的分支。 • **`git merge `**:将指定分支的代码合并到当前分支。 • **`git branch -d `**:删除指定的分支。 • **`git stash`**:将当前未提交的更改暂存起来,方便切换分支。 • **`git stash pop`**:恢复暂存的更改。 • **`git diff`**:查看文件的修改差异。 • **`git reset --hard`**:将代码回退到最近一次提交的状态。 • **`git revert `**:撤销指定的提交。 • **`git blame `**:查看文件的每一行是谁提交的。 • **`git remote -v`**:查看远程仓库的地址。 #### 五、Linux命令:基于命令行的操作系统指令 在Android开发中,我们经常会在Linux环境下工作,比如使用Linux服务器或者在Mac电脑上开发。掌握一些常用的Linux命令是非常有帮助的。 **常用命令** • **`ls`**:列出文件和目录。 • **`cd`**:切换目录。 • **`cd /path/to/directory`**:切换到指定目录。 • **`cd ..`**:切换到上一级目录。 • **`cp`**:复制文件或目录。 • **`cp file1.txt /home/user/backup`**:将`file1.txt`复制到`/home/user/backup`目录。 • **`cp -r folder1 /home/user/backup`**:递归复制整个目录。 • **`mv`**:移动文件或或重命名文件。 • **`mv file1.txt /home/user/backup`**:将`file1.txt`移动到`/home/user/backup`目录。 • **`mv oldname.txt newname.txt`**:将文件`oldname.txt`重命名为`newname.txt`。 • **`rm`**:删除文件或目录。 • **`rm file1.txt`**:删除文件`file1.txt`。 • **`rm -r folder1`**:递归删除整个目录。 • **`rm -f file1.txt`**:强制删除文件,不提示确认。 • **`mkdir`**:创建目录。 • **`mkdir newfolder`**:创建一个名为`newfolder`的目录。 • **`mkdir -p /home/user/project/subfolder`**:递归创建多级目录。 • **`rmdir`**:删除空目录。 • **`chmod`**:修改文件权限。 • **`chown`**:修改文件的所有者。 • **`find`**:查找文件。 • **`find /home/user -name "*.txt"`**:在`/home/user`目录下查找所有扩展名为`.txt`的文件。 • **`find . -type f -size +10M`**:查找当前目录下所有大于10MB的文件。 • **`grep`**:搜索文件内容。 • **`grep "error" log.txt`**:在`log.txt`文件中搜索包含“error”的行。 • **`grep -r "error" /home/user/logs`**:递归搜索`/home/user/logs`目录下所有文件中包含“error”的内容。 • **`cat file1.txt`**:查看文件file1.txt内容。 • **`less`**:分页查看文件内容。 • **`head`**:查看文件的前几行。 • **`tail`**:查看文件的后几行。 • **`touch`**:创建空文件或更新文件时间戳。 • **`ps`**:查看当前运行的进程。 • **`kill`**:终止进程。 • **`top`**:查看系统资源使用情况。 • **`df`**:查看磁盘空间使用情况。 • **`du`**:查看文件或目录的大小。 #### 六、网络命令:排查网络问题的助手 在开发涉及网络请求的应用时,我们经常需要调试网络请求。掌握一些网络命令可以帮助你快速定位问题。 **常用命令** • **`ping`**:测试网络连通性。 • **`ping google.com`**:向`google.com`发送ICMP请求,测试网络连通性。 • **`ping -c 4 google.com`**:向`google.com`发送4次ICMP请求。 • **`curl`**:发送网络请求,测试API接口。 • **`curl -X GET https://api.example.com/data`**:发送GET请求到指定的API接口。 • **`curl -X POST -d '{"key":"value"}' -H "Content-Type: application/json" https://api.example.com/submit`**:发送POST请求,提交JSON数据。 • **`curl -I https://api.example.com/data`**:只获取HTTP响应头。 • **`netstat`**:查看网络连接状态。 • **`telnet google.com 80`**:测试`google.com`的80端口是否开放。 • **`nc`**(`netcat`):用于网络调试和数据传输。 • **`traceroute`**:查看数据包的路由路径。 • **`ifconfig`**:查看和配置网络接口。 • **`ip addr`**:查看网络接口的IP地址。 • **`ip route`**:查看和配置路由表。 • **`ss`**:查看套接字信息,类似于`netstat`但更强大。 • **`whois google.com`**:查询`google.com`的注册信息。 • **`host google.com`**:查询`google.com`的IP地址。 • **`nslookup google.com`**:查询`google.com`的DNS信息。 • **`tcpdump`**:抓取网络数据包,用于分析网络流量。 • **`wireshark`**:图形化工具,用于抓包和分析网络流量。 #### 结语 好啦,以上就是牢鹅在 Android 开发中常用的一些命令行工具和命令,当然还有很多其他的命令和参数,在实际开发中可以根据具体需求去探索和使用。 这些工具和命令虽然看起来有点复杂,但其实只要多用几次,你就会发现它们非常实用。掌握这些命令,可以让你在开发过程中更加高效,也能帮助你快速定位和解决问题。

推荐阅读

继续阅读相关出海经验。

评论

一起交流这篇文章。

暂无评论,欢迎留下第一条交流。