mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-11-30 21:45:27 +00:00
4b54cf1288
We upgrade compileSdkVersion to Q, but keep targetSdkVersion as 28. The reason is because targeting Q will no longer allow us to execute native binaries in an app's private data, which Magisk Manager relies a lot for performing stock boot image patches in non rooted environment. For more information regarding this issue, check this link: https://redd.it/b2inbu Some workarounds has been discovered (https://github.com/termux/proot), however for the time being there is no point to introduce these huge hacks just for targeting Q, which we don't benefit anything.
93 lines
2.6 KiB
Groovy
93 lines
2.6 KiB
Groovy
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
|
|
|
def props = new Properties()
|
|
def configPath = project.hasProperty('configPath') ?
|
|
new File(project.configPath) : rootProject.file('config.prop')
|
|
if (configPath.exists())
|
|
configPath.withInputStream { is -> props.load(is) }
|
|
|
|
buildscript {
|
|
|
|
repositories {
|
|
google()
|
|
jcenter()
|
|
maven {
|
|
url 'http://storage.googleapis.com/r8-releases/raw'
|
|
}
|
|
}
|
|
dependencies {
|
|
classpath 'com.android.tools:r8:1.4.79'
|
|
classpath 'com.android.tools.build:gradle:3.5.0-alpha10'
|
|
|
|
|
|
// NOTE: Do not place your application dependencies here; they belong
|
|
// in the individual module build.gradle files
|
|
}
|
|
}
|
|
|
|
task clean(type: Delete) {
|
|
delete rootProject.buildDir
|
|
}
|
|
|
|
ext {
|
|
configProps = props
|
|
}
|
|
|
|
subprojects {
|
|
repositories {
|
|
google()
|
|
jcenter()
|
|
maven { url "https://jitpack.io" }
|
|
}
|
|
afterEvaluate {
|
|
if (getPlugins().hasPlugin('com.android.library') ||
|
|
getPlugins().hasPlugin('com.android.application')) {
|
|
android {
|
|
compileSdkVersion 'android-Q'
|
|
buildToolsVersion '29.0.0-rc2'
|
|
|
|
defaultConfig {
|
|
if (minSdkVersion == null)
|
|
minSdkVersion 17
|
|
targetSdkVersion 28
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
}
|
|
}
|
|
|
|
if (it.name == 'app' || it.name == 'stub') {
|
|
android {
|
|
signingConfigs {
|
|
config {
|
|
storeFile rootProject.file('release-key.jks')
|
|
storePassword props['keyStorePass']
|
|
keyAlias props['keyAlias']
|
|
keyPassword props['keyPass']
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
// If keystore exists, sign the APK with custom signature
|
|
if (signingConfigs.config.storeFile.exists())
|
|
signingConfig signingConfigs.config
|
|
}
|
|
release {
|
|
minifyEnabled true
|
|
shrinkResources true
|
|
signingConfig signingConfigs.config
|
|
}
|
|
}
|
|
|
|
lintOptions {
|
|
disable 'MissingTranslation'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|