Upgrade to AGP 7, ready to use Java 11 (#261)

* Update gradlew

./gradlew wrapper --gradle-version 6.8.3

* Fix line separator

* Fix build

Co-authored-by: tehcneko <7764726+tehcneko@users.noreply.github.com>
This commit is contained in:
vvb2060 2021-03-04 00:35:50 +08:00 committed by GitHub
parent 534b9f4fe6
commit 8e86ace802
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 162 additions and 144 deletions

12
.gitattributes vendored
View File

@ -1,13 +1,9 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
* text=auto eol=lf
# Declare files that will always have LF line endings on checkout.
META-INF/** text eol=lf
*.prop text eol=lf
*.sh text eol=lf
*.md text eol=lf
update-binary text eol=lf
update-script text eol=lf
# Declare files that will always have CRLF line endings on checkout.
*.cmd text eol=crlf
*.bat text eol=crlf
# Denote all files that are truly binary and should not be modified.
*.so binary

View File

@ -21,10 +21,10 @@ jobs:
with:
submodules: 'recursive'
fetch-depth: 0
- name: set up JDK 1.8
- name: set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 1.8
java-version: 11
- name: Build with Gradle
run: bash ./gradlew zipRelease zipDebug
- name: Prepare artifact

View File

@ -21,10 +21,10 @@ jobs:
with:
submodules: 'recursive'
fetch-depth: 0
- name: set up JDK 1.8
- name: set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 1.8
java-version: 11
- name: Build with Gradle
id: buildRelease
run: |

6
.gitignore vendored
View File

@ -1,11 +1,7 @@
*.iml
.gradle
/local.properties
.idea
/.idea/caches/build_file_checksums.ser
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea
.DS_Store
/build
/captures

View File

@ -17,22 +17,24 @@
* Copyright (C) 2021 LSPosed Contributors
*/
import com.android.build.gradle.internal.api.BaseVariantOutputImpl
import java.nio.file.Paths;
import java.nio.file.Paths
plugins {
id("com.android.application")
kotlin("android")
}
android {
val androidTargetSdkVersion: Int by extra
val androidMinSdkVersion: Int by extra
val androidBuildToolsVersion: String by extra
val androidCompileSdkVersion: Int by extra
val androidCompileNdkVersion: String by extra
val androidSourceCompatibility: JavaVersion by extra
val androidTargetCompatibility: JavaVersion by extra
val androidTargetSdkVersion: Int by rootProject.extra
val androidMinSdkVersion: Int by rootProject.extra
val androidBuildToolsVersion: String by rootProject.extra
val androidCompileSdkVersion: Int by rootProject.extra
val androidCompileNdkVersion: String by rootProject.extra
val androidSourceCompatibility: JavaVersion by rootProject.extra
val androidTargetCompatibility: JavaVersion by rootProject.extra
val verCode: Int by rootProject.extra
val verName: String by rootProject.extra
android {
compileSdkVersion(androidCompileSdkVersion)
ndkVersion = androidCompileNdkVersion
buildToolsVersion(androidBuildToolsVersion)
@ -45,10 +47,10 @@ android {
applicationId("io.github.lsposed.manager")
minSdkVersion(androidMinSdkVersion)
targetSdkVersion(androidTargetSdkVersion)
versionCode(extra["versionCode"] as Int)
versionName(extra["versionName"] as String)
versionCode(verCode)
versionName(verName)
resConfigs("en", "zh-rCN", "zh-rTW", "zh-rHK", "ru", "uk", "nl", "ko", "fr")
resValue("string", "versionName", extra["versionName"] as String)
resValue("string", "versionName", verName)
}
compileOptions {
@ -56,19 +58,21 @@ android {
sourceCompatibility(androidSourceCompatibility)
}
lintOptions {
disable("MissingTranslation")
disable("ExtraTranslation")
lint {
disable += "MissingTranslation"
disable += "ExtraTranslation"
isAbortOnError = true
isCheckReleaseBuilds = true
}
packagingOptions {
exclude("META-INF/**")
exclude("kotlin/**")
exclude("org/**")
exclude("**.properties")
exclude("**.bin")
resources {
excludes += "META-INF/**"
excludes += "kotlin/**"
excludes += "org/**"
excludes += "**.properties"
excludes += "**.bin"
}
}
dependenciesInfo.includeInApk = false
@ -91,12 +95,12 @@ android {
}
}
val optimizeReleaseResources = task("optimizeReleaseResources").doLast {
val optimizeReleaseResources = task("optimizeReleaseRes").doLast {
val aapt2 = Paths.get(project.android.sdkDirectory.path, "build-tools", project.android.buildToolsVersion, "aapt2")
val zip = Paths.get(project.buildDir.path, "intermediates", "processed_res", "release", "out", "resources-release.ap_")
val optimized = File("${zip}.opt")
val cmd = exec {
commandLine(aapt2, "optimize", "--collapse-resource-names", "--shorten-resource-paths", "-o", optimized, zip)
commandLine(aapt2, "optimize", "--collapse-resource-names", "-o", optimized, zip)
isIgnoreExitValue = false
}
if (cmd.exitValue == 0) {
@ -106,7 +110,7 @@ val optimizeReleaseResources = task("optimizeReleaseResources").doLast {
}
tasks.whenTaskAdded {
if (name == "processReleaseResources") {
if (name == "shrinkReleaseRes") {
finalizedBy(optimizeReleaseResources)
}
}
@ -153,9 +157,10 @@ dependencies {
implementation(project(":manager-service"))
}
configurations {
compile.get().exclude(group = "org.jetbrains", module = "annotations")
compile.get().exclude(group = "androidx.appcompat", module = "appcompat")
// cleanedAnnotations()
configurations.all {
resolutionStrategy {
exclude(group = "org.jetbrains", module = "annotations")
exclude(group = "androidx.appcompat", module = "appcompat")
}
}

View File

@ -16,16 +16,16 @@
*
* Copyright (C) 2021 LSPosed Contributors
*/
import org.eclipse.jgit.internal.storage.file.FileRepository
import org.eclipse.jgit.api.Git
import org.eclipse.jgit.internal.storage.file.FileRepository
buildscript {
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath("com.android.tools.build:gradle:4.1.2")
classpath("com.android.tools.build:gradle:7.0.0-alpha08")
classpath("org.eclipse.jgit:org.eclipse.jgit:5.10.0.202012080955-r")
classpath(kotlin("gradle-plugin", version = "1.4.31"))
}
@ -35,19 +35,19 @@ val repo = FileRepository(rootProject.file(".git"))
val refId = repo.refDatabase.exactRef("refs/remotes/origin/master").objectId!!
val commitCount = Git(repo).log().add(refId).call().count()
allprojects {
extra["versionCode"] = commitCount + 4200
extra["versionName"] = "v1.2.0"
extra["androidTargetSdkVersion"] = 30
extra["androidMinSdkVersion"] = 27
extra["androidBuildToolsVersion"] = "30.0.3"
extra["androidCompileSdkVersion"] = 30
extra["androidCompileNdkVersion"] = "22.0.7026061"
extra["androidSourceCompatibility"] = JavaVersion.VERSION_1_8
extra["androidTargetCompatibility"] = JavaVersion.VERSION_1_8
extra["apiCode"] = 93
extra["zipPathMagiskReleasePath"] = project(":core").projectDir.path + "/build/tmp/release/magisk/"
val verCode by extra(commitCount + 4200)
val verName by extra("v1.2.0")
val androidTargetSdkVersion by extra(30)
val androidMinSdkVersion by extra(27)
val androidBuildToolsVersion by extra("30.0.3")
val androidCompileSdkVersion by extra(30)
val androidCompileNdkVersion by extra("22.0.7026061")
val androidSourceCompatibility by extra(JavaVersion.VERSION_1_8)
val androidTargetCompatibility by extra(JavaVersion.VERSION_1_8)
val apiCode by extra(93)
val zipPathMagiskReleasePath by extra(project(":core").projectDir.path + "/build/tmp/release/magisk/")
allprojects {
repositories {
google()
jcenter()

View File

@ -47,20 +47,20 @@ val moduleMinRiruApiVersion = 10
val moduleMinRiruVersionName = "v23.0"
val moduleMaxRiruApiVersion = 10
val apiCode: Int by extra
val apiCode: Int by rootProject.extra
val androidTargetSdkVersion: Int by extra
val androidMinSdkVersion: Int by extra
val androidBuildToolsVersion: String by extra
val androidCompileSdkVersion: Int by extra
val androidCompileNdkVersion: String by extra
val androidSourceCompatibility: JavaVersion by extra
val androidTargetCompatibility: JavaVersion by extra
val androidTargetSdkVersion: Int by rootProject.extra
val androidMinSdkVersion: Int by rootProject.extra
val androidBuildToolsVersion: String by rootProject.extra
val androidCompileSdkVersion: Int by rootProject.extra
val androidCompileNdkVersion: String by rootProject.extra
val androidSourceCompatibility: JavaVersion by rootProject.extra
val androidTargetCompatibility: JavaVersion by rootProject.extra
val zipPathMagiskReleasePath: String by extra
val zipPathMagiskReleasePath: String by rootProject.extra
val versionCode: Int by extra
val versionName: String by extra
val verCode: Int by rootProject.extra
val verName: String by rootProject.extra
dependencies {
implementation("rikka.ndk:riru:10")
@ -75,33 +75,36 @@ dependencies {
android {
compileSdkVersion(androidCompileSdkVersion)
ndkVersion = androidCompileNdkVersion
buildToolsVersion(androidBuildToolsVersion)
buildFeatures {
prefab = true
}
defaultConfig {
applicationId("io.github.lsposed.lspd")
minSdkVersion(androidMinSdkVersion)
targetSdkVersion(androidTargetSdkVersion)
multiDexEnabled = false
buildFeatures {
prefab = true
}
externalNativeBuild {
cmake {
abiFilters("arm64-v8a", "armeabi-v7a", "x86", "x86_64")
cppFlags("-std=c++17 -ffixed-x18 -Qunused-arguments -frtti -fomit-frame-pointer -fpie -fPIC")
cFlags("-std=gnu99 -ffixed-x18 -Qunused-arguments -frtti -fomit-frame-pointer -fpie -fPIC")
arguments("-DRIRU_MODULE_API_VERSION=$moduleMaxRiruApiVersion",
"-DRIRU_MODULE_VERSION=${extra["versionCode"]}",
"-DRIRU_MODULE_VERSION_NAME:STRING=\"${extra["versionName"]}\"")
"-DRIRU_MODULE_VERSION=$verCode",
"-DRIRU_MODULE_VERSION_NAME:STRING=\"$verName\"")
}
}
buildConfigField("int", "API_CODE", "$apiCode")
buildConfigField("String", "VERSION_NAME", "\"${extra["versionName"]}\"")
buildConfigField("Integer", "VERSION_CODE", extra["versionCode"].toString())
buildConfigField("String", "VERSION_NAME", "\"$verName\"")
buildConfigField("Integer", "VERSION_CODE", verCode.toString())
}
lintOptions {
lint {
isAbortOnError = false
isCheckReleaseBuilds = false
}
@ -132,8 +135,6 @@ android {
path("src/main/cpp/CMakeLists.txt")
}
}
ndkVersion = androidCompileNdkVersion
buildToolsVersion(androidBuildToolsVersion)
compileOptions {
targetCompatibility(androidTargetCompatibility)
@ -146,7 +147,7 @@ afterEvaluate {
android.applicationVariants.forEach { variant ->
val variantCapped = variant.name.capitalize()
val variantLowered = variant.name.toLowerCase()
val zipFileName = "$moduleName-$versionName-$versionCode-$variantLowered.zip"
val zipFileName = "$moduleName-$verName-$verCode-$variantLowered.zip"
delete(file(zipPathMagiskReleasePath))
@ -158,8 +159,8 @@ afterEvaluate {
into("$projectDir/template_override")
rename("module.prop.tpl", "module.prop")
expand("moduleId" to moduleId,
"versionName" to versionName,
"versionCode" to versionCode,
"versionName" to verName,
"versionCode" to verCode,
"authorList" to authors,
"apiCode" to apiCode,
"minApi" to "$moduleMinRiruApiVersion")

View File

@ -1,2 +1,2 @@
allow system_server system_server process execmem
allow system_server system_server memprotect mmap_zero
allow system_server system_server memprotect mmap_zero

View File

@ -13,4 +13,3 @@
#Sat Jan 30 19:20:27 CST 202130.0.322.0.7026061
android.useAndroidX=true
android.enableJetifier=true
android.prefabVersion=1.1.2

Binary file not shown.

View File

@ -1,6 +1,5 @@
#Wed Feb 10 17:44:10 CST 2021
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-all.zip

53
gradlew vendored
View File

@ -1,5 +1,21 @@
#!/usr/bin/env sh
#
# Copyright 2015 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
##############################################################################
##
## Gradle start up script for UN*X
@ -28,7 +44,7 @@ APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
@ -66,6 +82,7 @@ esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
@ -109,10 +126,11 @@ if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
@ -138,19 +156,19 @@ if $cygwin ; then
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
i=`expr $i + 1`
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
@ -159,14 +177,9 @@ save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
APP_ARGS=`save "$@"`
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"

43
gradlew.bat vendored
View File

@ -1,3 +1,19 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@ -13,15 +29,18 @@ if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
@ -35,7 +54,7 @@ goto fail
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
@ -45,28 +64,14 @@ echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell

View File

@ -22,13 +22,13 @@ plugins {
kotlin("android")
}
android {
val androidTargetSdkVersion: Int by extra
val androidBuildToolsVersion: String by extra
val androidMinSdkVersion: Int by extra
val androidSourceCompatibility: JavaVersion by extra
val androidTargetCompatibility: JavaVersion by extra
val androidTargetSdkVersion: Int by rootProject.extra
val androidBuildToolsVersion: String by rootProject.extra
val androidMinSdkVersion: Int by rootProject.extra
val androidSourceCompatibility: JavaVersion by rootProject.extra
val androidTargetCompatibility: JavaVersion by rootProject.extra
android {
compileSdkVersion(androidTargetSdkVersion)
buildToolsVersion(androidBuildToolsVersion)
@ -46,7 +46,7 @@ android {
}
compileOptions {
sourceCompatibility(androidSourceCompatibility)
targetCompatibility(androidTargetCompatibility)
sourceCompatibility = androidSourceCompatibility
targetCompatibility = androidTargetCompatibility
}
}

View File

@ -2,7 +2,10 @@ plugins {
`java-library`
}
val androidSourceCompatibility: JavaVersion by rootProject.extra
val androidTargetCompatibility: JavaVersion by rootProject.extra
java {
sourceCompatibility = extra["androidSourceCompatibility"] as JavaVersion
targetCompatibility = extra["androidTargetCompatibility"] as JavaVersion
sourceCompatibility = androidSourceCompatibility
targetCompatibility = androidTargetCompatibility
}

View File

@ -3,15 +3,16 @@ plugins {
kotlin("android")
}
android {
val androidTargetSdkVersion: Int by extra
val androidCompileSdkVersion: Int by extra
val androidMinSdkVersion: Int by extra
val androidBuildToolsVersion: String by extra
val androidSourceCompatibility: JavaVersion by extra
val androidTargetCompatibility: JavaVersion by extra
val androidTargetSdkVersion: Int by rootProject.extra
val androidCompileSdkVersion: Int by rootProject.extra
val androidMinSdkVersion: Int by rootProject.extra
val androidBuildToolsVersion: String by rootProject.extra
val androidSourceCompatibility: JavaVersion by rootProject.extra
val androidTargetCompatibility: JavaVersion by rootProject.extra
android {
compileSdkVersion(androidCompileSdkVersion)
buildToolsVersion(androidBuildToolsVersion)
defaultConfig {
minSdkVersion(androidMinSdkVersion)