Android開發(fā)環(huán)境配置避坑指南
本文記錄了本人新入職后,配置開發(fā)環(huán)境過程中所遇到的問題及解決方案,希望能對大家有所幫助。
網(wǎng)絡環(huán)境:VPN 注意事項
如果公司內(nèi)部網(wǎng)絡需要通過 VPN 訪問,建議關閉個人使用的 VPN,避免兩者產(chǎn)生沖突。同時,記得檢查并刪除之前可能通過命令行設置的代理,以及 gradle.properties 文件中配置的代理信息,防止它們干擾正常的網(wǎng)絡連接。
檢查并刪除命令行代理設置:
# 查看當前代理設置 env | grep -i proxy # 刪除代理環(huán)境變量 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
工具版本統(tǒng)一:Android Studio & JDK
在加入新項目或團隊時,請主動與同事確認當前推薦使用的版本。以避免因環(huán)境差異導致編譯或運行問題,強烈建議團隊成員之間保持 Android Studio 和 JDK 版本的統(tǒng)一。
Gerrit的郵箱配置至關重要
如果你所在的公司使用 Gerrit 進行代碼管理,務必在首次提交代碼前,正確配置好你的 Git 郵箱,確保其與 Gerrit 系統(tǒng)中的注冊郵箱一致。Gerrit 通過郵箱來識別提交者。
如果不慎在郵箱配置錯誤的情況下提交了代碼,不要慌張。建議先通過 git log 或其他方式保存好你的代碼修改內(nèi)容(例如使用 git diff > my_changes.patch),然后刪除當前本地分支 (git branch -D <branch_name>),重新從遠程倉庫拉取分支,應用你的修改,最后再重新提交。
Git拉取和提交代碼:Merge vs Rebase
在拉取或提交代碼前,請務必與團隊成員或項目負責人確認推薦的代碼合并策略。有的項目要求使用 git merge,有的則傾向于使用 git rebase 來保持提交歷史的線性。
如果操作失誤(例如錯誤地使用了 merge 而非 rebase),同樣可以通過刪除本地分支,重新拉取并按正確方式操作來補救。
第一次提交代碼時,建議在有經(jīng)驗的同事指導下進行。這樣可以避免因操作不當引入錯誤,甚至污染遠程倉庫,給其他團隊成員帶來麻煩。
解決 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/
# 確保腳本有執(zhí)行權(quán)限
chmod +x ${gitdir}/hooks/commit-msg
安裝完鉤子后,對于已經(jīng)提交但缺少 Change-Id 的 commit,可以使用以下命令來修正(它會重新打開編輯器讓你確認 commit message,然后自動添加 Change-Id):
git commit --amend
如果你不需要修改 commit message,只想讓鉤子自動添加 Change-Id,可以使用:
git commit --amend --no-edit
代碼修改后運行不生效?
這是一個比較常見的"玄學"問題。當你修改了代碼,重新運行應用后發(fā)現(xiàn)改動并未生效時,可以嘗試以下方法:
啟用 Package Manager 安裝:在 Android Studio 的
Run/Debug Configurations中,找到你的應用配置,勾選Always install with package manager (disables deploy optimizations on Android 11 and later)選項。這個選項會強制使用包管理器進行安裝,有時能解決部署優(yōu)化帶來的問題。關閉 HotSwap:如果上一步無效,可以嘗試關閉 HotSwap 功能。HotSwap 旨在加速代碼部署,但有時也可能導致狀態(tài)不一致。
以上就是Android開發(fā)環(huán)境配置避坑指南的詳細內(nèi)容,更多關于Android配置避坑的資料請關注腳本之家其它相關文章!
相關文章
Flutter?+?Idea?環(huán)境搭建及配置教程
本文主要總結(jié)我實際搭建的過程,最后發(fā)現(xiàn)不一定按網(wǎng)上那些博客或者官方文檔寫的來也可以搭建成功,在這里小編給大家分享下Flutter?+?Idea?環(huán)境搭建及配置教程,感興趣的朋友參考下吧2021-12-12
Android USB轉(zhuǎn)串口通信開發(fā)實例詳解
這篇文章主要介紹了 Android USB轉(zhuǎn)串口通信開發(fā)實例詳解的相關資料,需要的朋友可以參考下2017-04-04
Android?Studio打包?aar實現(xiàn)步驟示例詳解
這篇文章主要為大家介紹了Android?Studio打包aar步驟示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08
Android?PickerScrollView滑動選擇控件使用方法詳解
這篇文章主要為大家詳細介紹了Android?PickerScrollView滑動選擇控件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-04-04

