Android Studio'da mevcut projeyi yeni bir adla kopyalayın


102

Android projemi kopyalayıp aynı dosyalardan sadece farklı bir isimle yeni bir proje oluşturmak istiyorum. Bunun amacı, uygulamamın uygulama mağazasında desteklenen reklamı olan ikinci bir sürümüne sahip olabilmemdir.

Bu cevabı burada buldum:

Android - mevcut projeyi yeni bir adla kopyala

Ama Eclipse için. Bunu Android Studio'da nasıl yapabilirim?

Yanıtlar:


66

Belirttiğiniz bağlantıdaki adımlar Android Studio için de çalışmalıdır. Tüm modül klasörünün (bir dosya yöneticisi kullanarak) bir kopyasını alın ve ona yeni bir ad verin. Şimdi açın ve Refactor -> Renamemodülünüzü ve paketinizi yeniden adlandırmak için (yeniden adlandırmak istediğiniz öğeye sağ tıklayın) kullanın.

Bkz bu IntelliJ / Android Studio üstlenmeden hakkında ayrıntılı bilgi için.


Windows 10, dosya yolunun çok uzun olduğunu söylüyor. Yıldönümü güncellemesine sahibim ve Grup İlkesi Düzenleyicisi hilesini ebable uzun dosya yollarına yaptım. Görünüşe göre Explorer hala uzun dosya yollarını işleyemiyor. Bakınız: superuser.com/questions/1114181/…
Andrew S

3
Bunu denedim, ancak projeyi çalıştırdığımda Android Studio, cihazımdaki eski uygulamamın üzerine yazıyor. Cihazda her iki uygulamanın aynı anda olmasını istiyorum (krom özel sekmelerini test etmek için). Android Studio'yu cihazda aynı anda her iki uygulamaya da sahip olmaya nasıl zorlayabilirim?
Locksleyu

Temel paket klasörünü seçtim ve Refactor -> Yeniden Adlandır'ı tıkladım, "paket yeniden adlandırma" seçeneğiyle hatalar aldım, ardından "klasörü yeniden adlandır" seçeneğini başarıyla yaptım.
İsmail Yavuz

Ayrıca iml dosyasını yeniden düzenlemeli ve yeniden adlandırmalısınız !!!, eğer yapmazsanız, işe yaramaz
JoeCoolman

43

Gradle kullanıyorsanız - app / build.gradle dosyasındaki applicationId özniteliğini değiştirmeyi unutmayın .


3
Build.gradle dosyasındaki applicationId'yi değiştirmeyi unuttuğum ve Play Store'da yanlış paket adıyla bir uygulama yayınlamayı unuttuğum için bu çok önemli
wenjiun

Bu gerçek bir cevaptan çok bir yorum.
The Unknown Dev

Anahtar buydu!
Denis

39

Free3dom'un belirttiği gibi , yapılması gerekenler:

  1. Dosya yöneticisini kullanarak bir kopya oluşturun
  2. build.gradlePaket adını değiştirmek için uygulamanın dosyasını manuel olarak düzenleyin (dosya yöneticisini kullanabilirsiniz).
  3. AndroidManifest.xmlPaket adını değiştirmek için manuel olarak düzenleyin .
  4. Çalıştır gradle sync.
  5. Projeyi Android Studio'da açın ve paket adını yeniden düzenleyin.
  6. Gradle sync'i tekrar çalıştırın.

Bu sorunsuz çalışıyor gibi görünüyor.


9
Android stüdyosu dışında bir gradle senkronizasyonunu nasıl yaptığınızı merak ediyorum
erdomester

1
bunu takip etti, ancak 4. adımı uygulamadı, sadece Android Studio'yu açtı ve kopyalanan projeyi içe aktardı. Ayrıca kopyalanan projeden .iml dosyası silindi, yeni bir tane oluşturuldu. harika çalıştı! Teşekkürler!
nommer

@nommer hangisinden .imlbahsediyorsun ?? birini project/prjectname.imlve diğerini bulabilirim project/app/app.iml, hangisinin silinmesi gerekiyor?
Hirdesh Vishwdewa

@Veeru 5. adımı açıklayabilir misin ??
Hirdesh Vishwdewa

