build.gradle 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. apply plugin: 'com.android.library'
  2. apply from: 'lebian_cust.gradle'
  3. if (rootProject.extensions.getByName('ext').properties.containsKey('lebian_internal_only')) {
  4. if (rootProject.extensions.getByName('ext').properties.get('lebian_internal_only')) {
  5. println("[LEBIAN] lebian_internal_only true")
  6. apply from: 'internal_use_only'
  7. }
  8. }
  9. boolean enable_regeng = getValueFromSettings("use_regeng").toBoolean()
  10. boolean enable_fenbao = getValueFromSettings("use_streaming").toBoolean()
  11. boolean enable_handle_assetmanager = getValueFromSettings("streaming_handle_assetmanager").toBoolean()
  12. android {
  13. compileSdkVersion 29
  14. buildToolsVersion '29.0.1'
  15. defaultConfig {
  16. println "[LEBIAN] cust cfg=[enable_fenbao=${enable_fenbao}, enable_handle_assetmanager=${enable_handle_assetmanager}, enable_regeng=${enable_regeng}]"
  17. minSdkVersion 16
  18. targetSdkVersion 29
  19. manifestPlaceholders = [
  20. "MainChId": lebian.meta_MainChId,
  21. "ClientChId": lebian.meta_ClientChId,
  22. "LEBIAN_SECID": lebian.meta_LEBIAN_SECID,
  23. "LEBIAN_VERCODE": lebian.meta_LEBIAN_VERCODE,
  24. "LBCloudId": lebian.meta_LBCloudId,
  25. "LEBIAN_APPLICATION": 'com.excelliance.open.LBApplication',
  26. "screenOrientation": lebian.screenOrientation,
  27. "lb_target_pkgname": (lebian.packageName ? lebian.packageName :'${applicationId}'),
  28. "lb_task_Affinity": (lebian.taskAffinity ? lebian.taskAffinity :'${applicationId}')
  29. ]
  30. }
  31. lintOptions {
  32. checkReleaseBuilds false
  33. abortOnError false
  34. }
  35. buildTypes {
  36. debug {
  37. minifyEnabled false
  38. proguardFiles getDefaultProguardFile('proguard-android.txt'), "proguard-rules.pro"
  39. }
  40. release {
  41. minifyEnabled false
  42. proguardFiles getDefaultProguardFile('proguard-android.txt'), "proguard-rules.pro"
  43. }
  44. }
  45. sourceSets {
  46. main {
  47. if (enable_fenbao && enable_regeng) {
  48. manifest.srcFile 'src/regeng/AndroidManifest.xml'
  49. if (enable_handle_assetmanager) {
  50. assets.srcDirs += 'src/fenbao-am-with-regeng/assets'
  51. } else {
  52. assets.srcDirs += 'src/fenbao-with-regeng/assets'
  53. }
  54. } else if (enable_regeng) {
  55. manifest.srcFile 'src/regeng/AndroidManifest.xml'
  56. assets.srcDirs += 'src/regeng/assets'
  57. } else if (enable_fenbao) {
  58. if (enable_handle_assetmanager) {
  59. assets.srcDirs += 'src/fenbao-am-lite/assets'
  60. } else {
  61. assets.srcDirs += 'src/fenbao-lite/assets'
  62. }
  63. }
  64. }
  65. }
  66. }
  67. afterEvaluate {
  68. if (!project.file('libs/lebianbase.jar').exists()) {
  69. tasks.getByName('preBuild').dependsOn(':sdkapk:buildBase')
  70. }
  71. }
  72. dependencies {
  73. api fileTree(include: ['*.jar'], dir: 'libs')
  74. }
  75. def getValueFromSettings(taget) {
  76. def ret
  77. def xmlFile = "${rootDir}/lebian/src/main/assets/lebian/globalSettings.xml"
  78. def xmlParser = new groovy.util.XmlParser()
  79. def result = xmlParser.parse(xmlFile)
  80. result.setting.each {
  81. def key = it.attributes().get("key")
  82. if (key == taget) {
  83. ret = it.attributes().get("value")
  84. println ret
  85. }
  86. }
  87. return ret
  88. }