2015-05-03 11 views
43

Sono un po 'un principiante Android, e ho appena aggiornato a Android Studio 1.2. Quando faccio un nuovo progetto (API 16: Android 4.1 (Jelly Bean)), immediatamente ottengo il seguente avvertimento:Android Studio 1.2 - La codifica del progetto non corrisponde per impostazione predefinita

Attenzione: La codifica del progetto (windows-1252) non corrisponde al codifica specificata nel File di build Gradle (UTF-8). Questo può portare a problemi gravi .
Più Descrizione ...
Apri file di codifica Impostazioni

Questo è senza di me aver fatto alcuna modifica o scritto alcun codice di sorta. Ho letto maggiori informazioni su tools.android.com (http://tools.android.com/knownissues/encoding) ma è incredibilmente vago e presuppone la conoscenza di cosa sta succedendo (questo è il punto in cui "Più informazioni ..." ti porta). Da quando ho aggiornato ad Android Studio 1.2, le schede di progettazione e di testo nei miei file XML non si sincronizzeranno nemmeno; la scheda di progettazione non può essere modificata mentre il file di testo dei file XML può essere. Presumo che questo sia un problema correlato.

Perché non corrisponde questa codifica di default, cosa posso fare al riguardo e cosa dovrei usare come codifica predefinita?

Grazie!

risposta

77

Click File -> Impostazioni (o fare clic su Ctrl +Alt +S) e trovare Encodings file nel vostro studio Android. Guarda l'immagine sotto come riferimento.

Ora avete tre opzioni

  • codifica Cambiamento progetto per abbinare UTF-8 dal momento che entrambi Gradle e Android Lint beneficiare di questo (consigliato),
  • o modificare la codifica IDE per abbinare altra codifica,
  • o semplicemente ignorare l'avviso. Se ha funzionato per voi fino ad ora, si continuerà a lavorare in ogni caso

http://shrani.si/f/3V/p7/5xt1uxV/encoding.png

Una volta visualizzato l'avviso, si può direttamente cliccare su "Impostazioni di codifica aprire il file" come mostrato nell'immagine qui sotto. Questo ti porterà nello stesso posto come descritto sopra.

enter image description here

È inoltre possibile visualizzare la codifica corrente del file nell'angolo in basso a destra di Android Studio. Puoi anche cambiarlo lì. Guarda l'immagine qui sotto.

IDE Encoding

Inoltre è possibile specificare set di caratteri nello script build.gradle come questo

android { 
    ... 
    compileOptions { 
     encoding "UTF-8" 
     sourceCompatibility JavaVersion.VERSION_1_7 
     targetCompatibility JavaVersion.VERSION_1_7 
    } 
} 

Secondo Ashl7's commento, è necessario eseguire una sincronizzazione Gradle per far funzionare tutto

+0

@ user3290308 Le proprietà locali e gli elementi sono generati automaticamente e non dovrebbero essere temperati. ## Questo file è generato automaticamente da Android Studio. # Non modificare questo file - LE VOSTRE MODIFICHE SARANNO CANCELLATE! –

+0

@ user3290308 Penso che la chiusura e l'apertura come amministratore potrebbero risolvere questo particolare problema in cui non si è in grado di modificare le impostazioni del progetto. –

+0

Grazie. Mi hai salvato un sacco di frustrazione. – Solace

14

Invece di cambiando UTF-8 in modo che corrisponda al valore predefinito del sistema, ti consiglio di impostare la codifica del progetto su UTF-8 (File -> Impostazioni -> Editor -> Codifica file).UTF-8 è una delle codifiche di file più comuni e utilizza lo spazio in modo efficiente codificando i caratteri utilizzando da 1 a 4 byte, se necessario.

Google consiglia di utilizzare UTF-8, ed entrambi Gradle e Android Lint uso UTF-8: File Encoding for Android Studio

ho avuto lo stesso problema esatto dopo l'aggiornamento ad Android 1.2 Studio.

Screen capture of Android Studio settings window

4

Sono o stava avendo lo stesso problema. Quindi l'ho modificato in modo che l'IDE e le codifiche del progetto e la codifica predefinita per i file delle proprietà fossero tutte UTF-8. Ma continuavo a vedere lo stesso avviso nella scheda gradle sync dei messaggi. Poi alla fine ho semplicemente chiuso quella scheda, e da allora non ho visto il messaggio di avviso. Presumibilmente, l'IDE avrebbe rivalutato quella scheda se la condizione di avviso fosse nuovamente applicata. Ora quando eseguo il progetto, non compaiono né la scheda di sincronizzazione gradle né il messaggio di avviso. Quindi forse l'avvertimento è stato scritto appropriatamente durante una marca, ma avrebbe dovuto essere cancellato o rimosso in qualche modo all'inizio di una nuova marca, ma non lo era, il che significa che si tratta di un bug nell'IDE.

Ma ogni volta che creo un nuovo progetto, il problema si ripresenta. Ci dovrebbe essere un'impostazione per far corrispondere tutte le codifiche ogni volta che viene creato un nuovo progetto.

1

È possibile modificare le impostazioni di codifica predefinite per i nuovi progetti facendo clic su File -> Altre impostazioni -> Impostazioni predefinite.

In "Editor" e "Codifica file" è possibile impostare Codifica IDE e Codifica progetto sullo stesso valore per evitare di ricevere il messaggio di errore con progetti futuri.

Impostandolo in File -> Impostazioni lo cambierà solo per il progetto attualmente aperto.

Problemi correlati