@HirdeshVishwdewa güzel soru! bir süre önce hatırlayamadığım bir şey yaptım, ama bunun bir proje olduğunu tahmin ediyorum / *. iml
nommer

32

Android Studio'nun en yeni sürümünü kullanıyorsanız, bu konuda size yardımcı olmasına izin verebilirsiniz.

Not: Bunu yalnızca Android Studio 3.0'da test ettim.

Prosedür aşağıdaki gibidir:

  1. Proje görünümünde (bu, ekranın sol tarafında yakalamalar ve yapı ile birlikte gelir), Android yerine Proje'yi seçin . Projenizin adı, ağacın tepesi olacaktır (harici kitaplıkların yanında). Projenizi seçin ve ardından gidin . Android Studio size yeni adı ve projeyi nereye kopyalamak istediğinizi soracaktır. Aynısını sağlayın.

    Refactor -> Copy...

  2. Kopyalama tamamlandıktan sonra yeni projenizi Android Studio'da açın.
    Paketler yine eski proje adı altında kalacak.
    Bu, Java sınıf paketleri, uygulama kimliği ve eski paket adı kullanılarak oluşturulan diğer her şeydir.
    Bunu değiştirmemiz gerekiyor.
    Proje görünümünde Android'i seçin .
    java alt dizini ve ana paketi seçin.
    Sonra sağ tıklayın ve gidin Refactorsonra Rename.
    Android Studio, yeniden düzenlemek üzere olduğunuz pakete birden çok dizinin karşılık geldiğini söyleyen bir uyarı verecektir.
    Tıklayın Rename packageve değil Rename directory .
    Bu aşamadan sonra projeniz artık tamamen yeni isim altında.

  3. Res / values ​​/ strings.xml dosyasını açın ve projenin adını değiştirin.
  4. "Gradle Build Module: app" içindeki uygulama kimliğinizi değiştirmeyi unutmayın.
  5. Son bir adım, projeyi temizlemek ve yeniden oluşturmaktır, aksi takdirde projenizi çalıştırmaya çalışırken Android Studio size APK'yi yükleyemeyeceğini söyleyecektir (önceki projeyi çalıştırdıysanız).
    Yani Build -> Clean projecto zaman Build -> Rebuild project.
    Artık yeni klonlanmış projenizi çalıştırabilirsiniz.

Adım 4, sanırım klasörü kopyaladıktan sonra başarısız olan, kopyalanan bir proje almak için ihtiyacım olan şeydi
Jim Factor

2
Önemli: Google Play hizmetlerini kullanıyorsanız. Ayrıca google-services.json dosyasında paket adlarını güncellediğinizden emin olun.
Gihan Gamage

Bu cevap için teşekkürler! Bir ek: settings.gradle'da rootProject.name'i de güncelledim.
alexx

16

Bunun amacı, uygulamamın uygulama mağazasında desteklenen reklamı olan ikinci bir sürümüne sahip olabilmemdir.

Şu anda bunu yapmanın en iyi yolu projeyi kopyalamamaktır . Dosyanızdaki
farklı tatları kullanarak bunu yapabilirsiniz build.gradle.

 productFlavors {
        flavor1 {
            applicationId = "com.example.my.pkg.flavor1"
        }
        flavorAdSUpport {
            applicationId = "com.example.my.pkg.flavor2"
        }
  }

Bu şekilde dosyaların sadece bir kopyasına sahip olursunuz ve farkı kolayca halledebilirsiniz.


15

Bu, nt.bas'ın cevabı ve Civic'in cevabının 9. adımının görsel örneklerle birleşimidir çünkü Android Studio'da yeni olduğum için neyin amaçlandığını bulmam biraz zaman aldı. Android Studio 3.2.1'de test edilmiştir.

  1. Android Studio'da klonlamak istediğiniz projeyi açın. (Bu örnekte, eski proje adı test5ve yeni proje adı idi test6)

  2. Soldaki dosyaya genel bakış bölmesinde, şunu tıklayın: Proje (şu anda android diyebileceği yerde).

fig0

  1. Dosya gezgini bölmesinde projeye farenin sağ tuşuyla tıklayın ve refactor> clone'a tıklayın.

