- Java JDK Oracle (SE) 11
- Ruby v2.6
- Cocoapods v1.8.4
- JetBrains Toolbox (Optional)
- Android Studio (Chipmunk or latest)
- Android Studio KMM Plugin (Optional)
- Xcode
- Xcode Kotlin Plugin (Optional)
Java
1. Java Home variable is set
echo $JAVA_HOMEShould see
/Library/Java/JavaVirtualMachines/jdk-11.0.13.jdk/Contents/Home
If you see it, you can skip the two steps below.
2. Java version is downloaded
/usr/libexec/java_home -VShould see installed JDKs:
17.0.1 (x86_64) "Oracle Corporation" - "Java SE 17.0.1" /Library/Java/JavaVirtualMachines/jdk-17.0.1.jdk/Contents/Home
16.0.1 (x86_64) "Oracle Corporation" - "OpenJDK 16.0.1" /Users/user/Library/Java/JavaVirtualMachines/openjdk-16.0.1/Contents/Home
11.0.13 (x86_64) "Oracle Corporation" - "Java SE 11.0.13" /Library/Java/JavaVirtualMachines/jdk-11.0.13.jdk/Contents/Home
...
If not found, have not downloaded the JDK properly.
3. Correct JDK v11 is showing
/usr/libexec/java_home -v 11Should see
/Library/Java/JavaVirtualMachines/jdk-11.0.13.jdk/Contents/Home
If you see a non-Oracle JDK, like open JDK, you need to uninstall it first.
4. Set Java Home variable
Find out what shell version you're using:
echo $SHELLIf you're using ZSH: you ought to be updating ~/.zshrc else ~/.bash_profile for the following steps.
Update your profile:
[emacs/vim/atom] ~/.zshrcAdd the following line:
export JAVA_HOME=$(/usr/libexec/java_home -v 11)Update shell profile
source ~/.zshrcMac Developer Tools
1. Install Mac dev tools
Install Mac dev tools:
xcode-select --installAccept dev tools agreement:
sudo xcodebuild -license2. Enable command line tools
Xcode -> Preferences -> Locations -> Command Line Tools -> [Select latest]
If you don't do this, on builds you may see the following errors:
Kotlin/Native: KonanExternalToolFailure "The /usr/bin/xcrun command returned non-zero exit code: 72"xcrun: error: unable to find utility "xcodebuild", not a developer tool or in PATHAndroid Studio
1. Android Studio Install
When installing Android Studio, choose custom:
2. Set Android shell variables
After installation flow, set ANDROID_HOME & ADB variables in shell:
export ANDROID_HOME="/Applications/AndroidSDK/"
export adb="/Applications/AndroidSDK/platform-tools/adb"
export ADB="/Applications/AndroidSDK/platform-tools/adb"3. Create an Android Emulator
- Open the Android Virtual Device (AVD) Manager:
Tools -> AVD Manager - Select + Create New Virtual Device....
- From the large devices list, select latest Pixel, i.e. Pixel 3 XL.
- Next you need to select an image: Select newest API level/x86_64/Google Play
- Last step, select
Advanced -> Graphics -> Hardware
Cocoapods
1. Ensure correct Ruby version
Ensure Ruby v2.6 is installed. Note: does not work on v3+.
ruby -v2. Install cocoapods
sudo gem install cocoapods -v 1.8.43. Error
If you have installation issues, check here for solutions.
Build Android
1. Open project in Android Studio
Open the project in Android Studio.
Wait for indexing to finish.
Make sure you see the run config for the app:
2. Error: Android Gradle requires Java 11 to run
If you see following error:
Go to Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle -> Select Gradle JDK
3. Error: SDK location not found
If you see the following error:
SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting up the sdk.dir path in your project's local properties file...Project does not know the location of your local Android SDK.
Open local.properties
sdk.dir=[ANDROID_SDK_ROOT location as used during installation]4. Gradle Sync Fail: 'pod install' fail
If you see the following error:
Please, check that file "../iosApp/Podfile" contains following lines in header: source 'https://cdn.cocoapods.org'Open ios directory.
sudo gem install cocoapodsAfter successful pod generation close the terminal.
sudo gem install cocoapods-generateClose and reopen the terminal again
Edit ~/.zshrc& add the following:
export LANG=en_US.UTF-8source ~/.zshrc or quit & reopen terminal
Source: https://stackoverflow.com/questions/69805554/kmm-project-setup-with-cocoapods-fails-on-first-compile
Build iOS
1. Gradle Build
Go to project folder:
cd weather-app-2022-kmmRun gralde build:
./gradlew buildOpen Xcode workspace project in the ios/ folder: KaMPKitiOS.xcworkspace.
Run the iOS app on Simulator.
2. Error: No such module
If you get the following compilation error:
no such module: 'shared'Close Xcode.
Delete Pods/ folder located in the root directory of the iOS project.
Run the command pod install in that same iOS root directory (which is /weather-app-2022-kmm/ios/ to be specific).
This will generate a new Pods folder. Reopen the .xcworkspace file and try to build again.
3. Error: Framework not found
If you see the following error:
Framework not found shared_umbrellaYou probably opened the .xcodeproj file instead of the .xcworkspace.
Close out the .xcodeproj and open the .xcworkspace and run again.







