build.gradle 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. apply plugin: 'com.android.library'
  2. apply from: rootProject.projectDir.absolutePath + "/VideoGradle/video.gradle"
  3. android {
  4. compileSdkVersion project.ext.androidCompileSdkVersion
  5. buildToolsVersion project.ext.androidBuildToolsVersion
  6. defaultConfig {
  7. minSdkVersion project.ext.androidMinSdkVersion
  8. targetSdkVersion project.ext.androidTargetSdkVersion
  9. versionCode 36
  10. versionName "3.0.6"
  11. }
  12. buildTypes {
  13. release {
  14. minifyEnabled false
  15. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  16. }
  17. }
  18. }
  19. dependencies {
  20. implementation fileTree(dir: "libs", include: ["*.jar"])
  21. //这两个是必须要加的,其它的可供选择
  22. api 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
  23. api 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.4'
  24. //其他库文件
  25. //implementation 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8'
  26. //implementation 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.8'
  27. //implementation 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.8'
  28. //implementation 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.8'
  29. //谷歌播放器
  30. api "com.google.android.exoplayer:exoplayer:2.11.3"
  31. //exoplayer-core:核心功能 (必要)
  32. api "com.google.android.exoplayer:exoplayer-core:2.11.3"
  33. //exoplayer-dash:支持DASH内容
  34. api "com.google.android.exoplayer:exoplayer-dash:2.11.3"
  35. //exoplayer-hls:支持HLS内容
  36. api "com.google.android.exoplayer:exoplayer-hls:2.11.3"
  37. //exoplayer-smoothstreaming:支持SmoothStreaming内容
  38. api "com.google.android.exoplayer:exoplayer-smoothstreaming:2.11.3"
  39. api "com.google.android.exoplayer:extension-rtmp:2.11.3"
  40. implementation project(':VideoTool')
  41. }
  42. /** 以下开始是将Android Library上传到jcenter的相关配置**/
  43. apply plugin: 'com.github.dcendents.android-maven'
  44. apply plugin: 'com.jfrog.bintray'
  45. //项目主页
  46. def siteUrl = 'https://github.com/yangchong211/YCVideoPlayer' // project homepage
  47. //项目的版本控制地址
  48. def gitUrl = 'https://github.com/yangchong211/YCVideoPlayer.git' // project git
  49. //发布到组织名称名字,必须填写
  50. group = "cn.yc"
  51. //发布到JCenter上的项目名字,必须填写
  52. def libName = "YCVideoKernelLib"
  53. // 版本号,下次更新是只需要更改版本号即可
  54. version = "3.0.6"
  55. /** 上面配置后上传至jcenter后的编译路径是这样的: compile 'cn.yc:YCVideoKernelLib:1.0.0' **/
  56. //生成源文件
  57. task sourcesJar(type: Jar) {
  58. from android.sourceSets.main.java.srcDirs
  59. classifier = 'sources'
  60. }
  61. //生成文档
  62. task javadoc(type: Javadoc) {
  63. source = android.sourceSets.main.java.srcDirs
  64. classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
  65. options.encoding "UTF-8"
  66. options.charSet 'UTF-8'
  67. options.author true
  68. options.version true
  69. options.links "https://github.com/linglongxin24/FastDev/tree/master/mylibrary/docs/javadoc"
  70. failOnError false
  71. }
  72. //文档打包成jar
  73. task javadocJar(type: Jar, dependsOn: javadoc) {
  74. classifier = 'javadoc'
  75. from javadoc.destinationDir
  76. }
  77. //拷贝javadoc文件
  78. task copyDoc(type: Copy) {
  79. from "${buildDir}/docs/"
  80. into "docs"
  81. }
  82. //上传到jcenter所需要的源码文件
  83. artifacts {
  84. archives javadocJar
  85. archives sourcesJar
  86. }
  87. // 配置maven库,生成POM.xml文件
  88. install {
  89. repositories.mavenInstaller {
  90. // This generates POM.xml with proper parameters
  91. pom {
  92. project {
  93. packaging 'aar'
  94. //项目描述,自由填写
  95. name 'This is video kernel lib'
  96. url siteUrl
  97. licenses {
  98. license {
  99. //开源协议
  100. name 'The Apache Software License, Version 2.0'
  101. url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
  102. }
  103. }
  104. developers {
  105. developer {
  106. //开发者的个人信息,根据个人信息填写
  107. id 'yangchong'
  108. name 'yc'
  109. email 'yangchong211@163.com'
  110. }
  111. }
  112. scm {
  113. connection gitUrl
  114. developerConnection gitUrl
  115. url siteUrl
  116. }
  117. }
  118. }
  119. }
  120. }
  121. //上传到jcenter
  122. Properties properties = new Properties()
  123. properties.load(project.rootProject.file('local.properties').newDataInputStream())
  124. bintray {
  125. user = properties.getProperty("bintray.user") //读取 local.properties 文件里面的 bintray.user
  126. key = properties.getProperty("bintray.apikey") //读取 local.properties 文件里面的 bintray.apikey
  127. configurations = ['archives']
  128. pkg {
  129. repo = "maven"
  130. name = libName //发布到JCenter上的项目名字,必须填写
  131. desc = 'android video kernel' //项目描述
  132. websiteUrl = siteUrl
  133. vcsUrl = gitUrl
  134. licenses = ["Apache-2.0"]
  135. publish = true
  136. }
  137. }
  138. javadoc {
  139. options {
  140. //如果你的项目里面有中文注释的话,必须将格式设置为UTF-8,不然会出现乱码
  141. encoding "UTF-8"
  142. charSet 'UTF-8'
  143. author true
  144. version true
  145. links "http://docs.oracle.com/javase/7/docs/api"
  146. }
  147. }