Android开发环境配置避坑指南
本文记录了本人新入职后,配置开发环境过程中所遇到的问题及解决方案,希望能对大家有所帮助。
网络环境:vpn 注意事项
如果公司内部网络需要通过 vpn 访问,建议关闭个人使用的 vpn,避免两者产生冲突。同时,记得检查并删除之前可能通过命令行设置的代理,以及 gradle.properties
文件中配置的代理信息,防止它们干扰正常的网络连接。
检查并删除命令行代理设置:
# 查看当前代理设置 env | grep -i proxy # 删除代理环境变量 unset http_proxy unset https_proxy unset http_proxy unset https_proxy
检查并清理gradle.properties
文件:文件位置:~/.gradle/gradle.properties
以及项目根目录下的gradle.properties
删除或注释掉以下类似配置:
systemprop.http.proxyhost=xxx systemprop.http.proxyport=xxx systemprop.https.proxyhost=xxx systemprop.https.proxyport=xxx
工具版本统一:android studio & jdk
在加入新项目或团队时,请主动与同事确认当前推荐使用的版本。以避免因环境差异导致编译或运行问题,强烈建议团队成员之间保持 android studio 和 jdk 版本的统一。
gerrit的邮箱配置至关重要
如果你所在的公司使用 gerrit 进行代码管理,务必在首次提交代码前,正确配置好你的 git 邮箱,确保其与 gerrit 系统中的注册邮箱一致。gerrit 通过邮箱来识别提交者。
如果不慎在邮箱配置错误的情况下提交了代码,不要慌张。建议先通过 git log
或其他方式保存好你的代码修改内容(例如使用 git diff > my_changes.patch
),然后删除当前本地分支 (git branch -d
),重新从远程仓库拉取分支,应用你的修改,最后再重新提交。
git拉取和提交代码:merge vs rebase
在拉取或提交代码前,请务必与团队成员或项目负责人确认推荐的代码合并策略。有的项目要求使用 git merge
,有的则倾向于使用 git rebase
来保持提交历史的线性。
如果操作失误(例如错误地使用了 merge 而非 rebase),同样可以通过删除本地分支,重新拉取并按正确方式操作来补救。
第一次提交代码时,建议在有经验的同事指导下进行。这样可以避免因操作不当引入错误,甚至污染远程仓库,给其他团队成员带来麻烦。
解决 missing change-id in message footer 错误
在向 gerrit 提交代码时,有时会遇到 missing change-id in message footer
的错误。这是因为 gerrit 需要在每个 git 提交的 commit message 末尾包含一个唯一的 change-id
来跟踪代码审查。
通常,gerrit 会提供一个 commit-msg
钩子脚本来自动生成 change-id
。如果你的本地仓库缺少这个钩子,可以通过以下命令从 gerrit 服务器获取并安装(请记得替换命令中的地址和用户名):
gitdir=$(git rev-parse --git-dir) scp -p -p 29418 xxx@xxx.com:hooks/commit-msg ${gitdir}/hooks/ # 确保脚本有执行权限 chmod +x ${gitdir}/hooks/commit-msg
安装完钩子后,对于已经提交但缺少change-id
的 commit,可以使用以下命令来修正(它会重新打开编辑器让你确认 commit message,然后自动添加 change-id):
git commit --amend
如果你不需要修改 commit message,只想让钩子自动添加 change-id,可以使用:
git commit --amend --no-edit
代码修改后运行不生效?
这是一个比较常见的"玄学"问题。当你修改了代码,重新运行应用后发现改动并未生效时,可以尝试以下方法:
启用 package manager 安装:在 android studio 的
run/debug configurations
中,找到你的应用配置,勾选always install with package manager (disables deploy optimizations on android 11 and later)
选项。这个选项会强制使用包管理器进行安装,有时能解决部署优化带来的问题。关闭 hotswap:如果上一步无效,可以尝试关闭 hotswap 功能。hotswap 旨在加速代码部署,但有时也可能导致状态不一致。
以上就是android开发环境配置避坑指南的详细内容,更多关于android配置避坑的资料请关注代码网其它相关文章!