Ganti nama paket di Android Studio

1361

Bagaimana Anda mengganti nama paket di IDE Android Studio baru, berdasarkan IntelliJ IDEA?

Apakah ada refactoring otomatis yang disertakan?

Saya ingin membuat refactoring massal, tetapi saya tidak tahu caranya. Saya bekerja dua tahun dengan Eclipse dan di Eclipse ini adalah operasi satu-klik.

ramzixp
sumber
Silakan lihat jawaban saya di sini . Saya telah berhasil mengubah nama proyek saya menggunakan langkah-langkah yang telah saya jelaskan.
Leigh
kemungkinan rangkap dari Ubah nama proyek di Android Studio
Leigh
Proses Langkah demi Langkah untuk Mengubah nama Paket ... stackoverflow.com/a/46945668/6915572
Shubham Soni
Jawaban Sheharyar bekerja seperti yang diharapkan. yaitu 1. Refactor 2. Edit build.gradle. Namun, Anda harus menindaklanjutinya dengan mengubah atribut app_name di file strings.xml juga!
Suhas Mallya

Jawaban:

2849

Di Android Studio, Anda dapat melakukan ini:

Misalnya, jika Anda ingin mengubah com.example.appke my.awesome.game, maka:

  1. Di panel Proyek Anda , klik pada ikon roda gigi kecil ( Ikon Gears)

  2. Hapus centang / Hapus Compact Empty Middle Packagespilihan

    Paket Tengah Kosong Kompak

  3. Direktori paket Anda sekarang akan dipecah dalam direktori individual

  4. Pilih secara individual setiap direktori yang ingin Anda ganti namanya, dan:

    • Klik kanan
    • Pilih Refactor
    • Klik Rename
    • Dalam dialog Pop-up, klik Rename Packagebukan Ubah Nama Direktori
    • Masukkan nama baru dan tekan Refactor
    • Klik Lakukan Refactor di bagian bawah
    • Biarkan sebentar agar Android Studio memperbarui semua perubahan
    • Catatan: Saat mengganti nama comdi Android Studio, ini mungkin memberi peringatan. Jika demikian, pilih Ubah Nama Semua

    Masukkan deskripsi gambar di sini

  5. Sekarang buka File Gradle Build Anda ( build.gradle- Biasanya appatau mobile). Update applicationIddi defaultConfiguntuk Anda Paket baru Nama dan Sync Gradle, jika belum sudah diperbarui secara otomatis:

    Direktori Refactor

  6. Anda mungkin perlu mengubah package=atribut di manifes Anda.

  7. Bersihkan dan Bangun Kembali.

  8. Selesai! Bagaimanapun, Android Studio perlu membuat proses ini sedikit lebih sederhana.

Sheharyar
sumber
32
Bersihkan dan bangun kembali.
Sheharyar
20
PERINGATAN: jika Anda memilih "Ubah nama semua" ketika mengganti nama juga "com" itu tidak hanya akan mengubah nama hal-hal ke dalam modul yang dipilih tetapi ke dalam semua modul ke dalam proyek ini
ricky.tribbia
17
@Antonio seret file com.example.testke com.exampledan kemudian hapus com.example.test.
Dick Lucas
27
Prosedur ini berhasil untuk saya. Saya juga harus mengubah AndroidManifest.xml untuk mencerminkan nama baru. Misalnya -> package = "my.awesome.game">
nevzo
11
Jika Anda menggunakan firebase, ubah package_name Anda di google-services.json juga.
Samar
550

Metode lain yang baik adalah: Pertama buat paket baru dengan nama yang diinginkan dengan mengklik kanan pada folder Java → NewPackage .

Kemudian, pilih dan seret semua kelas Anda ke paket baru. Android Studio akan memperbarui nama paket di mana-mana.

Akhirnya, hapus paket lama.

Selesai

Sangat penting:

Anda harus mengubah secara manual AndroidManifest.xml dan file build.gradle ke paket baru jika Anda menggunakan metode ini.

