You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.4 KiB
81 lines
2.4 KiB
7 months ago
|
apply plugin: 'com.android.library'
|
||
|
|
||
|
String SDK_DIR = System.getenv("ANDROID_HOME")
|
||
|
if (SDK_DIR == null) {
|
||
|
Properties props = new Properties()
|
||
|
props.load(new FileInputStream(project.rootProject.file("local.properties")))
|
||
|
SDK_DIR = props.get('sdk.dir')
|
||
|
}
|
||
|
|
||
|
android {
|
||
|
compileSdkVersion 29
|
||
|
defaultConfig {
|
||
|
minSdkVersion 29
|
||
|
targetSdkVersion 29
|
||
|
versionCode 1
|
||
|
versionName "1.0"
|
||
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||
|
}
|
||
|
|
||
|
buildTypes {
|
||
|
release {
|
||
|
minifyEnabled false
|
||
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
dependencies {
|
||
|
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
||
|
compileOnly files('libs/framework.jar')
|
||
|
}
|
||
|
|
||
|
task copyPrivJars(type:Copy) {
|
||
|
from "${SDK_DIR}/platforms/android-29/framework.jar"
|
||
|
into "libs/"
|
||
|
}
|
||
|
|
||
|
preBuild.dependsOn 'copyPrivJars'
|
||
|
|
||
|
task dexClasses(description: 'Create dex file from classes.jar') {
|
||
|
// Add dependent tasks, e.g dexDebugClasses and dexReleaseClasses later
|
||
|
// Make assemble task depend on this task so that it will be executed during assembling
|
||
|
}
|
||
|
|
||
|
assemble.dependsOn 'dexClasses'
|
||
|
|
||
|
String DEX_DIR = "$buildDir/outputs/dex"
|
||
|
|
||
|
task createDexDir {
|
||
|
doFirst {
|
||
|
mkdir DEX_DIR
|
||
|
}
|
||
|
}
|
||
|
|
||
|
android.libraryVariants.all { variant ->
|
||
|
String BUILD_TOOLS_VERSION = project.android.buildToolsVersion
|
||
|
String DEX = "${SDK_DIR}/build-tools/${BUILD_TOOLS_VERSION}/dx"
|
||
|
String DEX_TOOL = org.gradle.internal.os.OperatingSystem.current().windows ? "${DEX}.bat" : "${DEX}"
|
||
|
|
||
|
String dexVariantName = "dex${variant.buildType.name.capitalize()}Classes"
|
||
|
dexClasses.dependsOn "$dexVariantName"
|
||
|
task (dexVariantName, type: Exec) {
|
||
|
dependsOn 'createDexDir'
|
||
|
dependsOn "assemble${variant.buildType.name.capitalize()}"
|
||
|
String inputFile = "${buildDir}/intermediates/aar_main_jar/${variant.buildType.name}/classes.jar"
|
||
|
String outputFile = "${DEX_DIR}/classes.dex"
|
||
|
commandLine("${DEX_TOOL}", "--dex", "--output=${outputFile}", "${inputFile}")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
task makeJar(type: Jar) {
|
||
|
baseName = "com.huanglong.android.tvapi"
|
||
|
from('build/outputs/dex/classes.dex')
|
||
|
include('classes.dex')
|
||
|
doLast {
|
||
|
delete 'libs/framework.jar'
|
||
|
}
|
||
|
}
|
||
|
|
||
|
makeJar.dependsOn(build)
|