mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Use gradle dependencies for Cronet extension
This also allows us to distribute the extension via jCenter ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=207874626
This commit is contained in:
parent
eda408dc09
commit
63bfa3d413
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
### dev-v2 (not yet released) ###
|
### dev-v2 (not yet released) ###
|
||||||
|
|
||||||
|
* Distribute Cronet extension via jCenter.
|
||||||
* Add `AudioListener` for listening to changes in audio configuration during
|
* Add `AudioListener` for listening to changes in audio configuration during
|
||||||
playback ([#3994](https://github.com/google/ExoPlayer/issues/3994)).
|
playback ([#3994](https://github.com/google/ExoPlayer/issues/3994)).
|
||||||
* Improved seeking support:
|
* Improved seeking support:
|
||||||
|
@ -30,6 +30,7 @@ include modulePrefix + 'extension-flac'
|
|||||||
include modulePrefix + 'extension-gvr'
|
include modulePrefix + 'extension-gvr'
|
||||||
include modulePrefix + 'extension-ima'
|
include modulePrefix + 'extension-ima'
|
||||||
include modulePrefix + 'extension-cast'
|
include modulePrefix + 'extension-cast'
|
||||||
|
include modulePrefix + 'extension-cronet'
|
||||||
include modulePrefix + 'extension-mediasession'
|
include modulePrefix + 'extension-mediasession'
|
||||||
include modulePrefix + 'extension-okhttp'
|
include modulePrefix + 'extension-okhttp'
|
||||||
include modulePrefix + 'extension-opus'
|
include modulePrefix + 'extension-opus'
|
||||||
@ -51,6 +52,7 @@ project(modulePrefix + 'extension-flac').projectDir = new File(rootDir, 'extensi
|
|||||||
project(modulePrefix + 'extension-gvr').projectDir = new File(rootDir, 'extensions/gvr')
|
project(modulePrefix + 'extension-gvr').projectDir = new File(rootDir, 'extensions/gvr')
|
||||||
project(modulePrefix + 'extension-ima').projectDir = new File(rootDir, 'extensions/ima')
|
project(modulePrefix + 'extension-ima').projectDir = new File(rootDir, 'extensions/ima')
|
||||||
project(modulePrefix + 'extension-cast').projectDir = new File(rootDir, 'extensions/cast')
|
project(modulePrefix + 'extension-cast').projectDir = new File(rootDir, 'extensions/cast')
|
||||||
|
project(modulePrefix + 'extension-cronet').projectDir = new File(rootDir, 'extensions/cronet')
|
||||||
project(modulePrefix + 'extension-mediasession').projectDir = new File(rootDir, 'extensions/mediasession')
|
project(modulePrefix + 'extension-mediasession').projectDir = new File(rootDir, 'extensions/mediasession')
|
||||||
project(modulePrefix + 'extension-okhttp').projectDir = new File(rootDir, 'extensions/okhttp')
|
project(modulePrefix + 'extension-okhttp').projectDir = new File(rootDir, 'extensions/okhttp')
|
||||||
project(modulePrefix + 'extension-opus').projectDir = new File(rootDir, 'extensions/opus')
|
project(modulePrefix + 'extension-opus').projectDir = new File(rootDir, 'extensions/opus')
|
||||||
@ -58,9 +60,3 @@ project(modulePrefix + 'extension-vp9').projectDir = new File(rootDir, 'extensio
|
|||||||
project(modulePrefix + 'extension-rtmp').projectDir = new File(rootDir, 'extensions/rtmp')
|
project(modulePrefix + 'extension-rtmp').projectDir = new File(rootDir, 'extensions/rtmp')
|
||||||
project(modulePrefix + 'extension-leanback').projectDir = new File(rootDir, 'extensions/leanback')
|
project(modulePrefix + 'extension-leanback').projectDir = new File(rootDir, 'extensions/leanback')
|
||||||
project(modulePrefix + 'extension-jobdispatcher').projectDir = new File(rootDir, 'extensions/jobdispatcher')
|
project(modulePrefix + 'extension-jobdispatcher').projectDir = new File(rootDir, 'extensions/jobdispatcher')
|
||||||
|
|
||||||
if (gradle.ext.has('exoplayerIncludeCronetExtension')
|
|
||||||
&& gradle.ext.exoplayerIncludeCronetExtension) {
|
|
||||||
include modulePrefix + 'extension-cronet'
|
|
||||||
project(modulePrefix + 'extension-cronet').projectDir = new File(rootDir, 'extensions/cronet')
|
|
||||||
}
|
|
||||||
|
@ -5,37 +5,22 @@ The Cronet extension is an [HttpDataSource][] implementation using [Cronet][].
|
|||||||
[HttpDataSource]: https://google.github.io/ExoPlayer/doc/reference/com/google/android/exoplayer2/upstream/HttpDataSource.html
|
[HttpDataSource]: https://google.github.io/ExoPlayer/doc/reference/com/google/android/exoplayer2/upstream/HttpDataSource.html
|
||||||
[Cronet]: https://chromium.googlesource.com/chromium/src/+/master/components/cronet?autodive=0%2F%2F
|
[Cronet]: https://chromium.googlesource.com/chromium/src/+/master/components/cronet?autodive=0%2F%2F
|
||||||
|
|
||||||
## Build instructions ##
|
## Getting the extension ##
|
||||||
|
|
||||||
To use this extension you need to clone the ExoPlayer repository and depend on
|
The easiest way to use the extension is to add it as a gradle dependency:
|
||||||
its modules locally. Instructions for doing this can be found in ExoPlayer's
|
|
||||||
[top level README][]. In addition, it's necessary to get the Cronet libraries
|
|
||||||
and enable the extension:
|
|
||||||
|
|
||||||
1. Find the latest Cronet release [here][] and navigate to its `Release/cronet`
|
```gradle
|
||||||
directory
|
implementation 'com.google.android.exoplayer:extension-cronet:2.X.X'
|
||||||
1. Download `cronet_api.jar`, `cronet_impl_common_java.jar`,
|
```
|
||||||
`cronet_impl_native_java.jar` and the `libs` directory
|
|
||||||
1. Copy the three jar files into the `libs` directory of this extension
|
where `2.X.X` is the version, which must match the version of the ExoPlayer
|
||||||
1. Copy the content of the downloaded `libs` directory into the `jniLibs`
|
library being used.
|
||||||
directory of this extension
|
|
||||||
1. In your `settings.gradle` file, add
|
Alternatively, you can clone the ExoPlayer repository and depend on the module
|
||||||
`gradle.ext.exoplayerIncludeCronetExtension = true` before the line that
|
locally. Instructions for doing this can be found in ExoPlayer's
|
||||||
applies `core_settings.gradle`.
|
[top level README][].
|
||||||
1. In all `build.gradle` files where this extension is linked as a dependency,
|
|
||||||
add
|
|
||||||
```
|
|
||||||
android {
|
|
||||||
compileOptions {
|
|
||||||
sourceCompatibility JavaVersion.VERSION_1_8
|
|
||||||
targetCompatibility JavaVersion.VERSION_1_8
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
to enable Java 8 features required by the Cronet library.
|
|
||||||
|
|
||||||
[top level README]: https://github.com/google/ExoPlayer/blob/release-v2/README.md
|
[top level README]: https://github.com/google/ExoPlayer/blob/release-v2/README.md
|
||||||
[here]: https://console.cloud.google.com/storage/browser/chromium-cronet/android
|
|
||||||
|
|
||||||
## Using the extension ##
|
## Using the extension ##
|
||||||
|
|
||||||
|
@ -19,14 +19,10 @@ android {
|
|||||||
buildToolsVersion project.ext.buildToolsVersion
|
buildToolsVersion project.ext.buildToolsVersion
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion project.ext.minSdkVersion
|
minSdkVersion 16
|
||||||
targetSdkVersion project.ext.targetSdkVersion
|
targetSdkVersion project.ext.targetSdkVersion
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceSets.main {
|
|
||||||
jniLibs.srcDirs = ['jniLibs']
|
|
||||||
}
|
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
sourceCompatibility JavaVersion.VERSION_1_8
|
sourceCompatibility JavaVersion.VERSION_1_8
|
||||||
targetCompatibility JavaVersion.VERSION_1_8
|
targetCompatibility JavaVersion.VERSION_1_8
|
||||||
@ -34,9 +30,7 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
api files('libs/cronet_api.jar')
|
api 'org.chromium.net:cronet-embedded:66.3359.158'
|
||||||
implementation files('libs/cronet_impl_common_java.jar')
|
|
||||||
implementation files('libs/cronet_impl_native_java.jar')
|
|
||||||
implementation project(modulePrefix + 'library-core')
|
implementation project(modulePrefix + 'library-core')
|
||||||
implementation 'com.android.support:support-annotations:' + supportLibraryVersion
|
implementation 'com.android.support:support-annotations:' + supportLibraryVersion
|
||||||
testImplementation project(modulePrefix + 'library')
|
testImplementation project(modulePrefix + 'library')
|
||||||
@ -47,3 +41,9 @@ ext {
|
|||||||
javadocTitle = 'Cronet extension'
|
javadocTitle = 'Cronet extension'
|
||||||
}
|
}
|
||||||
apply from: '../../javadoc_library.gradle'
|
apply from: '../../javadoc_library.gradle'
|
||||||
|
|
||||||
|
ext {
|
||||||
|
releaseArtifact = 'extension-cronet'
|
||||||
|
releaseDescription = 'Cronet extension for ExoPlayer.'
|
||||||
|
}
|
||||||
|
apply from: '../../publish.gradle'
|
||||||
|
@ -1 +0,0 @@
|
|||||||
Copy folders containing architecture specific .so files here.
|
|
@ -1 +0,0 @@
|
|||||||
Copy cronet.jar and cronet_api.jar here.
|
|
Loading…
x
Reference in New Issue
Block a user