
Part of https://github.com/flutter/flutter/issues/145009 This is part one of the wiki migration. This moves all wiki pages wholesale into the new docs directory with no changes. Follow up PRs will sort them, updating breadcrumbs and links.
1.9 KiB
Building ARMv7 (iOS) & armeabi v7a (Android) with Xcode10
In Xcode10, the i386 architecture is deprecated for macOS, so building the Flutter engine for armv7/armeabi-v7a fails. Specifically, libraries like CoreFoundation contain only code for the x86_64 architecture.
To address this, get the MacOS 10.13 SDK from Xcode 9.x from Apple, and extract the SDK components from the .xip
file. Uncompress the SDK into /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
and name the SDK MacOSX10.13.sdk
:
To check if the logic is fine, run command below:
python your-flutter-engine-path/engine/src/build/mac/find_sdk.py 10.12
When find_sdk.py
return 10.13, the ninja build will succeed for gen_snapshot (i386), Flutter.framework (ARMv7) and libflutter.so (armeabi-v7a).
Build Flutter engine for 32bit iOS simulator on modern Mac(x86_64)
To build the Flutter engine for iOS simulator on a modern Mac(x86_64), the gn command will generate a target_cpu
value with x64. Henceforth, the Flutter.framework and gen_snapshot will be x86_64.
However, sometimes you may want to develop Flutter on a 32bit simulator(like iPhone5), you will need both Flutter.framework and gen_snapshot to be i386.
Follow instruction below to change the default behavior in gn command: