[更新]
颤振只能支持 32 位或 64 位的发布 APK,但不能同时支持
在Firebase testLabs上测试Galaxy Note 3,API Level 19后,它崩溃了。 我通过添加解决了问题(至少目前(
release {
ndk{
abiFilters "armeabi-v7a" // not working for "armeabi", "x86"
}
}
然后我强制生成APK来武装,如下所示:
flutter build apk --release --target-platform android-arm
它奏效了!
Gradle 属性可以设置为 android-arm(默认(或 android-arm64,而不是两者兼而有之
[问题]
如何将我的代码配置为在所有本机平台中运行,例如 "Armeabi", "Armeabi-V7A", "Armeabi-V8A", "X86","x86_64", "MIPS" ..和其他架构。(需要支持所有平台(
这样做的原因是我想为Google Play中具有"本机平台= none"的现有应用程序上传更新版本,因此我的应用程序必须具有相同的平台依赖项才能不丢失用户,而不仅仅是针对" armeabi-v7a"
我在这里 https://developer.android.com/studio/build/configure-apk-splits android 文档是这样的:
splits {
// Configures multiple APKs based on ABI.
abi {
enable true
reset()
include "armeabi", "armeabi-v7a", "armeabi-v8a", "x86","x86_64", "mips", "mips64"
universalApk true
}
}
但它无法构建 APK 并显示错误:
Gradle 构建无法生成 Android 软件包。
当我跑flutter build apk --release
时.请帮忙吗?
您的配置是正确的,可以在典型的 android 版本中使用C++代码生成多个 apk 工件,每个架构一个。但是,Flutter 仍然无法为您定义的大多数架构构建。
flutter build apk -h
. . .
--target-platform [android-arm (default), android-arm64]
明显缺少x86和x86_64。
出于实际目的,Flutter几乎涵盖了所有物理设备,因为很长一段时间都没有使用x86的新手机,甚至在几年前它们也很少。它最大的缺点是我们无法在模拟器上运行生产版本。