
The current code flags a lint error: ``` Error: Call requires API level 24 (current min is 16): java.lang.Iterable#forEach [NewApi] ``` I think this is a bit confusing because this is calling the Java [`Iterable.forEach`](https://developer.android.com/reference/java/lang/Iterable#forEach(java.util.function.Consumer%3C?%20super%20T%3E)) method which was added in Java 8 (and therefore is only available on API 24 and up), but there is **also** a Kotlin [`List.forEach`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/for-each.html) method which is available in all versions of Kotlin (and therefore all Android versions). Since this is a Kotlin file, at first glance you would assume this is the Kotlin method - but it's not. This also doesn't seem to be flagged by Android Studio, but is caught by Gradle lint on the command line. #minor-release PiperOrigin-RevId: 529112610
Demos
This directory contains apps that demonstrate how to use Android media modules, like ExoPlayer. Browse the individual demos and their READMEs to learn more.
Running a demo
From Android Studio
- File -> New -> Import Project -> Specify the root
media
folder. - Choose the demo from the run configuration dropdown list.
- Click Run.
Using gradle from the command line:
- Open a Terminal window at the root
media
folder. - Run
./gradlew projects
to show all projects. Demo projects start withdemo
. - Run
./gradlew :<demo name>:tasks
to view the list of available tasks for the demo project. Choose an install option from theInstall tasks
section. - Run
./gradlew :<demo name>:<install task>
.
For example, ./gradlew :demo:installNoDecoderExtensionsDebug
installs the
ExoPlayer demo app in debug mode with no optional modules.