安卓原生平台配置



[更新]

颤振只能支持 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的新手机,甚至在几年前它们也很少。它最大的缺点是我们无法在模拟器上运行生产版本。

最新更新