Skip to content

Commit

Permalink
[Android] update android sdk version (#37445)
Browse files Browse the repository at this point in the history
* update android sdk version

* Update full-android.yaml

* Update smoketest-android.yaml

* Update smoke-test.yaml

* Update full-android.yaml

* Update smoketest-android.yaml

* Update smoke-test.yaml

* Update java-tests.yaml

* Update android_building.md

* Update README.md

* Restyled by prettier-markdown

* Update full-android.yaml

* Update java-tests.yaml

* Update smoketest-android.yaml

* Update smoke-test.yaml

* Update smoketest-android.yaml

* Update full-android.yaml

* update java_path with java_home

---------

Co-authored-by: Restyled.io <commits@restyled.io>
  • Loading branch information
yunhanw-google and restyled-commits authored Feb 12, 2025
1 parent b154ce6 commit e5a49c8
Show file tree
Hide file tree
Showing 22 changed files with 59 additions and 55 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/full-android.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/java-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down Expand Up @@ -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 \
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/smoketest-android.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
10 changes: 5 additions & 5 deletions build/chip/java/config.gni
Original file line number Diff line number Diff line change
Expand Up @@ -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 = []

Expand All @@ -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
Expand Down
6 changes: 3 additions & 3 deletions build/chip/java/jar_runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand All @@ -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__':
Expand Down
6 changes: 3 additions & 3 deletions build/chip/java/javac_runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down Expand Up @@ -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]

Expand Down
2 changes: 1 addition & 1 deletion build/chip/java/rules.gni
Original file line number Diff line number Diff line change
Expand Up @@ -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
#
Expand Down
22 changes: 11 additions & 11 deletions docs/platforms/android/android_building.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
```

<a name="kotlin"></a>
Expand Down
2 changes: 1 addition & 1 deletion examples/android/CHIPTest/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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") {
Expand Down
7 changes: 5 additions & 2 deletions examples/java-matter-controller/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

<hr>

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -93,7 +96,7 @@ export PATH="/usr/lib/kotlinc/bin:$PATH"
### Linux

```shell
export JAVA_PATH=[JDK path]
export JAVA_HOME=[JDK path]
```

<hr>
Expand Down
5 changes: 3 additions & 2 deletions examples/kotlin-matter-controller/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

<hr>

Expand Down Expand Up @@ -82,7 +83,7 @@ export PATH="/usr/lib/kotlinc/bin:$PATH"
### Linux

```shell
export JAVA_PATH=[JDK path]
export JAVA_HOME=[JDK path]
```

<hr>
Expand Down
4 changes: 2 additions & 2 deletions examples/tv-app/android/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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") {
Expand Down
4 changes: 2 additions & 2 deletions examples/tv-casting-app/android/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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") {
Expand Down
4 changes: 2 additions & 2 deletions examples/virtual-device-app/android/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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") {
Expand Down
2 changes: 1 addition & 1 deletion integrations/cloudbuild/smoke-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions scripts/build/builders/android.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -413,7 +413,7 @@ def generate(self):
new_sdk_manager = os.path.join(
os.environ["ANDROID_HOME"],
"cmdline-tools",
"latest",
"10.0",
"bin",
"sdkmanager",
)
Expand Down
2 changes: 1 addition & 1 deletion scripts/build/builders/host.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
2 changes: 1 addition & 1 deletion scripts/build/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down
4 changes: 2 additions & 2 deletions src/app/server/java/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
8 changes: 4 additions & 4 deletions src/controller/java/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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") {
Expand Down Expand Up @@ -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"
}
}
4 changes: 2 additions & 2 deletions src/messaging/tests/java/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}
}
2 changes: 1 addition & 1 deletion src/platform/android/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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"
}

0 comments on commit e5a49c8

Please sign in to comment.