user10F64D4
sumber
67
Anda mungkin perlu memperbarui file Android Manifest Anda untuk referensi paket baru jika Anda menggunakan metode ini. Langkah yang sangat sederhana, solusi bagus.
Dick Lucas
10
Anda mungkin harus memulai ulang studio Android untuk memperbarui .idea / workspace.xml
Christoph
24
Anda juga mungkin perlu mengubah build.gradle Anda untuk mencerminkan paket baru
Samik Bandyopadhyay
35
metode yang baik tetapi harus melakukan 2 hal lagi (selain memperbarui file manifes) untuk membuatnya benar-benar berfungsi, pertama harus mengubah / mengganti nama file impor R di seluruh proyek dan kedua appdebug menggunakan nama paket lama (terlihat di run window studio ) menambahkan applicationId "com.packagename" di app build.gradle defaultconfig ..
baboo
1
@ binoo Untuk mempermudah bagian pertama itu, Anda dapat mengoptimalkan impor file untuk keseluruhan proyek dengan menekan Ctrl + Alt + O dan memilih semua file, lalu mengklik jalankan. Ini sangat berguna jika Anda memiliki banyak aktivitas dan kelas lain dengan impor file R.
Samuel Rabinowitz
202

Mengubah ID aplikasi (yang sekarang terlepas dari nama paket) dapat dilakukan dengan sangat mudah dalam satu langkah. Anda tidak harus menyentuh AndroidManifest. Alih-alih lakukan hal berikut:

  1. klik kanan pada folder root proyek Anda.
  2. Klik "Buka Pengaturan Modul".
  3. Buka tab Flavours.
  4. Ubah ID aplikasi menjadi nama paket apa pun yang Anda inginkan. Tekan OK.

Catatan ini tidak akan mengubah nama paket. Pemisahan Nama Paket dan ID Aplikasi dijelaskan di sini: http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename

hat
sumber
8
Ini hanya mengubah nama dalam gradle, dan tidak di tempat lain.
Jacob R
4
Ini adalah satu jawaban suci grail! Sangat cerdas!
sud007
4
Ini perlu dipilih sebagai jawaban yang benar karena sangat mudah dan cepat untuk diikuti.
Ayaz Alifov
6
Kebutuhan ini harus diterima, jawaban lain yang panjang dan Anda tidak dapat mengubah com.example.sampleke com.examplemenggunakan jawaban lain
Inder Kumar Rathore
1
Ini jawaban yang benar. Bekerja seperti pesona dengan waktu minimum
sunil
77

Pendekatan yang saya gunakan untuk menamai ulang nama paket itu sederhana sebagai berikut: -

Langkah 1 : Pilih opsi Project dari menu kiri Android Studio

masukkan deskripsi gambar di sini

Langkah 2 : Klik kanan pada java dan tambahkan paket baru dan atur nama paket yang diinginkan

masukkan deskripsi gambar di sini

Langkah 3 : Masukkan nama paket baru Anda

masukkan deskripsi gambar di sini

Langkah 4 : Salin semua file dari paket lama Anda dan rekatkan dalam paket baru

masukkan deskripsi gambar di sini

Langkah 5 : Ganti nama nama paket dalam file manifes

masukkan deskripsi gambar di sini

Langkah 6 : Ganti nama nama paket dalam file build.gradle

masukkan deskripsi gambar di sini

Langkah 7 : Kemudian klik kanan paket lama dan hapus dengan semua datanya, dan hapus direktori itu juga

masukkan deskripsi gambar di sini

Langkah 8 : Kemudian Bangun kembali proyek Anda

masukkan deskripsi gambar di sini

Langkah 9 : Kemudian Anda akan menemukan beberapa kesalahan dari nama paket impor lama di proyek Anda. Pilih nama paket lama dalam file apa pun dan tekan CTRL + Shift + R , dan masukkan nama paket baru Anda di kotak ganti, lalu tekan temukan

masukkan deskripsi gambar di sini

Langkah 10 : Kemudian muncul popup seperti di bawah ini dan pilih opsi Semua file dari itu

masukkan deskripsi gambar di sini

Langkah 11 : Bangun kembali proyek Anda, bingo nama paket proyek Anda telah diubah :)

