tutorial studio expressions example enable android android-studio encoding utf-8 java-8

android - studio - java lambda



Android muestra texto en una codificación incorrecta después de la actualización a Java 8 (2)

Este es un error en el compilador de Jack, eche un vistazo a esta publicación .

Jack ha estado usando la codificación VM predeterminada, que en Windows es Windows-1252. Por lo tanto, su texto está codificado con UTF-8 y decodificado con windows-1252 por el compilador de Jack, y esta es la razón por la que se convirtieron en ilegibles.

Hasta ahora, Gradle Plugin no admite una API para configurar el formato de decodificación, por lo que debemos esperar ...

Actualicé mi proyecto a SDK versión 24 y Java 8 y encontré un extraño problema de codificación.

Por algún extraño motivo, Android trata mis cadenas codificadas UTF-8 como Windows-1251 y, por lo tanto, el texto está distorsionado.

Me gusta esto:

Esto es lo que cambié:

compileSdkVersion 24 buildToolsVersion "24.0.2" compileOptions { encoding = ''utf-8'' sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }

Y lo que he intentado:

  • cambio de codificación en la configuración de Android Studio
  • añadido compileOptions.encoding = ''windows-1251'' y compileOptions.encoding = ''utf-8''
  • variable de sistema añadida JAVA_TOOL_OPTIONS: -Dfile.encoding = UTF8

Si vuelvo a Java 7 todo está bien.

¿Algunas ideas?


Tuve el mismo problema en Windows (pero no en Mac OSX). esta línea resuelve mi problema (póngalo en gradle.properties de su proyecto):

org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

tenga en cuenta que esta parte cambia la codificación:

-Dfile.encoding=UTF-8