fig1

  1. "Yeni adı" yeni proje adınızla değiştirin ve Tamam'a tıklayın.

incir. 2

  1. Dosya> aç> Yeni pencere> Yeni projenizi seçin> Yeni proje penceresinde aç. Yeni pencerede, Android stüdyosunun alt satırı bitene / "Gradle Sync Bitti" diyene kadar bekleyin.

16

17

14

  1. Dosyaya genel bakış bölmesinde ve sağ fare düğmesine tıklayın (RMB) on: app.java/ <eski proje adınız (test değil, androidTest değil, sadece boş olan)>

fig8

  1. Paketinizin yeni adını girin ve her iki onay işaretini de seçin, refactor'a tıklayın.

fig9 fig10

  1. Sol alttaki çubukta "Yeniden düzenleme yap" ı tıklayın.

fig12

  1. App / res / values ​​/ strings.xml dosyasını açın ve eski projenin adını (örn. Test5), satırda projenin yeni adı ile değiştirin:

    <string name="app_name">test5</string>
    

Şekil 3

  1. Gradle betikleri / build.gradle (Modül: app) açın ve satırı yeni proje adınızla aynı satıra değiştirin:% fig4

    applicationId "com.example.a.test5"    
    

fig4

  1. Kod bölmenizin üst kısmında, derecelendirme senkronizasyonu isteyen sarı bir çizgi görünecektir. "Şimdi senkronize et" e basın.

fig5

  1. üst çubukta oluştur> Projeyi temizle seçeneğine basın.

fig13

  1. Sol altta "Gradle oluşturma tamamlandı" yazıyorsa, "Oluştur> Projeyi yeniden oluştur" u tıklayın.

fig14

fig15

  1. Artık projenizi yeniden derleyip çalıştırabilmelisiniz (eğer ilk etapta işe yaradıysa).

1
mükemmel cevap! yukarıdaki 5. adımda açık proje yerine dosya> yeni> projeyi içe aktar da kullanılabilir. Benim için çalışan buydu.
Sasuke Uchiha

1
adım 8, AndroidStudio: 3.1.4'te, "Yeniden
Düzenleme Yap

8

Şu adımları takip ediyorum ve şu ana kadar çalışıyor:

  1. Klasörü eskiden olduğu gibi kopyalayıp yapıştırın.
  2. Android Studio'yu (v3.0.1) açın.
  3. Mevcut bir Projeyi Aç'ı seçin.
  4. Açılan mesajı kapatın: "Gradle Projelerini İçe Aktar".
  5. Android Sekmesinin sol tarafında şuraya gidin: uygulama -> java -> ilk klasörü seçin (proje klasörünüz)
  6. Refactor => Yeniden adlandır ... (Shift + F6)
  7. Paketi Yeniden Adlandır, Her iki seçeneği de seçin - Yeni klasörün adını küçük harfle yazın.
  8. Yeniden Düzenleme Yapın
  9. Seçin: Araç çubuğunda Projeyi Gradle Dosyaları ile Eşitle.
  10. Oluştur => Temiz Proje
  11. App -> res -> values ​​-> strings.xml'e gidin ve 2. satırdaki uygulama adını değiştirin.

Ayrıca, Haritalar, Firebase ve benzeri gibi herhangi bir Google hizmeti API'si kullanıyorsanız ... Eski paket adı referanslarına sahip dosyaları (app / src'deki google_services.json gibi) kaldırdığınızdan emin olun. Lütfen prosedürün tamamı için buna bakın.
varun

3

Android Geliştirici Temelleri Kursu Pratikleri gitbook eki, mevcut bir projeyi kopyalamak ve yeniden adlandırmak için adımlar içerir:

https://google-developer-training.gitbooks.io/android-developer-fundamentals-course-practicals/content/en/appendix_utilities.html#copy_project


Birçok modül ve bağımlılığa sahip karmaşık bir projeyle Android Studio 3.3 ile benim için harika çalıştı. Teşekkürler.
nat101

1
Bu bağlantı son ayaklarındadır: "Bu site 31 Temmuz 2019'da kaldırılacaktır."
Peter Mortensen