Mehroz Munir
sumber
1
Ganti Ganti Jalur tidak lagi tersedia Shift + R di Android studio 2.3.3, sorot jalur lama, buka Edit -> Temukan -> Ganti Ganti Jalur. Pastikan juga untuk memperbarui file gradle Anda. Cheers
ralphgabb
Tidak mendapatkan kesalahan dengan nama paket lama. Jadi, tidak perlu melakukan apa pun setelah langkah 9. Terima kasih!
user3760100
Jika Anda tidak mendapatkan kesalahan, maka jangan lanjutkan setelah langkah 9
Mehroz Munir
1
Kesalahan: Eksekusi gagal untuk tugas ': app: compileDebugAidl'. > java.io.IOException: com.android.ide.common.process.ProcessException:
Pablo Cegarra
Alih-alih Salin, saya hanya Pindah dan dengan menggunakan operasi ini sebagai gantinya, saya tidak punya erro setelah membangun kembali.
Cavaleiro
48
  1. Goto file AndroidManifest.xml Anda.
  2. Tempatkan kursor Anda di nama paket seperti yang ditunjukkan di bawah ini. Jangan pilih, letakkan saja.

    Masukkan deskripsi gambar di sini

  3. Lalu tekan Shift + F6Anda akan mendapatkan jendela sembulan seperti yang ditunjukkan di bawah ini pilih Ubah nama paket .

    Masukkan deskripsi gambar di sini

  4. Masukkan nama baru Anda dan pilih Refactor . (Catatan karena kursor saya ada pada "sesuatu", hanya sesuatu yang diganti namanya.)

Itu sudah selesai.

priwiljay
sumber
1
Terima kasih bekerja di Android Studio 1.5.1 Ini mengubah paket secara otomatis Tidak perlu membuat paket baru dan menarik dan melepas file dan menghapus paket lama Blah Blah Blah
Shan Xeeshi
@Prince Jayakumar, pernyataan 'jangan pilih tempat saja' membingungkan. hanya dengan menempatkan kursor mouse, shft + f6 tidak akan berfungsi. Jika tanda sisipan ada di tempat lain dalam file maka Anda harus mengklik pada nama paket, maka shft + f6 akan bekerja
Prabs
Cara termudah untuk mengubah nama paket!
Timo Schuck
Sempurna bekerja di Android Studio 3.5
Abigail La'Fay
Ganti nama lengkap paket dan id aplikasi dalam langkah sekecil mungkin! Terima kasih.
user1608385
43

Klik kanan pada paket di Project Panel .

Pilih Refactor -> Ganti nama dari menu konteks.

GreyBeardedGeek
sumber
1
ini bekerja baik untuk saya, juga harus memperbarui file AndroidManifest juga.
physphil
115
Refactor> Ubah nama hanya memungkinkan saya untuk mengganti nama bagian terakhir dari paket, misalnya aplikasi di com.example.mypackage.app
GilliMonsta
1
Saya melakukan cara ini tetapi sekarang dikatakan kelas tidak ada pada saat peluncuran. Bagaimana Anda menamainya kembali?
Dharmik
Saya telah menggunakan menu utama "Refactor" dan klik "Ganti nama".
Codebeat
@GilliMonsta Anda dapat memilih folder aplikasi Anda di pengaturan klik panel sebelah kanan dan hapus centang Paket Compact Empty Middle
Taranmeet Singh
25
  1. Buka file:

    aplikasi → manifes → AndroidManifest.xml

    Masukkan deskripsi gambar di sini

    Sorot setiap bagian dalam nama paket yang ingin Anda ubah (jangan sorot seluruh nama paket) kemudian:

    • Klik kanan mouse → Refactor → Ganti nama → Ganti nama paket
    • ketik nama baru dan tekan (Refactor)

    Lakukan langkah-langkah ini di setiap bagian dari nama paket.

    Masukkan deskripsi gambar di sini

  2. Buka (Script Gradle) >> (build.gradle (Modul: app))

    dan perbarui applicationId ke nama paket Anda

    Masukkan deskripsi gambar di sini

  3. Buka menu (build) dan pilih (Rebuild Project).

