簡體   English   中英

重構/重命名 Android Studio 中的 package 名稱無法正常工作

[英]Refactor/rename package name in Android Studio not working as it should

首先,我感謝無數關於重構 package 名稱的帖子。 我研究了其中許多,但沒有一個答案對我有用……我想知道是否有其他人遇到過這樣的問題,或者是否有人知道如何解決這個問題。

這是我嘗試過的,所有這些線程中幾乎所有不同的變體答案以及此處未包括的其他答案:

在 Android Studio 中重命名 package

在 Android Studio 中重構 package 名稱

如何重命名 android package 名稱?

當我創建我的項目時,我的草比現在更綠,所以我就把公司命名為我的名字。 現在我即將啟動我的應用程序,我意識到將我的名字命名為 package 名稱“公司”顯然不像擁有我的公司那樣優雅和專業。 所以我試圖重構 package 名稱如下:

當前 = firstlast.appname

重命名 = com.companyname.appname

我遇到的問題:我嘗試通過實際重構來重構,而 IntelliJ 實際上並未重構所有內容,我在清單中更改了 package 名稱以及 gradle,但仍然無法正常工作。 然后更糟糕的是,清理完所有錯誤后,在項目目錄中隨機彈出帶有舊 package 名稱的新包,我刪除了這些,然后彈出更多。 我再次刪除這些,最后只剩下新的 package 目錄但是,我清理並重建並且沒有錯誤,但是當我嘗試啟動時,我得到:在清單中引用的 Class 在項目或庫中找不到,相關的to dex ...我追查並修復這些錯誤,但無處可去。 在這一點上,我的項目搞砸了,我考慮刪除它並使用備份......相反,我使用歷史記錄到 go 回到過去......

我還嘗試創建一個新的 package 並將所有類和文件移動到新創建的 package 並刪除舊的,但它有自己的蠕蟲罐,看起來比上面的更混亂。

我很迷茫,為什么這並不簡單。 任何幫助深表感謝!

編輯:可能的“四處走動”

我正在查看此文檔:

https://developer.android.com/studio/build/application-id.html

我使用以下指令重命名應用程序 ID:

只需一步即可輕松更改應用程序 ID(現在獨立於 package 名稱)。 您不必觸摸 AndroidManifest。 相反,請執行以下操作:右鍵單擊項目的根文件夾。 點擊“打開模塊設置”。 Go 到風味選項卡。 將 applicationID 更改為您想要的任何 package 名稱。 按確定。

如發現here:

在 Android Studio 中重命名 package

所以我想知道,(新問題,僅相關問題)如果我重命名應用程序 ID,就像我在這里所做的那樣,並且它僅在 gradle 構建文件中更改,這是否適用於我的應用程序 package 名稱以提交到應用程序商店作為共享應用程序? 或者我是否需要完全重構 package?

首先,您必須在 java package 下創建所需的 package 名稱。 After creating your desired package name under java then you have to select all the classes, packages, and activities and put them into the new package. 您可以通過選擇所有文件並將它們剪切並粘貼到新文件以及 select 並拖放到新的 package 來執行此操作。 我認為拖放是最有效的方法。 Delete the text and AndroidTest package under the src folder these folders are auto-generated and they will auto-generated when the new package name is created.

在此處輸入圖像描述

其次,您將 go 到 build.gradle (app) 然后 select 應用程序 id

在此處輸入圖像描述

選擇后按Ctrl + Shift + r然后會出現這個屏幕

在此處輸入圖像描述

添加新的 package 名稱后,您必須單擊全部替換按鈕,將所有舊的 package 名稱替換為新名稱,然后同步 build.gradle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM