android - tutorial - java studio




Android Studio重命名包 (20)

如何在基於intelijj的新IDE Android Studio中重命名包?

是否包含自動重構?

我想進行批量重構,但我不知道如何。 我在eclipse和eclipse上工作了2年,這是一次單擊操作。


在Android Studio中,您可以這樣做:

例如,如果您想將com.example.app更改為my.awesome.game ,那麼:

  1. 在您的項目窗格中 ,點擊小齒輪圖標( )

  2. 取消選中/取消選擇Compact Empty Middle Packages選項

  1. 您的軟件包目錄現在將在各個目錄中分解

  2. 單獨選擇要重命名的每個目錄,並且:

    • 用鼠標右鍵單擊它
    • 選擇Refactor
    • 點擊Rename
    • 在彈出對話框中,單擊Rename Package而不是重命名目錄
    • 輸入新名稱並點擊Refactor
    • 點擊底部的重構
    • 稍等片刻讓Android Studio更新所有更改
    • 注意:在Android Studio中重命名com時,可能會發出警告。 在這種情況下,請選擇 全部重命名

  1. 現在打開你的Gradle構建文件build.gradle - 通常是appmobile )。 將applicationId更新為新的Package Name和Sync Gradle,如果它尚未自動更新:

  1. 您可能需要更改清單中的package=屬性。

  2. 清潔和重建。

  3. 完成! 無論如何,Android Studio需要使這個過程更簡單一些。


  1. 在Java文件夾中選擇包名稱。
  2. Shift + F6
  3. 更改軟件包名稱並單擊確定。

您的軟件包名稱將從所有Java文件和清單文件中更改。 您必須手動更改build.gradle中的軟件包名稱


3年後的額外答案,當​​然如果以前沒有為您工作,因為“某事”。

  • 轉到項目路徑>你在哪裡找到java文件和包
  • 創建新的文件夾,例如com> super_package>活動
  • Android Studio將刷新項目結構
  • 將所有Java文件移動到新文件夾
  • 刪除舊的文件夾
  • 編輯>查找>替換路徑:
  • 將舊的軟件包名稱更改為新的
  • 在清單中也會改變並建立gradle

完成!



(1)

打開文件:

app >>清單>> AndroidManifest.xml

突出顯示要修改的軟件包名稱中的每個部分(不要突出顯示整個軟件包名稱),然後:

  • 鼠標右鍵單擊>>重構>>重命名>>重命名包
  • 鍵入新名稱並按(重構)

在包名的每個部分執行這些步驟

(2)

打開(Gradle腳本)>>(build.gradle(Modul:app))

並將applicationId更新為您的軟件包名稱

(3)

打開菜單(構建)並選擇(重建項目)


更新回答:2015年5月

好的,我一直在Android Studio中克隆和重命名項目,但最終我實現了它。 以下是要遵循的步驟:

  1. 複製項目文件夾,重命名並使用Android Studio打開它
  2. 從資源管理器重命名模塊目錄
  3. 重命名projectName.iml和內容
  4. 重命名idea / .name內容
  5. 在你的項目窗格中,點擊小齒輪圖標 - >取消選中“Compact Empty Middle Package”
  6. 為新包名稱重新命名src目錄(重命名包,“不重命名目錄”)
  7. 在build.gradle重命名應用程序ID
  8. settings.gradle重命名模塊

而已...


人們常犯的錯誤是無法重命名包結構,即當com.name.android級別嘗試修改com.name.android為com.Renamed.android時,無法將其更改為com.name.android。

為了有相同的期望的變化去一級,即com.name和這里當你重構改變它重命名。 這將始終工作


包有兩個目的。 一種是在Google Play商店中唯一標識您的應用。 另一種是命名您生成項目時生成的R.java類的包。 您可以將第一個用途看作是外部軟件包,將第二個用作內部軟件包。 假設您想更改外部軟件包,以便您可以在Play商店中識別,則可以使用這種便捷的方法。

在Android Studio中,選取“文件”>“項目結構”>選擇您的應用程序的模塊>單擊“風味”選項卡>更改應用程序ID。 現在,當你建立你的項目時,你的APK和清單將使用這個新的包名稱。


右鍵單擊項目面板中的包。

從上下文菜單中選擇重構 - >重命名。


右鍵單擊包 - >重構並更改名稱。 您也可以在清單中更改它。 有時如果你改變軟件包名稱,但創建apk之後,它會顯示當時不同的軟件包名稱,請檢查build.gradle文件中的“applicationId”。


如果您的軟件包名稱是兩個以上的點分隔的,請說com.hello.world ,而且,您沒有將任何內容放在com/com/hello/ 。 所有的類都放到com/hello/world/ ,你可以按照以下步驟在Android Studio或IntelliJ中重構你的包名:

  • [第一]在你的目錄下添加一些東西( com/com/hello/ )。 你可以通過首先添加兩個文件來包裝com.hello.world來實現這一點,比如說
   com.hello.world.PackageInfo1.java
   com.hello.world.PackageInfo2.java

然後通過將它們分別移動到com和com.hello來重構它們。 您將在項目中看到com和com.hello( Alt+1或快捷鍵Command+1 ),並重命名目錄重構正在等待您的預期。

  • 重構重命名一個或多個這些目錄以達到您的目標。 你應該注意到的唯一的事情就是當對話問你時,你必須選擇目錄而不是包。

  • 如果您的項目中有很多課程,則需要等待其自動掃描和重命名。

  • 此外,您需要手動重命名AndroidManifest.xml中的包名稱,我猜,這樣文件中的其他名稱可以使前綴受益。

  • [ALSO] ,它可能需要您將所有com.hello.world.R替換為新的XXX.XXX.XXX.RCommand+Shift+R

  • 重建並運行你的項目,看它是否工作。 然後使用“在路徑中查找”來查找您想要重命名的其他非觸摸名稱。

  • 好好享受。

對於我來說,即使是在所有相關模塊中更改事件,對於我想在包中修改的文件夾名稱,對於我而言,這對我而言都很好,但對於我而言, 只有遵循以下步驟才能正常工作:

  • A - 如果您想更改根文件夾的名稱(換句話說,文件夾的名稱是包中主要用於包含主要活動的文件夾名稱),則可以執行以下步驟(B到C) 之前之後執行退出“Android Studio”並手動重命名此根文件夾。 點擊“導入項目...”,然後點擊項目的新名稱(此導入過程將自動使用項目文件重新調整'Gradle'文件。)
  • B - 下面的C步驟之前 ,不要忘記通過在以下3個文件中更改它們來手動修改要在包中更改的文件夾名稱:'AndroidManifest.xml','MainActivity.java'(或您的名稱最終選擇你的第一個活動)和'build.gradle(Module:app)'文件。
  • C - 按照上述步驟1至6(“在項目窗格中,單擊小齒輪圖標...”) - > https://.com/a/29092698/2001610
  • D - 僅當您想要現在更改根文件夾的名稱時,您可以按照上述的'A'過程進行操作。

我嘗試了兩個頂級投票解決方案,但發現一些問題,即使兩者都在一定程度上起作用。

  • 列表項目:新的軟件包拖放方法保持不變並產生一些不希望的效果
  • 列表項:重命名包僅更改包名的最後部分

經過一些實驗後,我發現以下方法適合我。

如果您只需要更改軟件包名稱的最後部分,請使用GreyBeardedGeek概述的方法,即

在“項目”窗格中右鍵單擊包。 從上下文菜單中選擇重構 - >重命名

如果您需要更改整個軟件包名稱,請執行以下操作。

在“項目”窗格中右鍵單擊包。 從上下文菜單中選擇重構 - >移動

這將創建一個新的包文件夾(必要時),但會像以前一樣保留包名的最後一部分。 如果您需要更改最後一部分,請相應地重命名。

還要注意,你可能需要修改例如build.gradle,manifest和/或任何xml資源文件中的軟件包名稱,如果硬編碼的話甚至可以在你的代碼中修改軟件包名稱。 畢竟,根據需要進行同步/清理/重建項目。


我已經看到了最高票數的答案,但我發現有點不同,我嘗試做最完整的教程。

從Android Studio中點擊齒輪圖標( ),然後選擇"Compact Empty Middle Packages"選項,查看以樹狀視圖分隔的文件夾。