alhamdi
sumber
Saya mencoba melakukan ini dan saya mendapat masalah. Saya mencoba mengubah com.example.android.package ke domain saya sendiri (yang berakhiran .net). Saya dapat mengubah 'contoh' dan 'paket', tetapi saya tidak dapat mengubah 'com'. Itu juga tidak mengubah nama direktori apa pun. Ada tips?
Rob Rose
@RobertRose, saya punya solusi untuk masalah Anda. Apakah Anda masih mengerjakannya?
Android Asli
Saya mengesampingkannya dan langsung saja meninggalkannya. Itu bukan produksi. Untuk referensi di masa mendatang, apa yang Anda dapatkan?
Rob Rose
Yang pertama tidak berfungsi jika saya memiliki paket "xxx.mydomain.com")
Jemshit Iskenderov
Cantik. langkah kedua sangat penting dan biasanya memeriksa sebagian besar jawaban.
AlleyOOP
16

IntelliJ IDEA memiliki opsi yang disebut "Compact Middle Empty Middle Packages". Pilih ikon opsi Proyek tab dan nonaktifkan ini.

Lihat: Bagaimana saya bisa mengubah nama paket tingkat atas di IntelliJ IDEA?

Matus F.
sumber
1
Ini bermanfaat. Setelah 'Menonaktifkan' fitur ini, hal-hal menjadi jauh lebih jelas dan saya dapat menghapus paket-paket yang kosong
Chris Nevill
@ ChrisNevill dan bagaimana Anda menghapus paket-paket kosong itu?
beretis
Saya pikir saya baru saja memilihnya dan menekan delete. Saya tidak dapat mereproduksi masalah saat ini sehingga tidak dapat mengingatnya dengan tepat.
Chris Nevill
Saya setuju, ini BENAR-BENAR berguna. Harus dimasukkan dalam semua jawaban di bawah standar yang saya lihat mengenai topik ini.
iaindownie
16

Pilih paket yang akan di refactored. RefactorPindahkan"Pindahkan xxx ke paket baru" .

tiupan
sumber
ini adalah metode yang mudah
anak droid
4
Tidak berfungsi, ubah paket saya dari "com.company.oldname" menjadi "com.company.newname.oldname". Lihat? Metode ini tidak memungkinkan untuk mengubah komponen terakhir dari nama (dan saya mencoba beberapa kali).
Jose Manuel Abarca Rodríguez
13

Saya telah melihat jawaban terpilih tetapi saya menemukan sedikit berbeda untuk melakukan ini, saya mencoba untuk melakukan tutorial yang paling lengkap.

Dari Android Studio klik ikon roda gigi ( Ikon Gears) lalu pilih opsi:, "Compact Empty Middle Packages"untuk melihat folder yang dipisahkan dalam tampilan hierarki.

pengantar untuk deskriptor de la imagen aquí

Sekarang pilih folder, klik tombol kanan untuk membuka menu kontekstual, pilih RefactorlaluRename

pengantar untuk deskriptor de la imagen aquí

Anda akan disarankan untuk memperbarui paket:

pengantar untuk deskriptor de la imagen aquí

Kemudian sebuah jendela akan menunjukkan kebetulan di dalam proyektek itu, pilih "Do Refactor":

pengantar untuk deskriptor de la imagen aquí

Kami tidak perlu mengubah secara manual file AndroidManifest.xml atau build.gradle, Refactoring paket akan melakukan pekerjaan !.

Jorgesys
sumber
8

Jika nama paket Anda lebih dari dua titik, katakan com.hello.worlddan lagi, Anda tidak memasukkan apa pun di com/dan com/hello/. Semua kelas Anda dimasukkan ke dalam com/hello/world/, Anda dapat MELAKUKAN langkah-langkah berikut untuk refactoring nama paket Anda di Android Studio atau IntelliJ:

  • [FIRST] Tambahkan sesuatu di bawah direktori Anda ( com/, com/hello/). Anda dapat mencapai ini dengan pertama-tama menambahkan dua file ke paket com.hello.world, katakanlah
   com.hello.world.PackageInfo1.java
   com.hello.world.PackageInfo2.java

