flutter release app crush

最近用 flutter 寫了一支簡單的 App,用 webview 加上一些 userscript。


但在 release 版本 inject 的 javascript 的 alert 時卻 crush 了。

E/AndroidRuntime(32110): java.lang.IllegalAccessError: Illegal class access: 'f.f.c.e.i' attempting to access 'androidx.appcompat.widget.c0' (declaration of 'f.f.c.e.i' appears in base.apk)

使用 Android studio > Run/Flutter Run 'main.dart' in Release Mode 後跑出了上面這段訊息。

爬了一下文好像是 gradle 有問題。

看了看 ./android/gradle/wrapper/gradle-wrapper.properties 我的版本:

distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip

比提到的 6.5.1 還新,就不動了。

但 ./android/build.gradle 是 4.1.0 就把他改成 4.1.1 就好。

classpath 'com.android.tools.build:gradle:4.1.0'

然後重新 build 後就正常了。

留言

這個網誌中的熱門文章

[Antergos] disable touchpad

[Editor] 入坑 Atom => Markdown 轉 PDF