LoginSignup
1
0

【Flutter】【AndroidStudio】gradleビルドログの文字化け対処、-Xlint:unchecked詳細の出し方

Posted at

はじめに

google_mlkitで遊んでいた際に、Windows & AndroidStudio & Emulator(Android)でTextRecognizerを呼び出すとExceptionになることを調査した際の
gradleビルドログの文字化け対処、-Xlint:unchecked詳細の出し方について

(執筆時点では、TextRecognizerがExceptionになる問題は同環境では解決していないので、その対処を記載するものではない)

Gradleのビルドログが文字化け

事象発生時のログ

Launching lib\main.dart on sdk gphone64 x86 64 in debug mode...
Running Gradle task 'assembleDebug'...
�m�[�g:~\pub.dev\google_mlkit_commons-0.5.0\android\src\main\java\com\google_mlkit_commons\InputImageConverter.java�̑���́A���`�F�b�N�܂��͈��S�ł͂���܂���B
�m�[�g:�ڍׂ́A-Xlint:unchecked�I�v�V�������w�肵�čăR���p�C�����Ă��������B
�m�[�g:~\pub.dev\google_mlkit_text_recognition-0.10.0\android\src\main\java\com\google_mlkit_text_recognition\TextRecognizer.java�̑���́A���`�F�b�N�܂��͈��S�ł͂���܂���B
�m�[�g:�ڍׂ́A-Xlint:unchecked�I�v�V�������w�肵�čăR���p�C�����Ă��������B
√  Built build\app\outputs\flutter-apk\app-debug.apk.
Debug service listening on ws://127.0.0.1:55500/zxXMtuhofhk=/ws
Syncing files to device sdk gphone64 x86 64...

対処

環境変数にJAVA_TOOL_OPTIONSを設定
JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8

対処後のログ

ノート:~\pub.dev\google_mlkit_commons-0.5.0\android\src\main\java\com\google_mlkit_commons\InputImageConverter.javaの操作は、未チェックまたは安全ではありません。
ノート:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。
ノート:~\pub.dev\google_mlkit_text_recognition-0.10.0\android\src\main\java\com\google_mlkit_text_recognition\TextRecognizer.javaの操作は、未チェックまたは安全ではありません。
ノート:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。

Javaのビルド警告(-Xlint:unchecked)の詳細出力

前項のログ

ノート:~\pub.dev\google_mlkit_commons-0.5.0\android\src\main\java\com\google_mlkit_commons\InputImageConverter.javaの操作は、未チェックまたは安全ではありません。
ノート:詳細は、-Xlint:uncheckedオプションを指定して再コンパイルしてください。

対処:gradleのビルドオプションで詳細を出力するよう設定

./android/build.gradle
...
allprojects {
    repositories {
        google()
        mavenCentral()
    }
    // add lines
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
        }
    }

}
...

対処後のログ

~\pub.dev\google_mlkit_commons-0.5.0\android\src\main\java\com\google_mlkit_commons\InputImageConverter.java:35: 警告:[unchecked] 無検査キャスト
            Map<String, Object> metaData = (Map<String, Object>) imageData.get("metadata");
                                                                              ^
  期待値: Map<String,Object>
  検出値:    Object
警告1個
~\google_mlkit_text_recognition-0.10.0\android\src\main\java\com\google_mlkit_text_recognition\TextRecognizer.java:74: 警告:[unchecked] 無検査キャスト
        Map<String, Object> imageData = (Map<String, Object>) call.argument("imageData");
                                                                           ^
  期待値: Map<String,Object>
  検出値:    Object
警告1個
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0