97 lines
2.3 KiB
Groovy
97 lines
2.3 KiB
Groovy
plugins {
|
|
id 'java'
|
|
}
|
|
|
|
group = 'dev.maelstrom'
|
|
version = '0.3-SNAPSHOT'
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
testImplementation platform('org.junit:junit-bom:5.10.0')
|
|
testImplementation 'org.junit.jupiter:junit-jupiter'
|
|
}
|
|
|
|
test {
|
|
useJUnitPlatform()
|
|
}
|
|
|
|
tasks.register('extractApk', JavaExec) {
|
|
onlyIf {
|
|
!file('build/extracted').exists()
|
|
}
|
|
|
|
classpath = files('tools/apktool_2.9.3.jar')
|
|
|
|
args = ['d', 'source-apk/tumblr.apk', '-o', 'build/extracted']
|
|
}
|
|
|
|
tasks.register('mergeSmali') {
|
|
dependsOn tasks.extractApk
|
|
doLast {
|
|
copy {
|
|
into 'build/smali-merged'
|
|
from('src/main/smali')
|
|
from('build/extracted') {
|
|
include 'smali_classes*/**', 'smali/**'
|
|
}
|
|
|
|
duplicatesStrategy 'exclude'
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.register('smali') {
|
|
dependsOn tasks.mergeSmali
|
|
doLast {
|
|
mkdir('build/dex')
|
|
javaexec {
|
|
classpath = file('tools/smali-2.5.2.jar')
|
|
println(classpath.files)
|
|
|
|
args = ['a', 'build/smali-merged/smali', '-o', 'build/dex/classes.dex']
|
|
}
|
|
}
|
|
}
|
|
|
|
// NOTE: Maybe broken if gradle thinks the extracted files are newer?
|
|
tasks.register('mergeResources') {
|
|
dependsOn tasks.extractApk
|
|
dependsOn tasks.smali
|
|
doLast {
|
|
// copy { // Copy from extracted
|
|
// from 'build/extracted'
|
|
// into 'build/merged'
|
|
// //exclude 'smali_classes*', 'smali'
|
|
// }
|
|
// copy { // Copy resources from src
|
|
// from 'src/main/resources'
|
|
// into 'build/merged'
|
|
// }
|
|
// copy { // Copy smali from src
|
|
// from 'src/main/smali'
|
|
// into 'build/merged'
|
|
// }
|
|
copy {
|
|
into('build/merged')
|
|
|
|
from('build/extracted') {
|
|
exclude 'smali_classes*', 'smali'
|
|
}
|
|
from('build/dex')
|
|
from('src/main/resources')
|
|
|
|
duplicatesStrategy 'include'
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.register('buildApk', JavaExec) {
|
|
dependsOn mergeResources
|
|
|
|
classpath = files('tools/apktool_2.9.3.jar')
|
|
|
|
args = ['b', 'build/merged', '-o', 'build/merged-apktool/tumblr-ykit.apk']
|
|
} |