Come si rinominano i pacchetti nel nuovo IDE Android Studio, basato su IntelliJ IDEA?
È incluso un refactoring automatico?
Voglio fare refactoring di massa, ma non so come. Ho lavorato due anni con Eclipse e in Eclipse è un'operazione con un clic.
Come si rinominano i pacchetti nel nuovo IDE Android Studio, basato su IntelliJ IDEA?
È incluso un refactoring automatico?
Voglio fare refactoring di massa, ma non so come. Ho lavorato due anni con Eclipse e in Eclipse è un'operazione con un clic.
Risposte:
Ad esempio, se si desidera passare com.example.app
a my.awesome.game
, quindi:
Nel riquadro Progetto , fai clic sull'icona a forma di ingranaggio ( )
Deseleziona / Deseleziona l' Compact Empty Middle Packages
opzione
La directory del pacchetto verrà ora suddivisa in singole directory
Seleziona individualmente ogni directory che vuoi rinominare e:
Refactor
Rename
Rename Package
anziché su Rinomina directorycom
in Android Studio, potrebbe essere visualizzato un avviso. In tal caso, selezionare Rinomina tuttoOra apri il tuo file Gradle Build ( build.gradle
- Solitamente app
o mobile
). Aggiorna in applicationId
in defaultConfig
al nuovo nome del pacchetto e grado di sincronizzazione, se non è già stato aggiornato automaticamente:
Potrebbe essere necessario modificare l' package=
attributo nel manifest.
Pulisci e ricostruisci.
Fatto! Comunque, Android Studio deve rendere questo processo un po 'più semplice.
com.example.test
per com.example
e quindi eliminare com.example.test
.
Un altro buon metodo è: creare prima un nuovo pacchetto con il nome desiderato facendo clic con il tasto destro sulla cartella Java → Nuovo → Pacchetto .
Quindi, selezionare e trascinare tutte le classi nel nuovo pacchetto. Android Studio eseguirà il refactoring del nome del pacchetto ovunque.
Infine, elimina il vecchio pacchetto.
Fatto.
Molto importante:
È necessario modificare manualmente AndroidManifest.xml e il file build.gradle nel nuovo pacchetto se si utilizza questo metodo.
La modifica dell'ID applicazione (che ora è indipendente dal nome del pacchetto) può essere eseguita molto facilmente in un solo passaggio. Non è necessario toccare AndroidManifest. Invece, procedi come segue:
Nota che questo non cambierà il nome del pacchetto. Il disaccoppiamento di Nome pacchetto e ID applicazione è spiegato qui: http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
com.example.sample
a com.example
usare altre risposte
L'approccio da me utilizzato per rinominare il nome del pacchetto è semplice come segue: -
Passaggio 1 : selezionare l'opzione Progetto dal menu a sinistra di Android Studio
Passaggio 2 : fare clic con il tasto destro su Java e aggiungere un nuovo pacchetto e impostare il nome del pacchetto desiderato
Passaggio 3 : inserisci il nuovo nome pacchetto
Passaggio 4 : copia tutti i file dal tuo vecchio pacchetto e incollali nel nuovo pacchetto
Passaggio 5 : rinominare il nome del pacchetto nel file manifest
Passaggio 6 : rinominare il nome del pacchetto nel file build.gradle
Passaggio 7 : quindi fare clic con il pulsante destro del mouse sul vecchio pacchetto, eliminarlo con tutti i suoi dati ed eliminare anche quella directory
Passaggio 8 : quindi ricostruire il progetto
Passo 9 : Quindi troverai alcuni errori del vecchio nome pacchetto di importazione nel tuo progetto Seleziona il vecchio nome del pacchetto in qualsiasi file e premi CTRL + Maiusc + R e inserisci il nuovo nome del pacchetto nella casella Sostituisci, quindi premi Trova
Passo 10 : Quindi appare un popup come sotto e seleziona l'opzione Tutti i file da esso
Step 11 : Ricostruisci di nuovo il tuo progetto, bingo il nome del pacchetto del tuo progetto è stato modificato :)
Posiziona il cursore sul nome del pacchetto come mostrato di seguito. Non selezionarlo, basta posizionarlo.
Quindi premi Shift+ F6otterrai una finestra pop-up come mostrato di seguito seleziona Rinomina pacchetto .
Inserisci il tuo nuovo nome e seleziona Refactor . (Nota poiché il mio cursore si trova su "qualcosa", solo qualcosa viene rinominato.)
È fatto.
Fare clic con il tasto destro del mouse sul pacchetto nel pannello Progetto .
Scegli Refactor -> Rinomina dal menu contestuale.
Apri il file:
app → manifest → AndroidManifest.xml
Evidenziare ogni parte nel nome del pacchetto che si desidera modificare (non evidenziare l'intero nome del pacchetto) quindi:
Esegui questi passaggi in ogni parte del nome del pacchetto.
Apri (Gradle Script) >> (build.gradle (Modul: app))
e aggiorna applicationId con il nome del pacchetto
Apri il menu (build) e scegli (Ricostruisci progetto).
IntelliJ IDEA ha un'opzione chiamata "Pacchetti medi vuoti compatti". Seleziona l'icona dell'opzione nella scheda Progetto e disattiva / attiva questa opzione .
Vedi: Come posso cambiare il nome del pacchetto di livello superiore in IntelliJ IDEA?
Seleziona il pacchetto che verrà refactored. Refactor → Sposta → "Sposta xxx nel nuovo pacchetto" .
Ho visto le risposte più votate ma ho scoperto che è un po 'diverso per fare questo, provo a fare il tutorial più completo.
Da Android Studio fai clic sull'icona a forma di ingranaggio ( ), quindi seleziona l'opzione:, "Compact Empty Middle Packages"
per visualizzare le cartelle separate in una vista ad albero.
Ora seleziona la cartella, fai clic con il tasto destro per aprire il menu contestuale, seleziona Refactor
e quindiRename
Ti verrà consigliato di riformattare il pacchetto:
Quindi una finestra mostrerà le coincidenze all'interno del progetto, selezionare "Do Refactor"
:
Non è necessario modificare manualmente i file AndroidManifest.xml o build.gradle, il refactoring del pacchetto farà il lavoro !.
Se il nome del pacchetto è separato da più di due punti, diciamo com.hello.world
e inoltre, non hai inserito nulla in com/
e com/hello/
. Tutte le tue lezioni sono in corso com/hello/world/
, potresti fare i seguenti passi per riformattare i nomi dei tuoi pacchetti in Android Studio o IntelliJ:
com/
, com/hello/
). Puoi farlo aggiungendo prima due file al pacchetto com.hello.world, diciamocom.hello.world.PackageInfo1.java com.hello.world.PackageInfo2.java
quindi riformattali spostandoli rispettivamente su com e com.hello. Vedrai com e com.hello seduti lì al Progetto ( Alt+1
o Command+1
per il collegamento) e rinominare le directory refactoring ti sta aspettando come previsto.
Rifattore per rinominare una o più di queste directory per raggiungere il tuo obiettivo. L'unica cosa che dovresti notare qui è che devi scegliere le directory piuttosto che i Pacchetti quando ti viene chiesto un dialogo.
Se hai un sacco di lezioni nel tuo progetto, ci vorrà un po 'di tempo per aspettare la sua scansione automatica e rinominare.
Inoltre, è necessario rinominare manualmente il nome del pacchetto all'interno di AndroidManifest.xml, suppongo, in modo che altri nomi in questo file possano beneficiare del prefisso.
[ANCHE] , potrebbe essere necessario che tu sostituisca tutto com.hello.world.R
al nuovo XXX.XXX.XXX.R
( Command+Shift+R
in breve)
Ricostruisci ed esegui il tuo progetto per vedere se funziona. E usa "Trova nel percorso" per trovare altri nomi non touch che desideri rinominare.
Assicurati di andare alla grande risposta di Sheharyar . Ci sono così tante risposte e commenti che la seguono che sarebbe facile confondersi e arrendersi, ma non farlo . Quella risposta funziona .
In breve, fai tre cose :
(1) Deseleziona Compact Empty Middle Packages
.
(2) Refactor
quindi Rename
ogni vecchio nodo di directory scegliendo Change Package
( non Change Directory
) per abbinare il nuovo nome del pacchetto. (Assicurati di fare un'anteprima delle modifiche.)
(3) Modifica il build.gradle
file e APPLICATION_ID
abbina il nome del nuovo pacchetto.
Risposta aggiornata: maggio 2015
OK, ho avuto problemi con la clonazione e la ridenominazione di progetti in Android Studio, ma alla fine l'ho raggiunto. Ecco i passaggi da seguire:
Questo è tutto...
Ho trovato una soluzione molto più semplice a questo problema che ha anche cambiato le importazioni generate come com.test.testpackagechange.R
e richiede solo un minuto.
Il primo passo è aprire Android Studio e aprire la finestra Sostituisci tutto (Mac: cmd + maiusc + R, Windows suppongo: ctrl + maiusc + R). Digita il vecchio nome del pacchetto e quello sotto il nuovo nome del pacchetto. Fai clic su Trova. Questo potrebbe richiedere del tempo perché sta anche esaminando gli elementi generati. Se ha oltre 1000 visite, fai clic su continua.
Dopo averlo fatto, premi Sostituisci tutto per sostituire il vecchio nome del pacchetto con quello nuovo.
Ora chiudi Android Studio e vai a Finder su Mac o Windows Explorer su Windows. Cambia il nome delle cartelle con il nuovo nome del pacchetto, in questo modo:
Ora apri di nuovo Android Studio. Gradle si sincronizzerà e il nome del pacchetto dovrebbe essere cambiato in quello nuovo.
Ho trovato che questo è il più semplice e quello che copre tutte le aree come i file generati.
L'errore comune che si può fare è che non si può rinominare la struttura del pacchetto, cioè non è possibile cambiare com.name.android in com.Renamed.android quando si tenta di modificare a livello com.name.android .
Per avere lo stesso cambiamento desiderato, sali di un livello, ad es. Com.name e qui, quando fai il refactor, lo cambi in Rinominato . Questo funzionerà sempre.
Ho trovato un altro modo che funziona o un ulteriore passaggio ad alcune delle risposte qui, specialmente se si desidera cambiare anche il dominio. Funziona in Android Studio 1.4. Questo è quello che ho fatto:
build.gradle
file dell'app e modifica l'ID applicazione in defaultConfig con lo stesso nome di manifest e ricostruisci il progetto.Quindi, ad esempio, se vuoi rinominare "com.example.app" in "com.YourDomain.app", apri un file sotto il pacchetto da rinominare, nel pacchetto breadcrumb, imposta il cursore su "esempio" parte del dominio e premi Shift+ F6e rinomina il pacchetto in "YourDomain".
Il nome del pacchetto verrà modificato da tutti i file Java e dal file manifest. Devi cambiare manualmente il nome del pacchetto da build.gradle
.
Cambia il nome del pacchetto
Per rinominare il nome del pacchetto, tutto ciò che devi fare è andare sul tuo AndroidManifest.xml
file, posizionare il cursore del mouse davanti alla parte del nome del pacchetto che desideri modificare.
Tasto destro del mouse> Rifattore> Rinomina
Nella nuova finestra premere Rinomina pacchetto
Cambia nome e premi Refactor
... e premi Do Refactor in basso.
Il nome del pacchetto di solito è in formato com.domain.appname, in questo esempio abbiamo cambiato la parte appname, ma puoi fare gli stessi passaggi anche per il dominio.
Fatto! Hai cambiato il nome del tuo pacchetto!
Ho provato le due soluzioni più votate ma ho riscontrato alcuni problemi anche se entrambi funzionano in una certa misura.
Dopo alcuni esperimenti ho scoperto che il seguente metodo funziona bene per me.
Se hai solo bisogno di cambiare l'ultima parte del nome del pacchetto, usa il metodo indicato da GreyBeardedGeek, vale a dire
Fare clic con il tasto destro del mouse sul pacchetto nel riquadro Progetto. Scegli Refactor -> Rinomina dal menu contestuale
Se è necessario modificare l'intero nome del pacchetto, attenersi alla seguente procedura.
Fare clic con il tasto destro del mouse sul pacchetto nel riquadro Progetto. Scegli Refactor -> Sposta dal menu contestuale
Questo creerà una nuova cartella del pacchetto (quando necessario) ma manterrà l'ultima parte del nome del pacchetto come prima. Se è necessario modificare l'ultima parte, rinominare di conseguenza.
Si noti inoltre che potrebbe essere necessario modificare i nomi dei pacchetti in es. Build.gradle, manifest e / o qualsiasi file di risorse xml, o anche nel codice se hardcoded. Dopo tutto ciò, sincronizza / pulisci / ricostruisci il progetto secondo necessità.
Come rinominare com.example.app
in com.android.app
:
nell'esempio di com.example.app
selezione del pacchetto
Shift + F6
scegliere rename package
rinominare esempio in Android
Confermare do refactor
Fare clic con il tasto destro sul pacchetto -> refactor e cambiare il nome.
Puoi anche cambiarlo nel manifest. A volte se si modifica il nome del pacchetto, ma dopo aver creato il file .apk mostra un nome di pacchetto diverso. In quel momento controlla "applicationId" nel file build.gradle .
Consiglio di usare Sublime Text (o Notepad ++ ). Sostituisci com.one.lastname -> com.two.newname e com / one / lastname -> com / two / newname in ... \ Projects [MyProject]. e non dimenticare di rinominare ... \ Progetti \ MyProject \ app \ src \ main \ java \ com \ one \ lastname, ... \ Projects \ MyProject \ app \ src \ test \ java \ com \ one \ lastname e ... \ Progetti \ MyProject \ app \ src \ androidTest \ java \ com \ one \ lastname!
È tutto:)
Credo che ciò che stai cercando sia Refactor> Move. Puoi anche premere F6.
Otterrai due popup. Assicurati di selezionare Rinomina pacchetto su entrambi. Successivamente verrà visualizzato un pop-up per posizionare il nuovo nome del pacchetto.
Si noti che se il nome del pacchetto è, ad esempio, com.example.android.projectname, ciò consentirà di modificare com.example.android in qualcos'altro.
Un'altra cosa, questo aggiornerà applicationId anche nel tuo build.gradle. Assicurati solo che le caselle di controllo "Cerca nei commenti e nelle stringhe" e "Cerca occorrenze di testo" siano entrambe selezionate affinché funzioni.
Modo semplice e veloce:
1- aprire MainActivity.java
o qualsiasi file java disponibile.
Nella parte superiore c'è la dichiarazione del pacchetto come:
pacchetto com.
example
.myapp;
selezionare la parte del pacchetto che si desidera modificare e premere Maiusc + F6 . Personalmente voglio cambiare il example
.
Nella finestra di dialogo di avviso, selezionare Rinomina pacchetto e quindi inserire il nome del pacchetto desiderato.
2- L' etichetta aperta AndroidManifest.xml
e interna <manifest>
modifica il package
nome del pacchetto desiderato.
3- aprire build.gradle(Module: app)
e modificare il applicationId
nome del pacchetto desiderato.
Prova i seguenti passaggi:
******* Finalmente è finito ******
ctrl+ Shift+ Rha sempre funzionato per me. Semplicemente replace all
e scegli All Files
.
La prima parte consiste nel creare un nuovo pacchetto nella java
cartella e selezionare e trascinare tutti i file di origine da old package
a questo new package
. Successivamente è necessario remane
il nome del pacchetto in Android manifest
al nome del nuovo pacchetto.
Nel passaggio 2, ecco cosa devi fare. Devi cambiare il vecchio nome del pacchetto applicationId
sotto il modulo build.gradle
nel tuo studio Android oltre a cambiare il nome del pacchetto in manifest
. Quindi, in sintesi, fai clic su build.gradle
quale si trova sotto "AndroidManifest.xml" e modifica il valore del applicationId
nuovo nome del pacchetto.
Quindi, in cima, sotto build
. clean
il tuo progetto, quindi rebuild
. Dovrebbe andare bene da qui.
Il modo migliore è scrivere il nome del nuovo pacchetto e trascinarlo dal nome del pacchetto precedente.
Il secondo modo, se si fa clic su Refactor, quindi si sposta l'opzione e si rinomina il nome del pacchetto, verrà rinominato il nome del pacchetto e quindi ricostruito.
In Build.gradle devi farlo manualmente, se Refactor non rinominerà in Build.gradle.