Develop, Deploy, and Test Apps with Expo Development Client
Erin Bailey
Flutter is Google’s mobile app SDK for crafting high-quality native interfaces on iOS and Android in record time. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source.
For users, Flutter makes beautiful app UIs come to life. For developers, Flutter lowers the bar to entry for building mobile apps. It speeds up the development of mobile apps and reduces the cost and complexity of app production across iOS and Android. For designers, Flutter helps deliver the original design vision, without loss of fidelity or compromises. It also acts as a productive prototyping tool.
To install and run Flutter, your development environment must meet these minimum requirements:
[crayon-69da53002f73d270111800 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><br />[/crayon]
[crayon-69da53002f740658887170 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><br />[/crayon]
[crayon-69da53002f744115301505 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><br />[/crayon]
[crayon-69da53002f748374498276 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge">[/crayon]
[crayon-69da53002f74c522705426 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f750778852127 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Clone alpha branch from Flutter repository using Git and add bin folder to your PATH.
[crayon-69da53002f753750418485 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 |
<em>$ git clone https://github.com/flutter/flutter.git -b alpha $ export PATH=`pwd`/flutter/bin:$PATH</em> |
[crayon-69da53002f758966625708 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
The above command sets your PATH variable temporarily, for the current terminal window. You are now ready to run Flutter commands!
[crayon-69da53002f75c957679057 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Note: To permanently add Flutter to your path, see the reference https://flutter.io/setup-macos/#update-your-path.
[crayon-69da53002f760844893459 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f763852112397 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Run the following command to see if there are any dependencies you need to install to complete the setup:
[crayon-69da53002f766855385569 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 |
<em>$ flutter doctor</em> |
[crayon-69da53002f76b670360931 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
This command checks your environment and displays a report to the terminal window. The Dart SDK is bundled with Flutter; it is not necessary to install Dart separately.
[crayon-69da53002f76f424714502 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
For example:
[crayon-69da53002f773823569202 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]

[crayon-69da53002f777711128210 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f77a639974084 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
macOS supports developing Flutter apps for both iOS and Android. Complete at least one of the two platform setup steps now, to be able to build and run your first Flutter app.
[crayon-69da53002f77e436514336 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f782319375820 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f785741896109 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To develop Flutter apps for iOS, you need a Mac with Xcode 9.0 or newer:
[crayon-69da53002f789875739171 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f796835546842 inline="true" class="highlighter-rouge"]<br />[/crayon]
[crayon-69da53002f79a660179746 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f79d417259047 inline="true" class="highlighter-rouge"][/crayon]
[crayon-69da53002f7a1848333207 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
With Xcode, you’ll be able to run Flutter apps on an iOS device or on the simulator.
[crayon-69da53002f7a5076535217 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f7a9220577298 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To deploy your Flutter app to a physical iOS device, you’ll need some additional tools and an Apple account. You’ll also need to set up physical device deployment in Xcode.
[crayon-69da53002f7ad695063507 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f7b1711369520 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 3 4 |
<em>$ brew</em> update $<em> brew install --HEAD libimobiledevice $ brew install ideviceinstaller ios-deploy cocoapods $ pod setup</em> |
[crayon-69da53002f7b6453504025 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
If any of these commands fails with an error, run brew doctor and follow the instructions for resolving the issue.
[crayon-69da53002f7bc313621508 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f7c2468633669 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f7d2546941771 inline="true" class="highlighter-rouge"][/crayon]


[crayon-69da53002f7e8754986099 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><br />[/crayon]
[crayon-69da53002f7eb597663250 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f7f2465487899 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge">[/crayon]
[crayon-69da53002f7f5997923806 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f7f9206049128 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f7fd135556043 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f811326180347 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f814084794024 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f818383109002 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To prepare to run and test the Flutter app on an Android device, you’ll need an Android device running Android 4.1 (API level 16) or higher.
[crayon-69da53002f81c795823747 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f821493996174 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f827505374393 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
By default, Flutter uses the version of the Android SDK where your adb tool is based. If you want Flutter to use a different installation of the Android SDK, you must set the environment[crayon-69da53002f82b802989472 inline="true" class="highlighter-rouge"]ANDROID_HOME variable to that installation directory.[/crayon]
[crayon-69da53002f82e406091915 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f832874351131 inline="true" class="highlighter-rouge"][/crayon]
[crayon-69da53002f836755227179 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f83a401835125 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Here I created a sample flutter_app project using following terminal command:
[crayon-69da53002f83e765760841 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 |
<em>flutter create flutter_app cd flutter_app</em> |
[crayon-69da53002f843256839072 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f847745757074 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To list out all connected devices, please use the commandflutter devices to show all:
[crayon-69da53002f84b211304955 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 |
<em>SM G950U1 • 9887fc41594630315a • android-arm • Android 7.0 (API 24) iPhone 7 • a0c2865be4ccfe53aea7c280dded0837873104ae • ios • iOS 10.3.3</em> |
[crayon-69da53002f850262838863 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
If you have only one device is connected, just use the command flutter run to install your app into the device.
[crayon-69da53002f853653346517 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Otherwise, if have more than one device connected; please specify a device with the ‘-d <deviceId>’ flag, or use ‘-d all’ to act on all devices.
[crayon-69da53002f857279120163 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 |
<em>flutter run -d 9887fc41594630315a flutter run -d a0c2865be4ccfe53aea7c280dded0837873104ae</em> |
[crayon-69da53002f85c095144630 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
Note: For iOS device, if you see the error as below, please double check the iOS Setup step to fix it.
[crayon-69da53002f860184106580 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f864411923163 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To generate an APK file, run:
[crayon-69da53002f867318998838 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 |
flutter build apk |
[crayon-69da53002f86d698380366 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
The output looks like:
[crayon-69da53002f870417662388 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 3 4 5 |
Initializing gradle... 4.4s Resolving dependencies... 2.2s Running 'gradlew assembleRelease'... Skipping AOT snapshot build. Fingerprint match. Built build/app/outputs/apk/release/app-release.apk (7.6MB). |
[crayon-69da53002f876756453012 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
To generate an IPA file, run:
[crayon-69da53002f87a723950550 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 |
flutter build ios |
[crayon-69da53002f87f700968267 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
The output looks like:
[crayon-69da53002f883552646118 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
|
1 2 3 4 |
Building com.example.flutterApp for device (ios-release)... Automatically signing iOS for device deployment using specified development team in Xcode project: 4X2699XXXX Running Xcode build... 23.5s Built /build/ios/Release-iphoneos/Runner.app |
[crayon-69da53002f888014932194 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f88c893941464 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
In this part, I will guide you how to use Kobiton Cloud to test your apps. A Kobiton account is required to access Kobiton system. If you do not have a Kobiton account yet, go ahead to create a free trial account and sign in. It takes just a few moments.
[crayon-69da53002f8bc810061178 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]




|
1 2 3 4 5 6 7 |
<em>DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("app", "kobiton-store:1024"); capabilities.setCapability("deviceGroup", "KOBITON"); capabilities.setCapability("deviceName", "Galaxy S8+"); capabilities.setCapability("platformVersion", "7.0"); capabilities.setCapability("platformName", "Android"); </em> |
|
1 2 3 4 5 6 |
<em>DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("app", "kobiton-store:1024"); capabilities.setCapability("deviceGroup", "KOBITON"); capabilities.setCapability("deviceName", "iPhone 6 Plus"); capabilities.setCapability("platformVersion", "10.0.2"); capabilities.setCapability("platformName", "iOS");</em> |
[crayon-69da53002f8c4342961896 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]
[crayon-69da53002f8c8269729576 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge">[/crayon]
[crayon-69da53002f8cf026294444 inline="true" class="highlighter-rouge"]<code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge"><code class="highlighter-rouge">[/crayon]