現在選擇文件夾,單擊右鍵打開上下文菜單,選擇Refactor ,然後Rename

你會被建議重構包裝:

然後一個窗口會顯示該項目內的巧合,選擇"Do Refactor"

我們不需要手動更改AndroidManifest.xml或build.gradle文件,重構包就能完成這項工作!


我用來重命名包名的方法很簡單,如下所示: -

第1步 :從Android Studio的左側菜單中選擇項目選項

第2步 :右鍵單擊Java並添加一個新包並設置所需的包名

第3步 :輸入新的軟件包名稱

第4步 :複製舊包中的所有文件並粘貼到新包中

第5步 :重命名清單文件中的軟件包名稱

第6步 :在build.gradle文件中重命名包名

步驟7 :然後右鍵單擊舊包並將其全部數據刪除,並刪除該目錄

第8步 :然後重建您的項目

第9步 :然後在項目中找到舊導入包名的一些錯誤在任何文件中選擇舊包名,然後按 CTRL + SHIFT + R ,然後在替換框中輸入新包名,然後按查找

第10步 :然後彈出如下,並從中選擇所有文件選項

第11步 :重新構建你的項目,賓果你的項目包名已被更改:)


我發現了一個更簡單的方法來解決這個問題,它也改變了像com.test.testpackagechange.R這樣的生成的導入,只需要大約一分鐘。

你的第一步是打開Android Studio並打開替換所有窗口(Mac:cmd + shift + R,Windows我假設:ctrl + shift + R)。 輸入您的舊軟件包名稱,並在新軟件包名稱下方輸入。 點擊查找。 這可能需要一段時間,因為它也在查看生成的項目。 如果它有超過1000次點擊,請點擊繼續。

完成之後,請按全部替換以將新包名替換為新包名。

現在關閉Android Studio並轉到Mac上的Finder或Windows上的Windows資源管理器。 將文件夾的名稱更改為新的軟件包名稱,如下所示:

現在再次打開Android Studio。 Gradle將同步,您的軟件包名稱應該更改為新名稱。

我發現這是最簡單的一個,涵蓋生成文件等所有領域。


我相信你在尋找的是Refactor> Move。 您也可以按F6鍵。

你會得到兩個彈出窗口。 確保你選擇了重命名包。 之後你會彈出一個新的包名稱。

請注意,如果您的軟件包名稱是com.example.android.projectname,那麼這會讓您將com.example.android更改為其他內容。

還有一件事,它會更新build.gradle中的applicationId。 只要確保選中“在評論和字符串中搜索”和“搜索文本發生”複選框都可以使用。


更改應用程序ID (現在獨立於軟件包名稱)可以通過一個步驟輕鬆完成。 您不必觸摸AndroidManifest。 而是執行以下操作:

  1. 右鍵單擊項目的根文件夾。
  2. 點擊“打開模塊設置”。
  3. 轉到Flavors選項卡。
  4. 將applicationID更改為所需的任何軟件包名稱。 按OK。

請注意,這不會更改軟件包名稱。 Package Name和Application ID的解耦在這裡解釋: http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename : http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename


編寫新軟件包名稱並從舊軟件包名稱拖放的最佳方法。 第二種方法是,如果您單擊重構然後移動選項,然後重命名包名稱,它將重命名包名稱然後重建。

在Build.gradle你必須手動完成,如果你重構那麼它將不會在Build.gradle中重命名。


請嘗試以下步驟:

  1. 點擊設置齒輪圖標並取消選擇Compact Empty Middle Package
  2. 現在我們可以看到每個包文件夾被分解成多個部分
  3. 現在右鍵單擊第一個包文件夾>>> refactor >>> rename
  4. 現在會顯示警告,但您繼續並單擊重命名包
  5. 之後,輸入您的域名作為包名稱
  6. 點擊'重構'
  7. 現在它已經改變了App的軟件包域名。 現在根據您的要求更改域擴展名和應用程序文件夾名稱
  8. 現在在Gradle腳本中打開build.gradle(Module:app)。 這裡更改應用程序ID並單擊立即同步。

*******最後它已完成******





android-studio