There are following Apps on Android
You can find source files of the Android applications in the examples/android/
directory.
You need Android SDK 26 & NDK 23.2.8568313 downloaded to your machine. Set the
$ANDROID_HOME environment variable to where the SDK is downloaded and the
$ANDROID_NDK_HOME environment variable to point to where the NDK package is
downloaded. The build also requires kotlinc to be in your $PATH.
export ANDROID_HOME=~/Android/Sdk
export ANDROID_NDK_HOME=~/Android/Sdk/ndk/23.2.8568313
export ANDROID_HOME=~/Library/Android/sdk
export ANDROID_NDK_HOME=~/Library/Android/sdk/ndk/23.2.8568313
TARGET_CPU can have the following values, depending on your smartphone CPU
architecture:
| ABI | TARGET_CPU |
|---|---|
| armeabi-v7a | arm |
| arm64-v8a | arm64 |
| x86 | x86 |
| x86_64 | x64 |
We are using Gradle 7.1.1 for all android project which does not support Java 17 (https://docs.gradle.org/current/userguide/compatibility.html) while the default JDK version on MacOS for Apple Silicon is 'openjdk 17.0.1' or above.
Using JDK bundled with Android Studio will help with that.
Android Studio Dolphin and below:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/Contents/Home/
Android Studio Electric Eel 2022.1.1 and above:
export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jbr/Contents/Home/
Complete the following steps to prepare the Matter build:
Check out the Matter repository.
Run bootstrap (only required first time)
source scripts/bootstrap.sh
Choose how you want to build the Android CHIPTool. There are two ways: from script, or from source within Android Studio.
This is the simplest option. In the command line, run the following command from the top CHIP directory:
./scripts/build/build_examples.py --target android-arm64-chip-tool build
See the table above for other values of TARGET_CPU.
The debug Android package app-debug.apk will be generated at
out/android-$TARGET_CPU-chip-tool/outputs/apk/debug/, and can be installed
with
adb install out/android-$TARGET_CPU-chip-tool/outputs/apk/debug/app-debug.apk
You can use Android Studio to edit the Android CHIPTool app itself and run it
after build_examples.py, but you will not be able to edit Matter Android code
from src/controller/java, or other Matter C++ code within Android Studio.
This option allows Android Studio to build the core Matter code from source, which allows us to directly edit core Matter code in-IDE.
In the command line, run the following command from the top Matter directory:
TARGET_CPU=arm64 ./scripts/examples/android_app_ide.sh
See the table above for other values of TARGET_CPU.
Modify the matterSdkSourceBuild variable to true, matterBuildSrcDir point
to the appropriate output directory (e.g. ../../../../out/android_arm64),
and matterSourceBuildAbiFilters to the desired ABIs in
examples/android/CHIPTool/gradle.properties
3) Open the project in Android Studio and run File -> Sync Project with Gradle Files.
4) Use one of the following options to build an Android package:
- Click **Make Project** in Android Studio.
- Run the following command in the command line:
```shell
cd examples/android/CHIPTool
./gradlew build
```
The debug Android package app-debug.apk will be generated at
examples/android/CHIPTool/app/build/outputs/apk/debug/, and can be installed
with
adb install examples/android/CHIPTool/app/build/outputs/apk/debug/app-debug.apk
or
(cd examples/android/CHIPTool && ./gradlew installDebug)
Currently, the CHIPTest can only be built from scripts. The steps are similar to building CHIPTool from scripts.
./scripts/build/build_examples.py --target android-arm64-chip-test build
You can modify the matterUTestLib variable to the test lib in
examples/android/CHIPTest/gradle.properties
to change target to test.