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.
android-studio
ramzixp
sumber
sumber
Jawaban:
Di Android Studio, Anda dapat melakukan ini:
Misalnya, jika Anda ingin mengubah
com.example.app
kemy.awesome.game
, maka:Di panel Proyek Anda , klik pada ikon roda gigi kecil (
)
Hapus centang / Hapus
Compact Empty Middle Packages
pilihanDirektori paket Anda sekarang akan dipecah dalam direktori individual
Pilih secara individual setiap direktori yang ingin Anda ganti namanya, dan:
Refactor
Rename
Rename Package
bukan Ubah Nama Direktoricom
di Android Studio, ini mungkin memberi peringatan. Jika demikian, pilih Ubah Nama SemuaSekarang buka File Gradle Build Anda (
build.gradle
- Biasanyaapp
ataumobile
). UpdateapplicationId
didefaultConfig
untuk Anda Paket baru Nama dan Sync Gradle, jika belum sudah diperbarui secara otomatis:Anda mungkin perlu mengubah
package=
atribut di manifes Anda.Bersihkan dan Bangun Kembali.
Selesai! Bagaimanapun, Android Studio perlu membuat proses ini sedikit lebih sederhana.
sumber
com.example.test
kecom.example
dan kemudian hapuscom.example.test
.Metode lain yang baik adalah: Pertama buat paket baru dengan nama yang diinginkan dengan mengklik kanan pada folder Java → New → Package .
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.
sumber
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:
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
sumber
com.example.sample
kecom.example
menggunakan jawaban lainPendekatan yang saya gunakan untuk menamai ulang nama paket itu sederhana sebagai berikut: -
Langkah 1 : Pilih opsi Project dari menu kiri Android Studio
Langkah 2 : Klik kanan pada java dan tambahkan paket baru dan atur nama paket yang diinginkan
Langkah 3 : Masukkan nama paket baru Anda
Langkah 4 : Salin semua file dari paket lama Anda dan rekatkan dalam paket baru
Langkah 5 : Ganti nama nama paket dalam file manifes
Langkah 6 : Ganti nama nama paket dalam file build.gradle
Langkah 7 : Kemudian klik kanan paket lama dan hapus dengan semua datanya, dan hapus direktori itu juga
Langkah 8 : Kemudian Bangun kembali proyek Anda
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
Langkah 10 : Kemudian muncul popup seperti di bawah ini dan pilih opsi Semua file dari itu
Langkah 11 : Bangun kembali proyek Anda, bingo nama paket proyek Anda telah diubah :)
sumber
Tempatkan kursor Anda di nama paket seperti yang ditunjukkan di bawah ini. Jangan pilih, letakkan saja.
Lalu tekan Shift + F6Anda akan mendapatkan jendela sembulan seperti yang ditunjukkan di bawah ini pilih Ubah nama paket .
Masukkan nama baru Anda dan pilih Refactor . (Catatan karena kursor saya ada pada "sesuatu", hanya sesuatu yang diganti namanya.)
Itu sudah selesai.
sumber
Klik kanan pada paket di Project Panel .
Pilih Refactor -> Ganti nama dari menu konteks.
sumber
Buka file:
aplikasi → manifes → AndroidManifest.xml
Sorot setiap bagian dalam nama paket yang ingin Anda ubah (jangan sorot seluruh nama paket) kemudian:
Lakukan langkah-langkah ini di setiap bagian dari nama paket.
Buka (Script Gradle) >> (build.gradle (Modul: app))
dan perbarui applicationId ke nama paket Anda
Buka menu (build) dan pilih (Rebuild Project).
sumber
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?
sumber
Pilih paket yang akan di refactored. Refactor → Pindahkan → "Pindahkan xxx ke paket baru" .
sumber
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 (
) lalu pilih opsi:,
"Compact Empty Middle Packages"
untuk melihat folder yang dipisahkan dalam tampilan hierarki.Sekarang pilih folder, klik tombol kanan untuk membuka menu kontekstual, pilih
Refactor
laluRename
Anda akan disarankan untuk memperbarui paket:
Kemudian sebuah jendela akan menunjukkan kebetulan di dalam proyektek itu, pilih
"Do Refactor"
:Kami tidak perlu mengubah secara manual file AndroidManifest.xml atau build.gradle, Refactoring paket akan melakukan pekerjaan !.
sumber
Jika nama paket Anda lebih dari dua titik, katakan
com.hello.world
dan lagi, Anda tidak memasukkan apa pun dicom/
dancom/hello/
. Semua kelas Anda dimasukkan ke dalamcom/hello/world/
, Anda dapat MELAKUKAN langkah-langkah berikut untuk refactoring nama paket Anda di Android Studio atau IntelliJ:com/
,com/hello/
). Anda dapat mencapai ini dengan pertama-tama menambahkan dua file ke paket com.hello.world, katakanlahkemudian 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
atauCommand+1
untuk 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.R
yang baruXXX.XXX.XXX.R
(Command+Shift+R
singkatnya)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.
sumber
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)
Refactor
laluRename
setiap node direktori lama dengan memilihChange Package
( tidakChange Directory
) untuk mencocokkan nama paket baru. (Pastikan untuk melakukan preview perubahan.)(3) Edit
build.gradle
file danAPPLICATION_ID
sesuaikan dengan nama paket yang baru.sumber
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:
Itu dia...
sumber
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.
Setelah selesai, tekan Ganti Semua untuk mengganti nama paket lama Anda dengan yang baru.
Sekarang tutup Android Studio dan buka Finder di Mac atau Windows Explorer di Windows. Ubah nama folder menjadi nama paket baru Anda, seperti ini:
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.
sumber
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.
sumber
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:
build.gradle
file aplikasi Anda dan ubah Id Aplikasi di defaultConfig ke nama yang sama seperti dalam manifes dan bangun kembali proyek.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".
sumber
Nama paket Anda akan diubah dari semua file Java dan file manifes. Anda harus mengubah nama paket secara manual
build.gradle
.sumber
Ubah Nama Paket
Untuk mengganti nama nama paket Anda, yang harus Anda lakukan adalah pergi ke
AndroidManifest.xml
file Anda , letakkan kursor mouse Anda di depan bagian dari nama paket yang ingin Anda ubah.Klik kanan> Refactor> Ganti nama
Di jendela baru tekan Ganti nama paket
Ubah nama dan tekan Refactor
... dan tekan Do Refactor di bagian bawah.
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!
sumber
Saya mencoba dua solusi terpilih tetapi menemukan beberapa masalah meskipun keduanya bekerja sampai batas tertentu.
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.
sumber
Cara mengganti nama
com.example.app
menjadicom.android.app
:dalam paket
com.example.app
pilih contohShift + F6
memilih
rename package
ganti nama contoh menjadi android
Konfirmasi
do refactor
sumber
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 .
sumber
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:)
sumber
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.
sumber
Cara cepat dan mudah:
1- buka
MainActivity.java
atau file java yang tersedia.Di bagian atas ada deklarasi paket seperti:
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.xml
dan di dalam<manifest>
mengubahpackage
ke nama paket yang diinginkan.3- buka
build.gradle(Module: app)
dan ubahapplicationId
ke nama paket yang diinginkan.sumber
Pilih opsi![masukkan deskripsi gambar di sini](https://i.stack.imgur.com/py9vf.png)
Hapus centang pada opsi Middle Empty Middle Packages.
Mengganti nama direktori crl ke crl1![masukkan deskripsi gambar di sini](https://i.stack.imgur.com/HqPc8.png)
Akhirnya klik pada tombol Do Refactor ditandai pada gambar di bawah ini
masukkan kode di sini
Setelah Perubahan selesai![masukkan deskripsi gambar di sini](https://i.stack.imgur.com/CFRWU.png)
sumber
Silakan coba langkah-langkah berikut:
******* Akhirnya selesai ******
sumber
Tekan Ctrl+ Shift+R
Ganti paket lama dengan yang baru.
Klik kanan pada nama paket.
Refactor
>Rename
dan ganti nama menjadi yang barusumber
ctrl+ Shift+ RSelalu bekerja untuk saya. Cukup
replace all
dan pilihAll Files
.sumber
Bagian pertama terdiri dari membuat paket baru di bawah
java
folder dan memilih lalu menyeret semua file sumber Anda dariold package
ke ininew package
. Setelah itu Anda perluremane
nama paket di androidmanifest
untuk nama paket baru.Pada langkah 2, inilah yang perlu Anda lakukan. Anda harus mengubah nama paket lama di
applicationId
bawah modulbuild.gradle
di studio android Anda selain mengubah nama paket dimanifest
. Jadi dalam ringkasan, klikbuild.gradle
yang di bawah "AndroidManifest.xml" dan ubah nilainyaapplicationId
menjadi nama paket baru Anda.Kemudian, di bagian paling atas, di bawah
build
.clean
proyekmu, kalau begiturebuild
. Seharusnya tidak masalah dari sini.sumber
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.
sumber