3

Paket adını Android Studio'da yeniden düzenlerken, paket adının her bir bölümünü görmek için paket / android / proje / vb - gezgin tarafından sağdaki küçük çarkı tıklamanız ve 'kompakt boş orta paketler' seçeneğinin işaretini kaldırmanız gerekebilir. kendi dizini olarak. Sonra tek tek dizinler için yeniden düzenleme yapın.

Paket adının tüm kısımlarını değiştirmeniz gerekirse bu önemlidir. Örneğin, com.example.originalproject'den org.mydomain.newproject'e. Aksi takdirde, refactor / rename işlemi sadece "originalproject" i "newproject" olarak değiştirmenize izin verir ve "com.example" i değiştirmeden bırakır. Bunu gösteren güzel bir video var: https://www.youtube.com/watch?v=dMK-RBVLeIY


2

Projenizi kopyaladığınızda, C: ... \ AndroidStudioProjects (proje_adı) \ app \ build \ intermediates \ classes \ release ... dizinlerinden orijinal kalan ara yapı (bazıActivity $ 4.sınıf) dosyalarını da silmeniz gerekir. Aksi takdirde, kopyalanan projeyi derlemeye çalışırsanız, neredeyse kesinlikle yeni proje için başarısızlıklar yaşayacaksınız. Yeniden düzenleme bunu çözmez.


2

Benim için iyi çalışan nt.bas cevabını ve gnyrfta cevabını denedim .

Nt.bas cevabından alıntı yapmak :

Android Studio'nun en yeni sürümünü kullanıyorsanız, bu konuda size yardımcı olmasına izin verebilirsiniz.

Not: Bunu yalnızca Android Studio 3.0'da test ettim.

Prosedür aşağıdaki gibidir:

  1. Proje görünümünde (bu, ekranın sol tarafında yakalamalar ve yapı ile birlikte gelir), Android yerine Proje'yi seçin . Projenizin adı, ağacın tepesi olacaktır (harici kitaplıkların yanında). Projenizi seçin ve ardından gidin . Android Studio size yeni adı ve projeyi nereye kopyalamak istediğinizi soracaktır. Aynısını sağlayın.

    Refactor -> Copy...

  2. Kopyalama tamamlandıktan sonra yeni projenizi Android Studio'da açın.
    Paketler yine eski proje adı altında kalacak.
    Bu, Java sınıf paketleri, uygulama kimliği ve eski paket adı kullanılarak oluşturulan diğer her şeydir.
    Bunu değiştirmemiz gerekiyor.
    Proje görünümünde Android'i seçin .
    java alt dizini ve ana paketi seçin.
    Sonra sağ tıklayın ve gidin Refactorsonra Rename.
    Android Studio, yeniden düzenlemek üzere olduğunuz pakete birden çok dizinin karşılık geldiğini söyleyen bir uyarı verecektir.
    Tıklayın Rename packageve değil Rename directory .
    Bu aşamadan sonra projeniz artık tamamen yeni isim altında.

  3. Res / values ​​/ strings.xml dosyasını açın ve projenin adını değiştirin.
  4. Son bir adım, projeyi temizlemek ve yeniden oluşturmaktır, aksi takdirde projenizi çalıştırmaya çalışırken Android Studio size APK'yi yükleyemeyeceğini söyleyecektir (önceki projeyi çalıştırdıysanız).
    Yani Build -> Clean projecto zaman Build -> Rebuild project.

Bu noktaya kadar yalnızca tüm proje adınızı yeniden adlandırırsınız . Ambalaj adını yeniden adlandırmak için aşağıdaki şekilde açıklanan gnyrfta yanıtını izlemeniz gerekir :

Paket adını Android Studio'da yeniden düzenlerken, paket adının her bir bölümünü görmek için paket / android / proje / vb - gezgin tarafından sağdaki küçük çarkı tıklamanız ve 'kompakt boş orta paketler' seçeneğinin işaretini kaldırmanız gerekebilir. kendi dizini olarak. Sonra tek tek dizinler için yeniden düzenleme yapın.


Not: Eğer bir

Oturum sonlandırılamadı: INSTALL_FAILED_INVALID_APK: Bölünmüş lib_slice_0_apk birden çok kez tanımlandı

Sadece appmodule'ün derleme klasörünü silin ve projeyi yeniden oluşturun!

Bu sorunu çözecektir!


2

Android 3.3 kullanıyorum ve benim için şu şekilde çalıştı:

1 - Proje görünümünü seçin

2 - Projenin kökünde bulunan proje adına sağ tıklayın ve seçeneği seçin, refactor -> copysizden yeni adı seçmeniz için bir pencere açılacaktır.

3 - 2. adımdan sonra Android size yeni bir proje yapacak, o yeni projeyi yeni isimle açmalısınız.

4 - "string.xml" deki uygulamanın adını değiştirin, "app / res / values ​​/ string.xml" içinde

Şimdi ona sahipsiniz, aynı proje yeni bir isimle. Şimdi paketin adını değiştirmek isteyebilirsiniz, aşağıdaki adımlarda açıklanmıştır.

(isteğe bağlı) Ana paketin adını değiştirmek için

5 - "app / java" ya gidin, aynı ada sahip üç klasör olacak, bir ana klasör, an (androidTest)ve a (test), ana klasöre sağ tıklayın ve seçin format -> rename, birden fazla dizinin bu pakete karşılık geldiği konusunda sizi uyaracaktır , ardından "Paketi yeniden adlandır" ı tıklayın. Yeni bir isim seçin ve refactor'a tıklayın. Şimdi, kod görünümünün altında, burada bir yeniden düzenleme önizlemesi olacak, "Yeniden düzenleme yap" ı tıklayın

6 - "Oluştur" seçeneğine gidin, "Projeyi temizle" yi ve ardından "Projeyi yeniden oluştur" u tıklayın.

7 - Şimdi projeyi kapatın ve yeniden açın.


1
Nihayet 20 dakika sürmeyen bir çözüm! İlk denemede garip hatalar olmadan çalıştı. Adım 5 için, paketimi yeniden düzenledim-> yeniden adlandırdım.
Kardan Adam

2

Projenizin olduğu kaynak klasöre gidin.

  1. Projeyi kopyalayıp geçmiş ve adını değiştirin.
  2. Android Studio'yu açın ve yenileyin.
  3. Adresine gidin ->Settings.gradle.
  4. Dahil etmek ':your new project name '

2

Android Studio 3.5'te gereksinim ve test

Eski projenizin mevcut android stüdyo kitaplığınızla düzgün çalıştığından emin olun.

  1. Proje dizinini kopyalayın ve yeni proje adı için klasörü yeniden adlandırın, örneğin Bramara
  2. Android Studio 3.5 kullanarak mevcut yeni projenizi açın. Projeyi açtıktan sonra, 1: Proje -> Proje'ye gidin. Projenizin sadece yeni proje klasörüne ve eski proje klasörüne işaret eden iki dizine sahip olduğunu görebilirsiniz. Projenizi kapatın.
  3. Appl.iml dosyasını yeni proje -> app -> appl.iml dizininde metin düzenleyiciyi kullanarak düzenleyin. Tüm eski proje adını yeni Proje Adı ile değiştirin.
  4. Mevcut yeni projenizi yeniden açın. 1'e gidin: Proje -> Proje. Projenizin sadece bir dizini olduğunu görebilirsiniz.
  5. 1'e gidin: Proje -> Paketler. bileşeninize sağ tıklayın -> Refactor -> Yeniden Adlandır.
  6. Bir uyarı mesajı açılacaktır. Tüm değişikliklerin yeni proje klasörüne uygulanacağından emin olun! Bundan sonra paketleri yeniden adlandır'ı seçin, örneğin com.dedetok.bramara.
  7. 1'e gidin: Proje -> Android. Uygulamayı açın -> bildirimler -> AndroidManifest.xml. Uygulama Etkinliğini yeni pakage adına sabitleyin. Uygulama Adınızı yenisiyle değiştirin.
  8. Gradle Scripts -> build.gradle (Modül: app) açın, applicationId'nizi yeni projeye değiştirin, örneğin com.dedetok.bramara ve sync project.
  9. Yeni projenizi temizleyin ve yeniden oluşturun.
  10. Yeni projeniz düzenlemeye / değiştirmeye hazır.