kemudian refactor mereka dengan menggerakkan mereka ke com dan com masing-masing. Anda akan melihat com dan com.hello duduk di sana di Proyek ( Alt+1 atau Command+1untuk pintasan) dan mengganti nama direktori refactoring menunggu di sana seperti yang Anda harapkan.

  • Refactor untuk mengganti nama satu atau lebih direktori ini untuk mencapai tujuan Anda. Satu-satunya hal yang harus Anda perhatikan di sini adalah Anda harus memilih direktori daripada Paket ketika dialog menanyakan Anda.

  • Jika Anda memiliki banyak kelas di proyek Anda, Anda perlu menunggu beberapa saat untuk menunggu pemindaian-dan-penggantian nama secara otomatis.

  • Selain itu, Anda perlu mengubah nama nama paket di dalam AndroidManifest.xml secara manual, saya kira, sehingga nama-nama lain dalam file ini dapat menguntungkan awalan.

  • [JUGA] , mungkin Anda perlu mengganti semua com.hello.world.Ryang baru XXX.XXX.XXX.R( Command+Shift+Rsingkatnya)

  • Bangun kembali dan jalankan proyek Anda untuk melihat apakah itu berhasil. Dan gunakan "Temukan di Jalur" untuk menemukan nama non-sentuh lain yang ingin Anda ganti namanya.

  • Bersenang senang lah.
dongxu
sumber
6

Pastikan untuk pergi ke Jawaban Hebat Sheharyar . Ada begitu banyak jawaban dan komentar yang mengikutinya sehingga mudah untuk bingung dan menyerah, tetapi tidak . Jawaban itu berhasil .

Singkatnya, Anda melakukan tiga hal :

(1) Hapus pilihan Compact Empty Middle Packages .

(2) Refactorlalu Renamesetiap node direktori lama dengan memilih Change Package( tidak Change Directory ) untuk mencocokkan nama paket baru. (Pastikan untuk melakukan preview perubahan.)

(3) Edit build.gradlefile dan APPLICATION_IDsesuaikan dengan nama paket yang baru.

DSlomer64
sumber
3
Siapa pun yang menurunkan ini benar-benar kehilangan sesuatu, karena Jawaban saya adalah sinopsis dari jawaban Sheharyar YANG MENDAPAT 332 UPVOT dan yang saya lakukan hanyalah menyederhanakannya karena terlihat sangat terlibat (tidak). Saraf beberapa orang yang berpandangan pendek, pemicu-bahagia. Senang akan melihat alasan untuk downvote. Jangan ragu saya tidak akan melihatnya.
DSlomer64
BAIK. Pada 3,5 tahun kemudian, saya mungkin dapat melihat mengapa downvotes mungkin telah dilemparkan karena mungkin tidak sepenuhnya jelas seperti itu ADA (tapi kurangi sedikit!), Tapi pasti sekarang, berkat dua hari @Peter Mortensen Edit lama dan milikku sekarang.
DSlomer64
5

Jawaban yang diperbarui: Mei 2015

OK saya telah berjuang dengan proyek kloning & penggantian nama di Android Studio, tetapi akhirnya saya mencapainya. Berikut langkah-langkah yang harus diikuti:

  1. Salin folder proyek, ganti nama & buka dengan Android Studio
  2. Ganti nama direktori modul dari explorer
  3. Ganti nama projectName.iml dan konten
  4. Ganti nama konten gagasan / .name
  5. Di panel Proyek Anda, klik ikon roda gigi kecil -> hapus centang "Paket Tengah Kosong"
  6. Direktori src refactor untuk nama paket baru (ganti nama paket, "bukan ganti nama direktori")
  7. Di build.gradle ganti nama aplikasi id
  8. settings.gradle rename module

Itu dia...

Sebastian Breit
sumber
5

