How to exclude files from aar with Gradle dynamically?

帅比萌擦擦* 提交于 2019-12-01 15:50:24

Actually i was able to do it myself:

apply plugin: 'com.android.library'

android {
  compileSdkVersion 16
  buildToolsVersion "25.0.0"

  defaultConfig {
    minSdkVersion 11
    targetSdkVersion 16
    versionCode 1
    versionName "1.0"

    ndk {
      abiFilters 'armeabi-v7a'
    }
  }

  externalNativeBuild {
    ndkBuild {
      path 'jni/Android.mk'
    }
  }

  sourceSets {
    main {
      manifest.srcFile 'AndroidManifest.xml'
      java.srcDirs = ['src']
      res.srcDirs = ['res']
      jni.srcDirs = ['jni']
    }
  }

  def sharedV8LibFilesSet = []
  def sharedV8LibFiles = System.getenv('SHARED_V8_LIB_FILENAMES')
  if (sharedV8LibFiles != null) {
    def sharedV8LibFilesArray = sharedV8LibFiles.split(' ')
    sharedV8LibFilesArray.each { eachFileName ->
      sharedV8LibFilesSet.add("**/" + eachFileName)
      println "[Configuration] Excluding shared v8 library " + eachFileName + " from AAR"
    }
  } else {
    println "[Configuration] No shared v8 libraries excluded from AAR"
  }

  packagingOptions {
    excludes = sharedV8LibFilesSet
  }
}

Any code style changes/improvements appreciated.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!