修改 applicationId,心得分享

前言

新增專案時,有一個很重要的步驟就是 Package name 的設定,取名通常都會根據專案的用途(功能)或使用公司(組織)名稱等來設定.方便看到名稱時就可以一眼清楚辨識,但名稱難免會發生重覆.

如果專業的 APP 設計公司,使用相同的模板.把共用的程式碼下載下來後,會根據需求來更改專案功能,最後把 APP release 打包出去.

以上敘述會遇到的兩個問題:

1. applicationId 如果包含 com.example 字串在 Android studio 打包成 .apk 檔後,想要上傳到 Google Play 是會被拒絕的.

2. applicationId 重複.

基本流程

這邊要注意 Package name 如果使用到 example 要記得修改.


要特別注意上方所設定 Package name,會影響到很多設定,包含資料夾的命名方式和 applicationId 等.如果要查看可以到 build.gradle (Module) 下查看.

產生的 applicationId 會根據 package name 來產生


幾個重要的設定檔案

AndroidManifest.xml package name

class 資料夾存放的位置

如何修改 package name?
這邊有一個小重點平常不會注意,但真的要修改時,可能會一時找不到方法.


如果直接對資料夾右鍵 Rename 想要去修改名稱,那麼這時會修改到的會是 nsfw_gbike,但要修改 slideproject 中間層的資料時卻無法修改,如下圖,只能修改最後一個資料夾.
 

無法針對中間的資料夾修改,只能針對最後一個資料夾

點選齒輪取消 中間 Package 設定

slideproject 可以正常修改

Refactor -> Rename

這邊要特別注意 Rename Package 跟 Rename directory 是不同的,要確認不要選錯.
Rename Package 點選後,所有的 import Package 都會被修改到,所以修改時要非常小心,如果專案有一兩百個檔案,那麼它們會被同時修正.

最後
手動到 build.gradle (Module) 去修改 並且 Sync 檔案


Package name 可以跟 application Id 不同,另外有 flavor 的功能,有興趣可以研究一下·



以上兩張圖比較明白的說法是,Android Studio會自己去偵測 applicationId 並去修正 package name,所以要更正重複的 applicationId 時,請記得要同時修改 applicationId 和 Package name.

簡單的理解:
(A) application 與 packagename 保持一致
(B) build.gradle 沒有設定 applicationId,會根據 AndroidManifest.xml的設定來更改 applicatoinId
(C) application 與 packagename 不一致,最終會根據 applicationId 去修改 packagename

比較詳細的說明:

如果已經上架至 Google Play 請注意不要再去修改 applicationId 避免無法上架

END

留言

熱門文章

TourCard 開通全紀錄 台胞證 支付寶

[ 教學 ] 如何使用 Sourcetree 對 Github 進行版本控制 #Mac OS 版本控制