Saya telah menemukan solusi cara yang lebih mudah untuk masalah ini yang juga mengubah impor yang dihasilkan seperti com.test.testpackagechange.R dan hanya membutuhkan waktu sekitar satu menit.

Langkah pertama Anda adalah membuka Android Studio dan membuka ganti semua jendela (Mac: cmd + shift + R, Windows saya asumsikan: ctrl + shift + R). Ketikkan nama paket lama Anda dan yang di bawah nama paket baru Anda. Klik Temukan. Ini mungkin memakan waktu cukup lama karena ia juga memeriksa item yang dihasilkan. Jika memiliki lebih dari 1000 klik, klik saja lanjutkan.

masukkan deskripsi gambar di sini

Setelah selesai, tekan Ganti Semua untuk mengganti nama paket lama Anda dengan yang baru.

masukkan deskripsi gambar di sini

Sekarang tutup Android Studio dan buka Finder di Mac atau Windows Explorer di Windows. Ubah nama folder menjadi nama paket baru Anda, seperti ini:

masukkan deskripsi gambar di sini

Sekarang buka Android Studio lagi. Gradle akan disinkronkan dan nama paket Anda harus diubah ke yang baru.

Saya menemukan ini sebagai yang termudah dan mencakup semua area seperti file yang dihasilkan.

Kevin van Mierlo
sumber
5

Kesalahan umum yang dapat dilakukan seseorang adalah seseorang tidak dapat mengubah nama struktur paket, yaitu tidak mungkin mengubah com.name.android menjadi com.Renamed.android ketika seseorang mencoba untuk memodifikasi di tingkat com.name.android .

Untuk mendapatkan perubahan yang diinginkan sama naik satu tingkat yaitu com.name dan di sini ketika Anda refactor mengubahnya menjadi Berganti nama . Ini akan selalu berhasil.

Shivanand T
sumber
5

Saya menemukan cara lain yang berfungsi atau langkah tambahan untuk beberapa jawaban di sini terutama jika Anda ingin mengubah domain juga. Ini bekerja di Android Studio 1.4. Inilah yang saya lakukan:

  1. Buka Manifest.xml dan ubah nama paket sesuai keinginan Anda.
  2. Buka build.gradlefile aplikasi Anda dan ubah Id Aplikasi di defaultConfig ke nama yang sama seperti dalam manifes dan bangun kembali proyek.
  3. Jika masih ada masalah, buka file di bawah nama paket, pergi ke remah roti paket (yaitu deklarasi paket di kepala file) dan atur kursor Anda ke domain yang ingin Anda ubah dan tekan "Shift + F6", itu akan keluar dengan dialog dengan beberapa peringatan penggunaan, klik "Ubah nama paket" dan kemudian klik "Lakukan Refactor" itu harus mengubah nama semuanya termasuk file R.Java.

Jadi misalnya jika Anda ingin mengganti nama "com.example.app" menjadi "com.YourDomain.app", buka file di bawah paket yang akan diganti namanya, dalam paket remah roti, atur kursor Anda ke "contoh" bagian dari domain. dan tekan Shift+ F6dan ganti nama paket menjadi "YourDomain".

irobotxx
sumber
5
  1. Pilih nama paket di folder Java.
  2. Shift+F6
  3. Ubah nama paket dan klik OK.

Nama paket Anda akan diubah dari semua file Java dan file manifes. Anda harus mengubah nama paket secara manual build.gradle.

himanshu.tiwari
sumber
1
Jika Shift + F6 tidak bekerja untuk Anda, maka Anda dapat mencoba Alt + Shift + R untuk memperbaiki paket. Sisa prosedurnya sama
Uncaught Exception
5

Ubah Nama Paket


Untuk mengganti nama nama paket Anda, yang harus Anda lakukan adalah pergi ke AndroidManifest.xmlfile Anda , letakkan kursor mouse Anda di depan bagian dari nama paket yang ingin Anda ubah.


masukkan deskripsi gambar di sini


Klik kanan> Refactor> Ganti nama


masukkan deskripsi gambar di sini


Di jendela baru tekan Ganti nama paket


masukkan deskripsi gambar di sini


Ubah nama dan tekan Refactor


masukkan deskripsi gambar di sini


... dan tekan Do Refactor di bagian bawah.


masukkan deskripsi gambar di sini


Nama paket Anda biasanya dalam format com.domain.appname, dalam contoh ini kami mengubah bagian appname, tetapi Anda juga dapat melakukan langkah-langkah yang sama untuk domain tersebut.

Selesai! Anda mengubah nama paket Anda!

Vishrut Mavani
sumber
4

Saya mencoba dua solusi terpilih tetapi menemukan beberapa masalah meskipun keduanya bekerja sampai batas tertentu.

  • Daftar item: Metode drag-drop paket baru membuat beberapa tidak berubah dan menciptakan beberapa efek yang tidak diinginkan
  • Daftar item: Paket rename hanya mengubah bagian terakhir dari nama paket

Setelah beberapa percobaan saya menemukan metode berikut ini berfungsi dengan baik untuk saya.

Jika Anda hanya perlu mengubah bagian terakhir dari nama paket, gunakan metode yang diuraikan oleh GreyBeardedGeek, yaitu

Klik kanan pada paket di panel Proyek. Pilih Refactor -> Ganti nama dari menu konteks

Jika Anda perlu mengubah seluruh nama paket, lakukan hal berikut.

Klik kanan pada paket di panel Proyek. Pilih Refactor -> Pindah dari menu konteks

Ini akan membuat folder paket baru (bila perlu) tetapi akan menjaga bagian terakhir dari nama paket Anda seperti sebelumnya. Jika Anda perlu mengubah bagian terakhir, lakukan penggantian nama yang sesuai.

Perhatikan juga bahwa Anda mungkin perlu memodifikasi nama paket di mis. Build.gradle, manifest, dan / atau file sumber daya xml apa pun, atau bahkan dalam kode Anda jika hardcoded. Setelah semua itu, lakukan proyek Sync / Clean / Rebuild seperlunya.

ssgg Platform Pengembang Google
sumber
4

Cara mengganti nama com.example.appmenjadi com.android.app:

  1. dalam paket com.example.apppilih contoh

  2. Shift + F6

  3. memilih rename package

  4. ganti nama contoh menjadi android

  5. Konfirmasi do refactor

Andrew Glukhoff
sumber
4

Klik kanan pada paket -> refactor dan ubah namanya.

Anda juga dapat mengubahnya di manifes. Terkadang jika Anda mengubah nama paket, tetapi setelah membuat file .apk itu menunjukkan nama paket yang berbeda. Saat itu periksa "applicationId" di file build.gradle .

rajlaxmi_jagdale
sumber
4

Saya merekomendasikan untuk menggunakan Teks Sublime (atau Notepad ++ ). Ganti com.one.lastname -> com.two.newname dan com / one / lastname -> com / two / newname di ... \ Projects [MyProject]. dan jangan lupa untuk mengganti nama ... \ Projects \ MyProject \ app \ src \ main \ java \ com \ one \ lastname, ... \ Projects \ MyProject \ app \ src \ test \ java \ com \ one \ lastname dan ... \ Proyek \ MyProject \ app \ src \ androidTest \ java \ com \ one \ nama belakang!

Itu saja:)

Tangkapan layar

Ярослав Нестеров
sumber
3

Ini yang saya percaya yang Anda cari adalah Refactor> Move. Anda juga dapat menekan F6.

Anda akan mendapatkan dua popup. Pastikan Anda memilih paket rename pada keduanya. Setelah itu Anda akan mendapatkan pop up untuk menempatkan nama paket baru.

Harap dicatat bahwa jika nama paket Anda, misalnya, com.example.android.projectname maka ini akan memungkinkan Anda mengubah com.example.android ke yang lain.

Satu hal lagi, ini akan memperbarui applicationId di build.gradle Anda juga. Pastikan saja kotak centang untuk "mencari komentar dan string" dan "mencari kejadian teks" sama-sama dicentang agar berfungsi.

phxhawke
sumber
3

Cara cepat dan mudah:

1- buka MainActivity.javaatau file java yang tersedia.

