Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Android] update android sdk version #37445

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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"
}
Loading