| # Matter Controller Kotlin App Example |
| |
| This is a Matter Controller Kotlin app that can be used to commission and |
| control Matter accessory devices. |
| |
| <hr> |
| |
| - [Matter Controller Kotlin App Example](#matter-controller-kotlin-app-example) |
| - [Requirements for building](#requirements-for-building) |
| - [Preparing for build](#preparing-for-build) |
| - [Building & Running the app](#building--running-the-app) |
| |
| <hr> |
| |
| ## Requirements for building |
| |
| You need to have the following two software installed on your Ubuntu system: |
| |
| 1. Java Runtime Environment (JRE) |
| 2. Java Development Kit (JDK) |
| |
| openjdk version "11.0.20.1" or above is needed |
| |
| First, check if we have the Java Runtime Environment and Java Development Kit |
| installed on our system or not. |
| |
| ```shell |
| java -version |
| ``` |
| |
| If not, you can install the Java Runtime Environment and Java Development Kit on |
| your system through the following command as root: |
| |
| ``` |
| sudo apt install default-jre |
| sudo apt install default-jdk |
| ``` |
| |
| You also need to install kotlin compiler on your Ubuntu system: |
| |
| kotlin compiler version 1.8.10 or above is needed to compile |
| kotlin-matter-controller, if you already have lower version kotlin compiler |
| installed on your Ubuntu from apt, |
| you need to remove the Kotlin compiler package, run the following command: |
| |
| ```shell |
| sudo apt-get remove kotlin |
| ``` |
| |
| Wait for the removal process to complete. Once it's done, the Kotlin compiler |
| will be removed from your system. |
| |
| (Optional) If you want to remove any configuration files associated with Kotlin, |
| run the following command: |
| |
| ```shell |
| sudo apt-get purge kotlin |
| ``` |
| |
| Install kotlin compiler 1.8.10 or above, such as |
| [kotlin-compiler-1.8.10-url](https://github.com/JetBrains/kotlin/releases/download/v1.8.10/kotlin-compiler-1.8.10.zip) |
| |
| ```shell |
| cd /usr/lib \ |
| && sudo wget -q [kotlin-compiler-1.8.10-url] \ |
| && sudo unzip kotlin-compiler-*.zip \ |
| && sudo rm kotlin-compiler-*.zip \ |
| && sudo rm -f kotlinc/bin/*.bat |
| ``` |
| |
| Add a directory to PATH permanently by editing the `.bashrc` file located in the |
| Home directory. Follow these steps: |
| |
| 1. Open the `.bashrc` file using a text editor. |
| 2. Go to the end of the file. |
| 3. Paste the export syntax at the end of the file. |
| |
| ```shell |
| export PATH="/usr/lib/kotlinc/bin:$PATH" |
| ``` |
| |
| ### Linux |
| |
| ```shell |
| export JAVA_PATH=[JDK path] |
| ``` |
| |
| <hr> |
| |
| ## Preparing for build |
| |
| Complete the following steps to prepare the Matter build: |
| |
| 1. Check out the Matter repository. |
| |
| 2. Run bootstrap (**only required first time**) |
| |
| ```shell |
| source scripts/bootstrap.sh |
| ``` |
| |
| ## Building & Running the app |
| |
| This is the simplest option. In the command line, run the following command from |
| the top Matter directory: |
| |
| ```shell |
| ./scripts/build/build_examples.py --target linux-x64-kotlin-matter-controller build |
| ``` |
| |
| The Java executable file `kotlin-matter-controller` will be generated at |
| `out/android-x86-kotlin-matter-controller/bin/` |
| |
| Run the kotlin-matter-controller |
| |
| ```shell |
| java -Djava.library.path=../lib/jni -jar kotlin-matter-controller |
| ``` |