Di bagian atas ada deklarasi paket seperti:

paket com. example.myapp;

pilih porsi paket yang ingin Anda ubah dan tekan Shift + F6 . Saya pribadi ingin mengubah example.

Dalam dialog peringatan, pilih Ganti nama paket dan kemudian masukkan nama paket yang diinginkan.

2- Tag terbuka AndroidManifest.xmldan di dalam <manifest>mengubah packageke nama paket yang diinginkan.

3- buka build.gradle(Module: app)dan ubah applicationIdke nama paket yang diinginkan.

Darush
sumber
Terima kasih. Ini cukup sederhana dan mudah.
Ishwor Khanal
3
  1. Pilih opsi masukkan deskripsi gambar di sini

  2. Hapus centang pada opsi Middle Empty Middle Packages.

  3. Pilih direktori mana yang ingin Anda ubah (Saya telah memilih 'crl' yang ditunjukkan pada langkah 6).
  4. Shift+F6
  5. Ganti nama Paket
  6. Mengganti nama direktori crl ke crl1 masukkan deskripsi gambar di sini

  7. Akhirnya klik pada tombol Do Refactor ditandai pada gambar di bawah ini masukkan deskripsi gambar di sini masukkan kode di sini

  8. Setelah Perubahan selesai masukkan deskripsi gambar di sini

Shiv Buyya
sumber
3

Silakan coba langkah-langkah berikut:

  1. Klik pada ikon pengaturan roda gigi dan batalkan pilihan Compact Middle Empty Package
  2. Sekarang kita bisa melihat setiap folder paket dipecah menjadi beberapa bagian
  3. Sekarang klik kanan pada folder paket pertama >>> refactor >>> ganti nama
  4. Sekarang peringatan akan ditampilkan tetapi Anda terus maju dan klik Ganti Nama Paket
  5. Setelah itu masukkan nama domain Anda untuk nama paket
  6. Klik pada 'Lakukan Refactor'
  7. Sekarang ia telah mengubah nama domain paket dari App. Sekarang Ubah ekstensi domain dan nama folder Aplikasi sesuai dengan kebutuhan Anda
  8. Sekarang buka build.gradle (Module: app) dalam Gradle Scripts. Di sini, ubah id aplikasi dan klik Sinkronkan Sekarang.

******* Akhirnya selesai ******

Joseph Mathew
sumber
3
  1. Tekan Ctrl+ Shift+R

  2. Ganti paket lama dengan yang baru.

  3. Klik kanan pada nama paket.

  4. Refactor> Renamedan ganti nama menjadi yang baru

bob
sumber
3

ctrl+ Shift+ RSelalu bekerja untuk saya. Cukup replace alldan pilih All Files.

Amir
sumber
ini tidak akan memperbarui direktori dan tidak akan menemukan kelas Anda
john ktejik
3
  • Bagian pertama terdiri dari membuat paket baru di bawah javafolder dan memilih lalu menyeret semua file sumber Anda dari old packageke ini new package. Setelah itu Anda perlu remanenama paket di android manifestuntuk nama paket baru.

  • Pada langkah 2, inilah yang perlu Anda lakukan. Anda harus mengubah nama paket lama di applicationIdbawah modul build.gradledi studio android Anda selain mengubah nama paket di manifest. Jadi dalam ringkasan, klik build.gradleyang di bawah "AndroidManifest.xml" dan ubah nilainya applicationIdmenjadi nama paket baru Anda.

  • Kemudian, di bagian paling atas, di bawah build. cleanproyekmu, kalau begitu rebuild. Seharusnya tidak masalah dari sini.

pengguna3295929
sumber
3

Cara terbaik adalah menulis nama paket baru dan menarik dari nama paket yang lebih lama.

Cara kedua, jika Anda mengklik Refactor lalu pindah opsi kemudian ganti nama paket, itu akan mengubah nama nama paket dan kemudian membangun kembali.

Di Build.gradle yang harus Anda lakukan secara manual, jika Anda Refactor maka itu tidak akan mengubah nama di Build.gradle.

Ajay Keshri
sumber