Keystore saya rusak, oleh karena itu Android Market meminta saya untuk mengganti nama aplikasi dan mengirimkannya kembali. Namun, setiap kali saya mengedit nama paket di Manifest dan di seluruh file, itu memberi saya banyak kesalahan.
Bagaimana cara yang tepat untuk mengubah nama aplikasi?
Jawaban:
Jika Anda menggunakan Eclipse, Anda dapat mencoba petunjuk ini dari situs pengembang Android. Mereka khusus untuk sampel GestureBuilder tetapi harus berlaku untuk aplikasi apa pun sejauh yang saya tahu:
Juga, pastikan Anda ingat untuk mengganti nama paket itu sendiri bersama dengan referensinya di file. Di Eclipse Anda dapat melihat nama paket di jendela file explorer / tampilan pohon di sisi kiri. Dalam pengalaman saya, Eclipse terkadang bisa sedikit rewel dan tidak dapat diandalkan dengan ini (meninggalkan referensi yang menyimpang ke nama paket lama, misalnya).
sumber
app_name
res-> values => strings.xmlAda cara untuk mengubah nama paket dengan mudah di Eclipse. Klik kanan pada proyek Anda, gulir ke bawah ke Alat Android, lalu klik Ganti Nama Paket Aplikasi.
sumber
Inilah cara Anda dapat melakukan ini di Eclipse:
src/com.android.gesture.builder
).Refactor > Rename
dan ubah nama, misalnya menjadicom.android.gestureNEW.builder
.<manifest>
tag, ubah nama paket menjadicom.android.gestureNEW.builder
.Activity
file dan lakukan Ctrl+ Shift+ Ountuk menambahkan paket impor yang hilang, lalu simpan setiap file.GestureBuilder
aplikasi di emulator.Tautan ke postingan
Perbarui cara super mudah, klik kanan pada proyek Anda ...
sumber
Di Android Studio , yang, sejujurnya, Anda harus menggunakan, ubah nama paket dengan
right-clicking
nama paket diproject structure -> Refactor -> Rename...
Kemudian memberikan opsi untuk mengganti nama direktori atau paket. Pilih paketnya. Direktori harus mengikuti. Ketik nama paket baru Anda, dan klik Refactor. Ini akan mengubah semua impor dan menghapus impor yang berlebihan untuk Anda. Anda bahkan dapat memperbaikinya untuk Anda di komentar dan string, dll.
Terakhir , ubah nama paket yang sesuai di AndroidManifest.xml Anda di bagian atas. Jika tidak, Anda akan mendapatkan kesalahan di mana-mana mengeluh tentang R. apa pun.
Solusi lain yang sangat berguna
Pertama buat paket baru dengan nama
by right clicking on the
folder java yang diinginkan -> baru -> paket.`Kemudian, pilih dan seret semua kelas Anda ke paket baru. AndroidStudio akan mengatur ulang nama paket di mana-mana.
Setelah itu: di app,
build.gradle
tambahkan / edit applicationId dengan yang baru. yaitu (com.a.bc
dalam kasus saya):defaultConfig { applicationId "com.a.bc" minSdkVersion 13 targetSdkVersion 19 }
Posting asli dan lebih banyak komentar di sini
sumber
package
bawah folderjava
Tanpa Eclipse:
Ubah nama paket dan nama Aktivitas di AndroidManifext.xml dan di mana pun itu muncul di file .xml (nama tampilan kustom, dll)
Perbarui pernyataan impor paket di semua file sumber
Ubah nama semua folder agar sesuai dengan nama paket. Lokasi folder:
a. bin / kelas
b. gen
c. src
Perbarui nama proyek di build.xml (atau nama apk Anda tidak akan berubah)
Hapus semua file .class di bin / class / com / example / myapp / (jika Anda melewati langkah ini, file tidak ditulis ulang selama pembuatan dan dex memberikan banyak masalah saat memproses kesalahan "nama kelas tidak cocok dengan jalur"
Hapus gen / com / example / myapp / BuildConfig.java (Saya tidak tahu mengapa menghapus BuildConfig.class pada langkah 3a tidak menyebabkan dex memperbarui jalurnya ke ini, tetapi sampai saya menghapus BuildConfig.java, itu terus membuat ulang gen / com / oldapp_example / oldapp dan meletakkan BuildConfig.class di sana. Saya tidak tahu mengapa R.java dari lokasi yang sama tidak mengalami masalah ini. Saya curiga BuildConfig.java dibuat secara otomatis dalam pra-kompilasi tetapi R.java tidak)
6 langkah di atas adalah apa yang saya lakukan untuk mengubah nama paket saya dan mendapatkan * build yang sukses. Mungkin ada cara yang lebih baik untuk menangani langkah 5 dan 6 melalui perintah dex untuk memperbarui jalur, atau mungkin dengan mengedit class.dex.d di direktori root proyek. Saya tidak terbiasa dengan dex atau jika tidak apa-apa untuk menghapus / mengedit class.dex.d jadi saya pergi dengan metode menghapus file .class yang saya tahu akan dibuat ulang di build. Saya kemudian memeriksa kelas.dex.d untuk melihat apa yang masih perlu diperbarui.
* Tidak ada kesalahan atau peringatan yang tersisa di build saya KECUALI dex dan apkbuilder keduanya menyatakan "Ditemukan File Target yang Dihapus" tanpa spesifik tentang apa file itu. Tidak yakin apakah ini muncul di setiap build, apakah itu ada di sana sebelum saya mengacaukan nama paket saya, atau apakah itu akibat dari penghapusan saya dan saya melewatkan satu langkah pun.
sumber
Ikuti langkah ini:-
SELESAI
sumber
Cara tercepat untuk melakukannya di Android Studio 1.3 :
manifest
Module Settings[F4]-> Flavors
,Application Id
tuliskan nama yang sama.[right-click-> new-> package]
[Right-click-> Refactor-> Move-> {Select package}-> Refactor]
PS Jika Anda tidak mengikuti perintah ini, Anda dapat mengubah semua file java satu per satu dengan impor baru dan banyak kesalahan waktu kompilasi, jadi urutannya sangat penting.
sumber
Mengubah nama paket sangat menyebalkan. Sepertinya metode yang berbeda berhasil untuk orang yang berbeda. Solusi saya cepat dan bebas dari kesalahan. Sepertinya gerhana tidak perlu dibersihkan atau disetel ulang.
sumber
Bernstein memiliki metodenya, gunakan alat Eclipse, "Ganti Nama Paket Aplikasi", Anda mungkin harus melakukan pembersihan bahkan setelah melakukannya. Selain itu, Eclipse terkadang kehilangan jejak saat Anda membuat perubahan pada sebuah proyek. Anda mungkin harus menggunakan alat "Proyek Bersih" (di bawah menu "Proyek".) Jika tidak berhasil, Anda mungkin harus menutup dan memulai ulang Eclipse. Solusi Voo-doo, tetapi Eclipse bisa seperti itu.
sumber
Saya menemukan solusi termudah adalah dengan menggunakan Regexxer untuk mengganti "com.package.name" dengan "com.newpackage.name", kemudian mengganti nama direktori dengan benar. Sangat mudah, sangat cepat.
sumber
src
folder dan beri tanda centangrename subpackages
sumber
Ada juga solusi lain untuk pengguna tanpa Eclipse, cukup ubah atribut paket di tag <manifest> di AndroidManifest.xml, dengan mengganti nama paket lama yang digunakan dengan yang baru. Catatan: Anda juga harus menyesuaikan semua pernyataan impor terkait dan folder terkait secara manual dalam proyek Anda.
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="new.package.name" ..... </manifest>
sumber
Alternatif:
sumber
Klik kanan pada Proyek> Alat Android> Ganti Nama Paket Aplikasi
Buka src dan klik kanan pada paket utama Anda> Refactor> Rename
Buka file manifes dan ubah nama paket Anda.
sumber
Saya hanya kehilangan beberapa jam mencoba semua solusi. Saya yakin, masalah ada dalam kode saya - apk dimulai tetapi beberapa kesalahan saat bekerja dengan kelas dan aktivitas yang berbeda.
Satu-satunya cara bekerja dengan proyek saya:
Bagi saya itu berhasil, hanya solusi.
sumber
Jadi, menggunakan IntelliJ dengan plugin Android (Studio) adalah: Saya pergi ke
AndroidManifest.xml
atas dan mengubah nama paket dengan mengklik kanan -> Refactor -> ganti nama. Nama paket kami saat itu memiliki empat bagiana.b.c.d
, yang baru sajaa.b.c
. Jadi saya mengganti nama tiga yang pertama. Lalu saya pergi ke direktori sumber yang dihasilkan (app\build\generated\source\r\development\debug\a\b\c\d
),R
kelas klik kanan dan Refactor-> Pindahkan [d] ke satu paket yang lebih tinggi. Sama denganBuildConfig
diapp\build\generated\source\buildConfig\development\debug\a\b\c\d
.Dengan menggunakan Refactor-> Move, IntelliJ memperbarui semua referensi ke
BuildConfig
danR
.Akhirnya saya memperbarui semua applicationId [s] yang saya temukan di gradle.build yang saya temukan. Saya menekan Clean Project, Make and Rebuild Project. Menghapus aplikasi dari ponsel saya dan menekan "Mainkan". Semuanya berhasil sehingga pemfaktoran ulang mudah dan cukup cepat.
sumber
Di Android Studio 1.2.2 Katakanlah jika Anda ingin mengubah
com.example.myapp
keorg.mydomain.mynewapp
Anda dapat mengikuti langkah-langkah di setiap direktori seperti yang ditampilkan di screen shot di bawah ini. Ini akan memberi Anda opsi pratinjau sehingga Anda dapat melihat pratinjau sebelum membuat perubahan apa pun.Pergi ke
Refactor -> Rename
dan berikan nama baru Anda. Anda harus melakukannya untuk setiap folder, misalnya untuk com, example, dan myapp. Ini akan secara otomatis memperbarui impor sehingga Anda tidak perlu khawatir tentang itu.Perbarui juga file
build.gradle
yang tidak diperbarui secara otomatis.defaultConfig { applicationId "org.mydomain.mynewapp" //update the new package name here minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.0" }
Setelah itu akan diminta untuk
sync
melakukannya. Maka semuanya akan baik-baik saja. Saya dapat mengunggah APK saya ke toko google setelah ini. Pastikan Anda telah menandatangani aplikasi Anda untuk mengunggahnya ke toko.sumber
sumber