apply plugin: 'com.android.library'
apply from: 'lebian_cust.gradle'
if (rootProject.extensions.getByName('ext').properties.containsKey('lebian_internal_only')) {
if (rootProject.extensions.getByName('ext').properties.get('lebian_internal_only')) {
println("[LEBIAN] lebian_internal_only true")
apply from: 'internal_use_only'
}
}
boolean enable_regeng = getValueFromSettings("use_regeng").toBoolean()
boolean enable_fenbao = getValueFromSettings("use_streaming").toBoolean()
boolean enable_handle_assetmanager = getValueFromSettings("streaming_handle_assetmanager").toBoolean()
int selected_area = getValueFromSettings("selected_area").toInteger()
android {
compileSdkVersion 26
buildToolsVersion "27.0.3"
defaultConfig {
println "[LEBIAN] cust cfg=[enable_fenbao=${enable_fenbao}, enable_handle_assetmanager=${enable_handle_assetmanager}, enable_regeng=${enable_regeng}]"
minSdkVersion 8
targetSdkVersion 26
manifestPlaceholders = [
"MainChId": lebian.meta_MainChId,
"ClientChId": lebian.meta_ClientChId,
"LBCloudId": lebian.meta_LBCloudId,
"LEBIAN_SECID": lebian.meta_LEBIAN_SECID,
"LEBIAN_APPLICATION": 'com.excelliance.open.LBApplication',
"screenOrientation": lebian.screenOrientation,
"lb_target_pkgname": (lebian.packageName ? lebian.packageName :'${applicationId}'),
"lb_task_Affinity": (lebian.taskAffinity ? lebian.taskAffinity :'${applicationId}')
]
}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), "proguard-rules.pro"
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), "proguard-rules.pro"
}
}
sourceSets {
main {
if (enable_fenbao && enable_regeng) {
manifest.srcFile 'src/regeng/AndroidManifest.xml'
if (enable_handle_assetmanager) {
assets.srcDirs += 'src/fenbao-am-with-regeng/assets'
} else {
assets.srcDirs += 'src/fenbao-with-regeng/assets'
}
} else if (enable_regeng) {
manifest.srcFile 'src/regeng/AndroidManifest.xml'
assets.srcDirs += 'src/regeng/assets'
} else if (enable_fenbao) {
if (enable_handle_assetmanager) {
assets.srcDirs += 'src/fenbao-am-lite/assets'
} else {
assets.srcDirs += 'src/fenbao-lite/assets'
}
}
}
}
}
afterEvaluate {
if (!project.file('libs/lebianbase.jar').exists()) {
tasks.getByName('preBuild').dependsOn(':sdkapk:buildBase')
}
println "[LEBIAN] selected_area=${selected_area}"
if (selected_area != 0) {
removePermission()
}
}
dependencies {
api fileTree(include: ['*.jar'], dir: 'libs')
}
def getValueFromSettings(taget) {
def ret
def xmlFile = "${rootDir}/lebian/src/main/assets/lebian/globalSettings.xml"
def xmlParser = new groovy.util.XmlParser()
def result = xmlParser.parse(xmlFile)
result.setting.each {
def key = it.attributes().get("key")
if (key == taget) {
ret = it.attributes().get("value")
println ret
}
}
return ret
}
def removePermission() {
def file = new File(project.projectDir, "/src/main/AndroidManifest.xml")
def manifestContent = file.getText()
manifestContent = manifestContent.replace('', '')
file.write(manifestContent, "UTF-8")
file = new File(project.projectDir, "/src/regeng/AndroidManifest.xml")
manifestContent = file.getText()
manifestContent = manifestContent.replace('', '')
file.write(manifestContent, "UTF-8")
}