Not: Etkinliği gösteren adb çalışması yoksa Çalıştır / Hata Ayıklama Yapılandırmanızı düzenleyin. Modül, modül uygulamasına, örneğin uygulamaya işaret etmelidir.


7. adımda app-> manifestlerini bulamadım. Böylece Project-> Project'i açtım ve src klasöründen manifest'i açtım. Stüdyo dosyayı düzenlemek için senkronizasyon istedi ve sonra tamam oldu
makkasi

1

Bunu yapmanın EN KOLAY (ve kesinlikle en hızlı) yolu WINRAR, 7zip veya benzeri bir arşivleme yazılımı gerektirir:

  1. Windows gezgininde proje klasörünü bulun - bu klasörü açmak için çift tıklayın.

  2. Yeni bir klasör oluşturun ve "Yedek" olarak adlandırın.

  3. Hala proje klasöründeyken, "yedekleme" klasörü dışındaki tüm dosyaları / klasörleri seçin.

  4. Sağ tıklayın ve "arşive ekle" veya "arşiv oluştur" u seçin (komut, arşivleme yazılımınıza bağlı olarak farklı olacaktır)

  5. Arşivi adlandırın ve Tamam'ı tıklayın.

  6. Bu arşivi "Yedek" klasörüne taşıyın.

Bitti - yedekleme arşivini açmak için "Yedekleme" klasörünü açın ve yedekleme dosyasına sağ tıklayın. "Çıkart" ı seçin veya dosyaların çıkarılacağı yeni bir klasör oluşturun ve "tamam" düğmesine basın, ardından normalde Android Studio, vb .'den yaptığınız gibi projeyi açın.


0

Bununla ilgili sorunlar yaşadım:

https://google-developer-training.github.io/android-developer-fundamentals-course-concepts-v2/appendix/appendix-utilities/appendix-utilities.html

Android Studio sürümünde: 3.3.2

.idea / workspace.xml dosyasını sonlandırana kadar.

$ cp -rv Testcopysource/ TestCopyDest
$ rm TestCopyDest/.idea/workspace.xml
$ stdio.sh & # Run Android Studio on Linux

Bunu yapmadan önce, Android Studio hala orijinal kaynak klasörünü işaret ediyordu ve tüm yeniden adlar orijinal kaynak dosyalara uygulanıyordu (yukarıdaki örneğimde Testcopysource içinde).


0

Şubat 2020 itibarıyla Android Studio 3.5.3 için bulduğum en basit cevap bu video.

Not 1: 01.24'te "Bul" sekmesi aşağıda görünür. "Yeniden Düzenleme Yap" ı tıklayın ve videodaki gibi devam edin.

Not 2: "Düz Metin Olarak İşaretlenmiş" Java / Kotlin dosyanız varsa, üst kısımdaki paket adını manuel olarak değiştirmeniz gerekir, yanipackage com.example.thisplaceneedstobemanuallyupdated

Not 3: Yeniden adlandırırken, videoda olduğu gibi harf durumlarına dikkat edin.

Not 4: Proje penceresinin başlık çubuğundaki proje adını güncellemek istiyorsanız, " Gradle Scripts " dizini altındaki " settings.gradle " dosyası rootProject.name = 'YourProjectName'içinde değişiklik yapın .


0

Android Studio'da 4.0yalnızca şu birkaç adıma ihtiyacınız var:

  • Dosya Yöneticisi'nde proje dizinini kopyalayın ve yenisini yeniden adlandırın
  • içine gir ve applicationIdiçinde değişapp/build.gradle
  • Android Studio'da mevcut yeni projeyi açın
  • bir sınıf dosyasını açmak ve paket adını değiştirme bölümünü vurgulamak (örn gelen com.domain.appnameetmek com.domain.newappnamevurgulamak appname)
  • sağ tıklayın -> "yeniden düzenleme" -> "yeniden adlandır"
  • "paketi yeniden adlandır" ı seçin
  • iletişim kutusunda "Kapsam: tüm yerler" i seçin ve "önizleme" veya "yeniden düzenleme" yi tıklayın
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.