更新
颤振只能支持32位或64位的APK版本,但不能同时支持。
在Galaxy 3上进行测试后,API级19在正在崩溃的firebase testLabs上运行。我(至少现在)通过添加
release {
ndk{
abiFilters "armeabi-v7a" // not working for "armeabi", "x86"
}
}然后,我强迫生成APK来武装,如下所示:
flutter build apk --release --target-platform android-arm而且起作用了!
Gradle属性可以设置为android(默认)或android-arm64 ,而不是同时设置为。
问题
如何将我的代码配置为在所有本地平台上运行,如"armeabi“、"armeabi-v7a”、"armeabi-v8a“、"x86”、"x86_64“、"mips”。和其他建筑。(需要支持所有平台)
这样做的原因是我想上传一个在google play中有“本地平台=无”的现有应用程序的更新版本,所以我的应用程序必须具有相同的平台依赖关系,这样才不会失去用户,而不仅仅是针对"armeabi-v7a“。
我跟踪这里的机器人文档,https://developer.android.com/studio/build/configure-apk-splits是这样的:
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 ..。有什么帮助吗?
发布于 2018-10-16 22:29:34
您的配置对于使用C++代码在典型的android构建中生成多个apk工件是正确的,每个体系结构都有一个。然而,flutter仍然无法为您定义的大多数体系结构构建。
flutter build apk -h
. . .
--target-platform [android-arm (default), android-arm64]值得注意的是缺少了x86和x86_64。
出于实际目的,颤振已经覆盖了几乎所有的物理设备,因为有很长一段时间没有使用x86的新手机了,甚至几年前还很少。它最大的缺点是我们无法在仿真器上运行生产。
https://stackoverflow.com/questions/52742343
复制相似问题