diff --git a/.github/workflows/full-android.yaml b/.github/workflows/full-android.yaml
index 65b3d73518dfec..35a261a4258e60 100644
--- a/.github/workflows/full-android.yaml
+++ b/.github/workflows/full-android.yaml
@@ -33,13 +33,13 @@ jobs:
name: Run
env:
- JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64/
+ JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64/
runs-on: ubuntu-latest
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-android:112
+ image: ghcr.io/project-chip/chip-build-android:113
volumes:
- "/tmp/log_output:/tmp/test_logs"
diff --git a/.github/workflows/java-tests.yaml b/.github/workflows/java-tests.yaml
index ad95d3dec7ad03..265c2763944693 100644
--- a/.github/workflows/java-tests.yaml
+++ b/.github/workflows/java-tests.yaml
@@ -43,7 +43,7 @@ jobs:
runs-on: ubuntu-latest
container:
- image: ghcr.io/project-chip/chip-build-java:104
+ image: ghcr.io/project-chip/chip-build-java:113
options: --privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0
net.ipv4.conf.all.forwarding=0 net.ipv6.conf.all.forwarding=0"
@@ -75,7 +75,7 @@ jobs:
# TODO: this direct path loading is not maintainable. Our build system should define and
# support test classes.
run: |
- $JAVA_PATH/bin/java \
+ $JAVA_HOME/bin/java \
-cp 'third_party/java_deps/artifacts/*:out/linux-x64-tests/lib/src/controller/java/*' \
org.junit.runner.JUnitCore \
matter.tlv.TlvWriterTest \
diff --git a/.github/workflows/smoketest-android.yaml b/.github/workflows/smoketest-android.yaml
index 5712f3427dc848..c2adf9f4093a51 100644
--- a/.github/workflows/smoketest-android.yaml
+++ b/.github/workflows/smoketest-android.yaml
@@ -31,13 +31,13 @@ jobs:
name: Smoke Run - Android
env:
- JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64/
+ JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64/
runs-on: ubuntu-latest
if: github.actor != 'restyled-io[bot]'
container:
- image: ghcr.io/project-chip/chip-build-android:108
+ image: ghcr.io/project-chip/chip-build-android:113
volumes:
- "/:/runner-root-volume"
- "/tmp/log_output:/tmp/test_logs"
diff --git a/build/chip/java/config.gni b/build/chip/java/config.gni
index 350b7fdee34717..fc0d5d99cd92be 100644
--- a/build/chip/java/config.gni
+++ b/build/chip/java/config.gni
@@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-java_path = getenv("JAVA_PATH")
+java_home = getenv("JAVA_HOME")
declare_args() {
java_matter_controller_dependent_paths = []
@@ -24,15 +24,15 @@ declare_args() {
matter_enable_tlv_decoder_api = true
matter_enable_java_compilation = false
- if (java_path != "" && (current_os == "linux" || current_os == "mac")) {
- java_matter_controller_dependent_paths += [ "${java_path}/include/" ]
+ if (java_home != "" && (current_os == "linux" || current_os == "mac")) {
+ java_matter_controller_dependent_paths += [ "${java_home}/include/" ]
if (current_os == "mac") {
java_matter_controller_dependent_paths +=
- [ "${java_path}/include/darwin/" ]
+ [ "${java_home}/include/darwin/" ]
} else {
java_matter_controller_dependent_paths +=
- [ "${java_path}/include/linux/" ]
+ [ "${java_home}/include/linux/" ]
}
matter_enable_java_generated_api = false
diff --git a/build/chip/java/jar_runner.py b/build/chip/java/jar_runner.py
index bd8e1762d36c2b..7d3d52e1d37c75 100755
--- a/build/chip/java/jar_runner.py
+++ b/build/chip/java/jar_runner.py
@@ -79,8 +79,8 @@ def FindCommand(command):
def main():
- java_path = FindCommand('jar')
- if not java_path:
+ java_home = FindCommand('jar')
+ if not java_home:
sys.stderr.write('jar: command not found\n')
sys.exit(EXIT_FAILURE)
@@ -89,7 +89,7 @@ def main():
sys.stderr.write('usage: %s [jar_args]...\n' % sys.argv[0])
sys.exit(EXIT_FAILURE)
- return subprocess.check_call([java_path] + args)
+ return subprocess.check_call([java_home] + args)
if __name__ == '__main__':
diff --git a/build/chip/java/javac_runner.py b/build/chip/java/javac_runner.py
index 0e03aa53e8aab9..026153d9b5271d 100755
--- a/build/chip/java/javac_runner.py
+++ b/build/chip/java/javac_runner.py
@@ -93,8 +93,8 @@ def ComputeClasspath(build_config_json):
def main():
- java_path = FindCommand('javac')
- if not java_path:
+ java_home = FindCommand('javac')
+ if not java_home:
sys.stderr.write('javac: command not found\n')
sys.exit(EXIT_FAILURE)
@@ -123,7 +123,7 @@ def main():
build_config_json = ReadBuildConfig(args.build_config)
classpath = ComputeClasspath(build_config_json)
- java_args = [java_path]
+ java_args = [java_home]
if classpath:
java_args += ["-classpath", classpath]
diff --git a/build/chip/java/rules.gni b/build/chip/java/rules.gni
index cbf105f1926f06..dc0d35ccba0177 100644
--- a/build/chip/java/rules.gni
+++ b/build/chip/java/rules.gni
@@ -22,7 +22,7 @@ jar_runner = "${chip_root}/build/chip/java/jar_runner.py"
write_build_config = "${chip_root}/build/chip/java/write_build_config.py"
assert(android_sdk_root != "" || matter_enable_java_compilation,
- "android_sdk_root must be specified or JAVA_PATH must be set.")
+ "android_sdk_root must be specified or JAVA_HOME must be set.")
# Declare a java library target
#
diff --git a/docs/platforms/android/android_building.md b/docs/platforms/android/android_building.md
index 830ff11ed3fb4b..c7b87372e38f84 100644
--- a/docs/platforms/android/android_building.md
+++ b/docs/platforms/android/android_building.md
@@ -56,11 +56,11 @@ downloaded.
4. Apply
3. Install Command Line Tools:
1. Tools -> SDK Manager -> SDK Tools Tab -> Android SDK Command Line Tools
- (latest)
+ 10.0
2. Apply
-4. Install SDK 26:
- 1. Tools -> SDK Manager -> SDK Platforms Tab -> Android 8.0 (Oreo) SDK Level
- 26
+4. Install SDK 30:
+ 1. Tools -> SDK Manager -> SDK Platforms Tab -> Android 11.0 (R) SDK Level
+ 30
2. Apply
5. Install Emulator:
1. Tools -> Device Manager -> Create device -> Pixel 5 -> Android S API 31
@@ -98,21 +98,21 @@ architecture:
### Gradle & JDK Version
-All Android projects utilize Gradle version 7.3.3 and JDK version 17.0.
+All Android projects utilize Gradle version 7.3.3 and JDK version 11.0.
-For developer using openjdk-17-jdk in MacOS, the JAVA_HOME environment variable
-can be configured as follows via `sdkman`:
+For developer using java 11 in MacOS, the JAVA can be configured as follows via
+`sdkman`:
```
-sdk install java 17.0.4.1-tem
+sdk install java 11.0.26-tem
```
-For developer using openjdk-17-jdk in Linux, the JAVA_HOME environment variable
+For developer using openjdk-11-jdk in Linux, the JAVA_HOME environment variable
can be configured as follows:
```
-sudo apt-get install openjdk-17-jdk
-export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
+sudo apt-get install openjdk-11-jdk
+export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
```
diff --git a/examples/android/CHIPTest/BUILD.gn b/examples/android/CHIPTest/BUILD.gn
index 7dee07e6f693c1..e465415a221f72 100644
--- a/examples/android/CHIPTest/BUILD.gn
+++ b/examples/android/CHIPTest/BUILD.gn
@@ -72,7 +72,7 @@ android_library("java") {
}
java_prebuilt("android") {
- jar_path = "${android_sdk_root}/platforms/android-26/android.jar"
+ jar_path = "${android_sdk_root}/platforms/android-30/android.jar"
}
group("default") {
diff --git a/examples/java-matter-controller/README.md b/examples/java-matter-controller/README.md
index 7f557d5e82fc72..46234e02cf514e 100644
--- a/examples/java-matter-controller/README.md
+++ b/examples/java-matter-controller/README.md
@@ -9,8 +9,9 @@ cluster requests to a Matter device
- [Matter Controller Java App Example](#matter-controller-java-app-example)
- [Requirements for building](#requirements-for-building)
+ - [Linux](#linux)
- [Preparing for build](#preparing-for-build)
- - [Building & Running the app](#building--running-the-app)
+ - [Building \& Running the app](#building--running-the-app)
@@ -47,6 +48,8 @@ system. You can install it through the following command as root:
sudo apt install default-jdk
```
+Note: Current matter controller java app example needs java 8+.
+
You also need to install kotlin compiler on your Ubuntu system:
kotlin compiler version 1.8.10 or above is needed to compile
@@ -93,7 +96,7 @@ export PATH="/usr/lib/kotlinc/bin:$PATH"
### Linux
```shell
-export JAVA_PATH=[JDK path]
+export JAVA_HOME=[JDK path]
```
diff --git a/examples/kotlin-matter-controller/README.md b/examples/kotlin-matter-controller/README.md
index 71a954e711e0b5..624df71b544dce 100644
--- a/examples/kotlin-matter-controller/README.md
+++ b/examples/kotlin-matter-controller/README.md
@@ -7,8 +7,9 @@ control Matter accessory devices.
- [Matter Controller Kotlin App Example](#matter-controller-kotlin-app-example)
- [Requirements for building](#requirements-for-building)
+ - [Linux](#linux)
- [Preparing for build](#preparing-for-build)
- - [Building & Running the app](#building--running-the-app)
+ - [Building \& Running the app](#building--running-the-app)
@@ -82,7 +83,7 @@ export PATH="/usr/lib/kotlinc/bin:$PATH"
### Linux
```shell
-export JAVA_PATH=[JDK path]
+export JAVA_HOME=[JDK path]
```
diff --git a/examples/tv-app/android/BUILD.gn b/examples/tv-app/android/BUILD.gn
index f08f16f363e516..4978c5c2173778 100644
--- a/examples/tv-app/android/BUILD.gn
+++ b/examples/tv-app/android/BUILD.gn
@@ -167,11 +167,11 @@ android_library("java") {
javac_flags = [ "-Xlint:deprecation" ]
# TODO: add classpath support (we likely need to add something like
- # ..../platforms/android-26/android.jar to access BLE items)
+ # ..../platforms/android-30/android.jar to access BLE items)
}
java_prebuilt("android") {
- jar_path = "${android_sdk_root}/platforms/android-26/android.jar"
+ jar_path = "${android_sdk_root}/platforms/android-30/android.jar"
}
group("default") {
diff --git a/examples/tv-casting-app/android/BUILD.gn b/examples/tv-casting-app/android/BUILD.gn
index 18937b34d97e52..82f68ad0af1dfe 100644
--- a/examples/tv-casting-app/android/BUILD.gn
+++ b/examples/tv-casting-app/android/BUILD.gn
@@ -120,11 +120,11 @@ android_library("java") {
javac_flags = [ "-Xlint:deprecation" ]
# TODO: add classpath support (we likely need to add something like
- # ..../platforms/android-26/android.jar to access BLE items)
+ # ..../platforms/android-30/android.jar to access BLE items)
}
java_prebuilt("android") {
- jar_path = "${android_sdk_root}/platforms/android-26/android.jar"
+ jar_path = "${android_sdk_root}/platforms/android-30/android.jar"
}
group("default") {
diff --git a/examples/virtual-device-app/android/BUILD.gn b/examples/virtual-device-app/android/BUILD.gn
index 7f071107544719..79b77f5e76810f 100644
--- a/examples/virtual-device-app/android/BUILD.gn
+++ b/examples/virtual-device-app/android/BUILD.gn
@@ -85,11 +85,11 @@ android_library("java") {
javac_flags = [ "-Xlint:deprecation" ]
# TODO: add classpath support (we likely need to add something like
- # ..../platforms/android-26/android.jar to access BLE items)
+ # ..../platforms/android-30/android.jar to access BLE items)
}
java_prebuilt("android") {
- jar_path = "${android_sdk_root}/platforms/android-26/android.jar"
+ jar_path = "${android_sdk_root}/platforms/android-30/android.jar"
}
group("default") {
diff --git a/integrations/cloudbuild/smoke-test.yaml b/integrations/cloudbuild/smoke-test.yaml
index b1100a8adc166f..174ef4b8bfe32b 100644
--- a/integrations/cloudbuild/smoke-test.yaml
+++ b/integrations/cloudbuild/smoke-test.yaml
@@ -140,7 +140,7 @@ steps:
- name: pwenv
path: /pwenv
- - name: "ghcr.io/project-chip/chip-build-vscode:112"
+ - name: "ghcr.io/project-chip/chip-build-vscode:113"
id: Android
env:
- PW_ENVIRONMENT_ROOT=/pwenv
diff --git a/scripts/build/builders/android.py b/scripts/build/builders/android.py
index 3f640177f190ad..fa112e9aaf7911 100644
--- a/scripts/build/builders/android.py
+++ b/scripts/build/builders/android.py
@@ -164,9 +164,9 @@ def validate_build_environment(self):
os.environ["ANDROID_HOME"], "tools", "bin", "sdkmanager"
)
- # New SDK manager at cmdline-tools/latest/bin/
+ # New SDK manager at cmdline-tools/10.0/bin/
new_sdk_manager = os.path.join(
- os.environ["ANDROID_HOME"], "cmdline-tools", "latest", "bin", "sdkmanager"
+ os.environ["ANDROID_HOME"], "cmdline-tools", "10.0", "bin", "sdkmanager"
)
if not (
os.path.isfile(sdk_manager) and os.access(sdk_manager, os.X_OK)
@@ -413,7 +413,7 @@ def generate(self):
new_sdk_manager = os.path.join(
os.environ["ANDROID_HOME"],
"cmdline-tools",
- "latest",
+ "10.0",
"bin",
"sdkmanager",
)
diff --git a/scripts/build/builders/host.py b/scripts/build/builders/host.py
index 8dd1cf3e93dd98..b6f46a509d06dc 100644
--- a/scripts/build/builders/host.py
+++ b/scripts/build/builders/host.py
@@ -556,7 +556,7 @@ def SysRootPath(self, name):
def generate(self):
super(HostBuilder, self).generate()
- if 'JAVA_PATH' in os.environ:
+ if 'JAVA_HOME' in os.environ:
self._Execute(
["third_party/java_deps/set_up_java_deps.sh"],
title="Setting up Java deps",
diff --git a/scripts/build/test.py b/scripts/build/test.py
index f1488ba17b870a..6fa25fec257443 100644
--- a/scripts/build/test.py
+++ b/scripts/build/test.py
@@ -47,7 +47,7 @@ def build_actual_output(root: str, out: str, args: List[str]) -> List[str]:
'NXP_K32W0_SDK_ROOT': 'TEST_NXP_K32W0_SDK_ROOT',
'IMX_SDK_ROOT': 'IMX_SDK_ROOT',
'TI_SYSCONFIG_ROOT': 'TEST_TI_SYSCONFIG_ROOT',
- 'JAVA_PATH': 'TEST_JAVA_PATH',
+ 'JAVA_HOME': 'TEST_JAVA_HOME',
'GSDK_ROOT': 'TEST_GSDK_ROOT',
'WISECONNECT_SDK_ROOT': 'TEST_WISECONNECT_SDK_ROOT',
'WIFI_SDK_ROOT': 'TEST_WIFI_SDK_ROOT',
diff --git a/src/app/server/java/BUILD.gn b/src/app/server/java/BUILD.gn
index deb85f7da22adc..f70157f65ce9c1 100644
--- a/src/app/server/java/BUILD.gn
+++ b/src/app/server/java/BUILD.gn
@@ -74,9 +74,9 @@ android_library("java") {
javac_flags = [ "-Xlint:deprecation" ]
# TODO: add classpath support (we likely need to add something like
- # ..../platforms/android-26/android.jar to access BLE items)
+ # ..../platforms/android-30/android.jar to access BLE items)
}
java_prebuilt("android") {
- jar_path = "${android_sdk_root}/platforms/android-26/android.jar"
+ jar_path = "${android_sdk_root}/platforms/android-30/android.jar"
}
diff --git a/src/controller/java/BUILD.gn b/src/controller/java/BUILD.gn
index f8eeee3fd7b93b..0ddc1f8a2a7d43 100644
--- a/src/controller/java/BUILD.gn
+++ b/src/controller/java/BUILD.gn
@@ -679,7 +679,7 @@ android_library("java") {
]
# TODO: add classpath support (we likely need to add something like
- # ..../platforms/android-26/android.jar to access BLE items)
+ # ..../platforms/android-30/android.jar to access BLE items)
}
if (chip_link_tests) {
@@ -711,7 +711,7 @@ if (chip_link_tests) {
javac_flags = [ "-Xlint:deprecation" ]
# TODO: add classpath support (we likely need to add something like
- # ..../platforms/android-26/android.jar to access BLE items)
+ # ..../platforms/android-30/android.jar to access BLE items)
}
android_library("tests") {
@@ -746,12 +746,12 @@ if (chip_link_tests) {
javac_flags = [ "-Xlint:deprecation" ]
# TODO: add classpath support (we likely need to add something like
- # ..../platforms/android-26/android.jar to access BLE items)
+ # ..../platforms/android-30/android.jar to access BLE items)
}
}
if (!matter_enable_java_compilation) {
java_prebuilt("android") {
- jar_path = "${android_sdk_root}/platforms/android-26/android.jar"
+ jar_path = "${android_sdk_root}/platforms/android-30/android.jar"
}
}
diff --git a/src/messaging/tests/java/BUILD.gn b/src/messaging/tests/java/BUILD.gn
index c33257846ca8f5..021d937add2a0c 100644
--- a/src/messaging/tests/java/BUILD.gn
+++ b/src/messaging/tests/java/BUILD.gn
@@ -79,11 +79,11 @@ android_library("java") {
javac_flags = [ "-Xlint:deprecation" ]
# TODO: add classpath support (we likely need to add something like
- # ..../platforms/android-26/android.jar to access BLE items)
+ # ..../platforms/android-30/android.jar to access BLE items)
}
if (!matter_enable_java_compilation) {
java_prebuilt("android") {
- jar_path = "${android_sdk_root}/platforms/android-26/android.jar"
+ jar_path = "${android_sdk_root}/platforms/android-30/android.jar"
}
}
diff --git a/src/platform/android/BUILD.gn b/src/platform/android/BUILD.gn
index e5e915a850fa06..52be2673fffdb9 100644
--- a/src/platform/android/BUILD.gn
+++ b/src/platform/android/BUILD.gn
@@ -142,5 +142,5 @@ android_library("java") {
}
java_prebuilt("android_sdk") {
- jar_path = "${android_sdk_root}/platforms/android-26/android.jar"
+ jar_path = "${android_sdk_root}/platforms/android-30/android.jar"
}