我已经构建了一个用 Flutter 编写的应用程序,它在我的设备上运行良好。
然而,在客户端设备上它在启动时崩溃(甚至在 Centry 启动之前)。
当连接到 ADB 时,我们得到了这个日志:
AndroidRuntime: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.travel.exchange-1/base.apk"],nativeLibraryDirectories=[/data/app/com.travel.exchange-1/lib/arm, /data/app/com.travel.exchange-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]] couldn't find "libflutter.so"
at java.lang.Runtime.loadLibrary (Runtime.java:367)
at java.lang.System.loadLibrary (System.java:1076)
at io.flutter.view.FlutterMain.startInitialization (FlutterMain.java:172)
at io.flutter.view.FlutterMain.startInitialization (FlutterMain.java:149)
at io.flutter.app.FlutterApplication.onCreate (FlutterApplication.java:22)
at android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1037)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:6496)
at android.app.ActivityThread.access$1800 (ActivityThread.java:229)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1887)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:148)
at android.app.ActivityThread.main (ActivityThread.java:7406)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1120)
Run Code Online (Sandbox Code Playgroud)
我正在专门使用 arm64 进行构建(如果我尝试在 arm (32) 上运行,应用程序即使在我的设备上也会崩溃)。
flutter build apk --release --target-platform=android-arm64
Run Code Online (Sandbox Code Playgroud)
Des*_*gha 32
在android\app\build.gradle 的buildTypes下添加以下代码
buildTypes {
release {
ndk {
abiFilters 'armeabi-v7a','arm64-v8a','x86_64'
}
}
}
Run Code Online (Sandbox Code Playgroud)
在发布模式下构建应用程序时,可以针对armeabi-v7a(ARM 32位)、arm64-v8a(ARM 64位)和x86-64(x86 64位)编译Flutter应用程序。Flutter 目前不支持针对 x86 Android 进行构建(请参阅问题 9253)。
来源: https: //docs.flutter.dev/deployment/android
小智 9
在应用程序级别 build.gradle 中应添加以下行
defaultConfig {
...
ndk { abiFilters "armeabi", "x86", "armeabi-v7a","x86_64", "mips",
"mips64", "arm64-v8a" }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7100 次 |
| 最近记录: |