Android zeigt Text nach der Aktualisierung auf Java 8 in falscher Codierung an

8

Ich habe mein Projekt auf SDK Version 24 und Java 8 aktualisiert und bin auf ein seltsames Codierproblem gestoßen.

Aus irgendeinem seltsamen Grund behandelt Android meine hartcodierten UTF-8-Strings als Windows-1251 und daher ist der Text verstümmelt.

So:

Das habe ich geändert:

%Vor%

Und was ich versucht habe:

  • hat die Codierung in Android Studio-Einstellungen geändert
  • hat compileOptions.encoding = 'windows-1251' und compileOptions.encoding hinzugefügt = 'utf-8'
  • Systemvariable JAVA_TOOL_OPTIONS hinzugefügt: -Dfile.encoding = UTF8

Wenn ich zu Java 7 zurückwechsle, ist alles in Ordnung.

Irgendwelche Ideen?

    
FelisManulus 15.09.2016, 14:56
quelle

2 Antworten

6

Dies ist ein Fehler im Jack-Compiler, schauen Sie sich diesen Beitrag an.

Jack hat die Standard-VM-Kodierung verwendet, die unter Windows Windows-1252 ist. Also, Ihr Text ist mit UTF-8 codiert und mit windows-1252 by Jack Compiler dekodiert, und deshalb wurden sie verstümmelt.

Bis jetzt unterstützt Gradle Plugin keine API, um das Dekodierungsformat einzustellen, also müssen wir warten ...

    
L. Swifter 20.09.2016, 14:26
quelle
2

Ich hatte das gleiche Problem in Windows (aber nicht Mac OSX). Diese Zeile löst mein Problem (in gradle.properties Ihres Projekts):

%Vor%

Beachten Sie, dass dieser Teil die Codierung ändert:

%Vor%     
Hamed Gh 21.09.2016 14:07
quelle