
We originally upgraded to 4.10 in889f435a49
However I saw `ShadowActivityThread.reset: ActivityThread not set` errors when running any Robolectric test, so I downgraded to 4.8.1:85e449cd87
Nobody else on the team was seeing the same error with 4.10, so it was something different about my local setup. The error was actually masking a different problem (see discussion: https://github.com/robolectric/robolectric/issues/8160). Upgrading to 4.10.1 made the underlying error clear: ``` java.lang.UnsatisfiedLinkError: /tmp/libconscrypt_openjdk_jni-linux-x86_6416831044223480000.so: libstdc++.so.6: cannot open shared object file: No such file or directory ``` This was then fixed by changing my 'Gradle JDK' value in Android Studio from a JDK 11-based value to a 17-based one. If others see the same `UnsatisfiedLinkError` when running the tests locally they should check their Gradle JDK setting in Android Studio. However there was **another** problem with 4.10 that **did** affect everyone: some tests in `ExoPlayerTest` would fail with time outs or assertion failures related to clock advancement. After some investigation in https://github.com/robolectric/robolectric/issues/8187 it turns out this is because there's lots of unrelease `Player` instances in `ExoPlayerTest`, which keep lots of active `HandlerThreads` that then have to all be woken up by Robolectric. 4.10.3 has a fix that mitigates this, so we can upgrade immediately - but we should also release all the `Player` instances in `ExoPlayerTest` (it might speed up test execution too). PiperOrigin-RevId: 533068395
67 lines
2.8 KiB
Groovy
67 lines
2.8 KiB
Groovy
// Copyright 2017 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
project.ext {
|
|
releaseVersion = '1.1.0-alpha01'
|
|
releaseVersionCode = 1_001_000_0_01
|
|
minSdkVersion = 16
|
|
appTargetSdkVersion = 33
|
|
// API version before restricting local file access.
|
|
// https://developer.android.com/training/data-storage/app-specific
|
|
mainDemoAppTargetSdkVersion = 29
|
|
// Upgrading this requires [Internal ref: b/193254928] to be fixed, or some
|
|
// additional robolectric config.
|
|
targetSdkVersion = 30
|
|
compileSdkVersion = 33
|
|
dexmakerVersion = '2.28.3'
|
|
junitVersion = '4.13.2'
|
|
// Use the same Guava version as the Android repo:
|
|
// https://cs.android.com/android/platform/superproject/+/master:external/guava/METADATA
|
|
guavaVersion = '31.1-android'
|
|
mockitoVersion = '3.12.4'
|
|
robolectricVersion = '4.10.3'
|
|
// Keep this in sync with Google's internal Checker Framework version.
|
|
checkerframeworkVersion = '3.13.0'
|
|
checkerframeworkCompatVersion = '2.5.5'
|
|
errorProneVersion = '2.18.0'
|
|
jsr305Version = '3.0.2'
|
|
kotlinAnnotationsVersion = '1.8.20'
|
|
// Updating this to 1.4.0+ will import Kotlin stdlib [internal ref: b/277891049].
|
|
androidxAnnotationVersion = '1.3.0'
|
|
// Updating this to 1.3.0+ will import Kotlin stdlib [internal ref: b/277891049].
|
|
androidxAnnotationExperimentalVersion = '1.2.0'
|
|
androidxAppCompatVersion = '1.6.1'
|
|
androidxCollectionVersion = '1.2.0'
|
|
androidxConstraintLayoutVersion = '2.1.4'
|
|
// Updating this to 1.9.0+ will import Kotlin stdlib [internal ref: b/277891049].
|
|
androidxCoreVersion = '1.8.0'
|
|
androidxFuturesVersion = '1.1.0'
|
|
androidxMediaVersion = '1.6.0'
|
|
androidxMedia2Version = '1.2.1'
|
|
androidxMultidexVersion = '2.0.1'
|
|
androidxRecyclerViewVersion = '1.3.0'
|
|
androidxMaterialVersion = '1.8.0'
|
|
androidxTestCoreVersion = '1.5.0'
|
|
androidxTestJUnitVersion = '1.1.5'
|
|
androidxTestRunnerVersion = '1.5.2'
|
|
androidxTestRulesVersion = '1.5.0'
|
|
androidxTestServicesStorageVersion = '1.4.2'
|
|
androidxTestTruthVersion = '1.5.0'
|
|
truthVersion = '1.1.3'
|
|
okhttpVersion = '4.11.0'
|
|
modulePrefix = ':'
|
|
if (gradle.ext.has('androidxMediaModulePrefix')) {
|
|
modulePrefix += gradle.ext.androidxMediaModulePrefix
|
|
}
|
|
}
|