[ エラー文 ]
abstract and does not implement abstract member public abstract fun error(p0: String, p1: String?, p2: Any?): Unit defined in io.flutter.plugin.common.MethodChannel.Result
[ エラーコード ]
android/app/src/main/kotlin/XXXX/MainActivity.kt
private fun onDataUpdated(type: String) {
channel.invokeMethod("onDataUpdated", type, object : MethodChannel.Result {
override fun success(result: Any?) {
Log.d("Android", "result = $result")
}
override fun error(errorCode: String?, errorMessage: String?, errorDetails: Any?) {
Log.d("Android", "$errorCode, $errorMessage, $errorDetails")
}
override fun notImplemented() {
Log.d("Android", "notImplemented")
}
})
}
override fun error()でエラーが発生していました。
[ 修正 ]
FlutterSecureStoragePlugin.java
static class MethodResultWrapper implements Result {
private final Result methodResult;
private final Handler handler = new Handler(Looper.getMainLooper());
MethodResultWrapper(Result methodResult) {
this.methodResult = methodResult;
}
@Override
public void success(final Object result) {
handler.post(() -> methodResult.success(result));
}
@Override
public void error(@NonNull final String errorCode, final String errorMessage, final Object errorDetails) {
handler.post(() -> methodResult.error(errorCode, errorMessage, errorDetails));
}
@Override
public void notImplemented() {
handler.post(methodResult::notImplemented);
}
}
void errorの第一引数がNonNullになっています。
しかしoverride fun error(errorCode: String?, errorMessage: String?, errorDetails: Any?)の第一引数がerrorCode: String?になっています。
android/app/src/main/kotlin/XXXX/MainActivity.kt
private fun onDataUpdated(type: String) {
//省略
override fun error(errorCode: String, errorMessage: String?, errorDetails: Any?) {
Log.d("Android", "$errorCode, $errorMessage, $errorDetails")
}
//省略
})
}
これで無事ビルドが通りました!
[ 最後に ]
誰かのお役に立てば幸いです。