mirror of
https://github.com/LSPosed/LSPlant.git
synced 2025-05-04 20:42:02 +08:00
Rename gradle module
This commit is contained in:
parent
4422bea212
commit
856f6e0402
4
.gitmodules
vendored
4
.gitmodules
vendored
@ -1,4 +1,4 @@
|
||||
[submodule "library/jni/external/dex_builder"]
|
||||
path = library/jni/external/dex_builder
|
||||
[submodule "dex_builder"]
|
||||
path = lsplant/src/main/jni/external/dex_builder
|
||||
url = https://github.com/LSPosed/DexBuilder.git
|
||||
branch = master
|
||||
|
@ -1,41 +1,9 @@
|
||||
/*
|
||||
* This file is part of LSPosed.
|
||||
*
|
||||
* LSPosed is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* LSPosed is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with LSPosed. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Copyright (C) 2021 LSPosed Contributors
|
||||
*/
|
||||
import org.eclipse.jgit.api.Git
|
||||
import org.eclipse.jgit.internal.storage.file.FileRepository
|
||||
|
||||
buildscript {
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
val agpVersion by extra("7.1.1")
|
||||
dependencies {
|
||||
classpath("com.android.tools.build:gradle:$agpVersion")
|
||||
classpath("org.eclipse.jgit:org.eclipse.jgit:6.0.0.202111291000-r")
|
||||
}
|
||||
}
|
||||
|
||||
val androidTargetSdkVersion by extra(32)
|
||||
val androidMinSdkVersion by extra(27)
|
||||
val androidBuildToolsVersion by extra("32.0.0")
|
||||
val androidCompileSdkVersion by extra(32)
|
||||
val androidCompileNdkVersion by extra("23.1.7779620")
|
||||
val androidNdkVersion by extra("23.1.7779620")
|
||||
val androidCmakeVersion by extra("3.22.1")
|
||||
|
||||
tasks.register("Delete", Delete::class) {
|
||||
delete(rootProject.buildDir)
|
||||
|
@ -1,13 +1,2 @@
|
||||
# Project-wide Gradle settings.
|
||||
# IDE (e.g. Android Studio) users:
|
||||
# Gradle settings configured through the IDE *will override*
|
||||
# any settings specified in this file.
|
||||
# For more details on how to configure your build environment visit
|
||||
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
||||
# Specifies the JVM arguments used for the daemon process.
|
||||
# The setting is particularly useful for tweaking memory settings.
|
||||
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
|
||||
# When configured, Gradle will run in incubating parallel mode.
|
||||
# This option should only be used with decoupled projects. More details, visit
|
||||
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||
org.gradle.parallel=true
|
||||
android.nonTransitiveRClass=true
|
||||
android.useAndroidX=true
|
||||
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
@ -1,120 +0,0 @@
|
||||
/*
|
||||
* This file is part of LSPosed.
|
||||
*
|
||||
* LSPosed is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* LSPosed is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with LSPosed. If not, see <https://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Copyright (C) 2021 LSPosed Contributors
|
||||
*/
|
||||
|
||||
plugins {
|
||||
id("com.android.library")
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
android {
|
||||
compileSdk = androidCompileSdkVersion
|
||||
ndkVersion = androidCompileNdkVersion
|
||||
buildToolsVersion = androidBuildToolsVersion
|
||||
|
||||
buildFeatures {
|
||||
prefabPublishing = true
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
jniLibs {
|
||||
excludes += "**.so"
|
||||
}
|
||||
}
|
||||
|
||||
prefab {
|
||||
create("lsplant") {
|
||||
headers = "jni/include"
|
||||
libraryName = "liblsplant"
|
||||
name = "lsplant"
|
||||
}
|
||||
|
||||
// only for unit test
|
||||
create("dex_builder") {
|
||||
headers = "jni/external/dex_builder/include"
|
||||
libraryName = "libdex_builder"
|
||||
name = "dex_builder"
|
||||
}
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
minSdk = androidMinSdkVersion
|
||||
targetSdk = androidTargetSdkVersion
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
abiFilters("arm64-v8a", "armeabi-v7a", "x86", "x86_64")
|
||||
val flags = arrayOf(
|
||||
"-Wall",
|
||||
"-Werror",
|
||||
"-Qunused-arguments",
|
||||
"-Wno-gnu-string-literal-operator-template",
|
||||
"-fno-rtti",
|
||||
"-fvisibility=hidden",
|
||||
"-fvisibility-inlines-hidden",
|
||||
"-fno-exceptions",
|
||||
"-fno-stack-protector",
|
||||
"-fomit-frame-pointer",
|
||||
"-Wno-builtin-macro-redefined",
|
||||
"-ffunction-sections",
|
||||
"-fdata-sections",
|
||||
"-Wno-unused-value",
|
||||
"-Wl,--gc-sections",
|
||||
"-D__FILE__=__FILE_NAME__",
|
||||
"-Wl,--exclude-libs,ALL",
|
||||
)
|
||||
cppFlags("-std=c++20", *flags)
|
||||
cFlags("-std=c18", *flags)
|
||||
arguments += "-DANDROID_STL=c++_shared"
|
||||
val configFlags = arrayOf(
|
||||
"-Oz",
|
||||
"-DNDEBUG"
|
||||
).joinToString(" ")
|
||||
arguments.addAll(
|
||||
arrayOf(
|
||||
"-DCMAKE_CXX_FLAGS_RELEASE=$configFlags",
|
||||
"-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$configFlags",
|
||||
"-DCMAKE_C_FLAGS_RELEASE=$configFlags",
|
||||
"-DCMAKE_C_FLAGS_RELWITHDEBINFO=$configFlags"
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
all {
|
||||
externalNativeBuild.cmake.arguments += "-DDEBUG_SYMBOLS_PATH=${project.buildDir.absolutePath}/symbols/$name"
|
||||
}
|
||||
}
|
||||
|
||||
lint {
|
||||
abortOnError = true
|
||||
checkReleaseBuilds = false
|
||||
}
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
path("jni/CMakeLists.txt")
|
||||
}
|
||||
}
|
||||
}
|
0
library/.gitignore → lsplant/.gitignore
vendored
0
library/.gitignore → lsplant/.gitignore
vendored
92
lsplant/build.gradle.kts
Normal file
92
lsplant/build.gradle.kts
Normal file
@ -0,0 +1,92 @@
|
||||
plugins {
|
||||
id("com.android.library")
|
||||
}
|
||||
|
||||
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 androidNdkVersion: String by rootProject.extra
|
||||
val androidCmakeVersion: String by rootProject.extra
|
||||
|
||||
android {
|
||||
compileSdk = androidCompileSdkVersion
|
||||
ndkVersion = androidNdkVersion
|
||||
buildToolsVersion = androidBuildToolsVersion
|
||||
|
||||
buildFeatures {
|
||||
prefabPublishing = true
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
jniLibs {
|
||||
excludes += "**.so"
|
||||
}
|
||||
}
|
||||
|
||||
prefab {
|
||||
register("lsplant") {
|
||||
headers = "src/main/jni/include"
|
||||
}
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
minSdk = androidMinSdkVersion
|
||||
targetSdk = androidTargetSdkVersion
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
all {
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
abiFilters("arm64-v8a", "armeabi-v7a", "x86", "x86_64")
|
||||
val flags = arrayOf(
|
||||
"-Wall",
|
||||
"-Werror",
|
||||
"-Qunused-arguments",
|
||||
"-Wno-gnu-string-literal-operator-template",
|
||||
"-fno-rtti",
|
||||
"-fvisibility=hidden",
|
||||
"-fvisibility-inlines-hidden",
|
||||
"-fno-exceptions",
|
||||
"-fno-stack-protector",
|
||||
"-fomit-frame-pointer",
|
||||
"-Wno-builtin-macro-redefined",
|
||||
"-ffunction-sections",
|
||||
"-fdata-sections",
|
||||
"-Wno-unused-value",
|
||||
"-Wl,--gc-sections",
|
||||
"-D__FILE__=__FILE_NAME__",
|
||||
"-Wl,--exclude-libs,ALL",
|
||||
)
|
||||
cppFlags("-std=c++20", *flags)
|
||||
cFlags("-std=c18", *flags)
|
||||
val configFlags = arrayOf(
|
||||
"-Oz",
|
||||
"-DNDEBUG"
|
||||
).joinToString(" ")
|
||||
arguments(
|
||||
"-DANDROID_STL=c++_shared",
|
||||
"-DCMAKE_CXX_FLAGS_RELEASE=$configFlags",
|
||||
"-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$configFlags",
|
||||
"-DCMAKE_C_FLAGS_RELEASE=$configFlags",
|
||||
"-DCMAKE_C_FLAGS_RELWITHDEBINFO=$configFlags",
|
||||
"-DDEBUG_SYMBOLS_PATH=${project.buildDir.absolutePath}/symbols/$name",
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
lint {
|
||||
abortOnError = true
|
||||
checkReleaseBuilds = false
|
||||
}
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
path = file("src/main/jni/CMakeLists.txt")
|
||||
version = androidCmakeVersion
|
||||
}
|
||||
}
|
||||
}
|
@ -40,6 +40,7 @@ add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
||||
${DEBUG_SYMBOLS_PATH}/${ANDROID_ABI}/${PROJECT_NAME}
|
||||
COMMAND ${CMAKE_STRIP} --strip-all $<TARGET_FILE:${PROJECT_NAME}>)
|
||||
|
||||
target_link_libraries(${PROJECT_NAME} PUBLIC dex_builder log)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE dex_builder_static)
|
||||
target_link_libraries(${PROJECT_NAME} PUBLIC log)
|
||||
target_link_libraries(${PROJECT_NAME}_static PRIVATE dex_builder_static)
|
||||
target_link_libraries(${PROJECT_NAME}_static PUBLIC log)
|
@ -1,3 +1,15 @@
|
||||
pluginManagement {
|
||||
repositories {
|
||||
gradlePluginPortal()
|
||||
google()
|
||||
mavenCentral()
|
||||
}
|
||||
plugins {
|
||||
id("com.android.application") version "7.1.1"
|
||||
id("com.android.library") version "7.1.1"
|
||||
id("org.jetbrains.kotlin.android") version "1.6.10"
|
||||
}
|
||||
}
|
||||
dependencyResolutionManagement {
|
||||
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
||||
repositories {
|
||||
@ -8,6 +20,6 @@ dependencyResolutionManagement {
|
||||
|
||||
rootProject.name = "LSPlant"
|
||||
include(
|
||||
":library",
|
||||
":test"
|
||||
":lsplant",
|
||||
":test",
|
||||
)
|
||||
|
@ -6,12 +6,12 @@ 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 androidNdkVersion: String by rootProject.extra
|
||||
val androidCmakeVersion: String by rootProject.extra
|
||||
|
||||
android {
|
||||
namespace = "org.lsposed.lsplant.test"
|
||||
compileSdk = androidCompileSdkVersion
|
||||
ndkVersion = androidCompileNdkVersion
|
||||
ndkVersion = androidNdkVersion
|
||||
buildToolsVersion = androidBuildToolsVersion
|
||||
|
||||
buildFeatures {
|
||||
@ -19,13 +19,12 @@ android {
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "org.lsposed.lsplant.test"
|
||||
applicationId = "org.lsposed.lsplant"
|
||||
minSdk = androidMinSdkVersion
|
||||
targetSdk = androidTargetSdkVersion
|
||||
versionCode = 1
|
||||
versionName = "1.0"
|
||||
|
||||
testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner"
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
arguments += "-DANDROID_STL=c++_shared"
|
||||
@ -35,14 +34,8 @@ android {
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
path("src/main/jni/CMakeLists.txt")
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
isMinifyEnabled = true
|
||||
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
|
||||
path = file("src/main/jni/CMakeLists.txt")
|
||||
version = androidCmakeVersion
|
||||
}
|
||||
}
|
||||
|
||||
@ -53,10 +46,10 @@ android {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":library"))
|
||||
implementation(project(":lsplant"))
|
||||
implementation("io.github.vvb2060.ndk:dobby:1.2")
|
||||
|
||||
testImplementation("junit:junit:4.13.2")
|
||||
androidTestImplementation("com.android.support.test:runner:1.0.2")
|
||||
androidTestImplementation("com.android.support.test.espresso:espresso-core:3.0.2")
|
||||
androidTestImplementation("androidx.test.ext:junit:1.1.3")
|
||||
androidTestImplementation("androidx.test:runner:1.4.0")
|
||||
androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
|
||||
}
|
||||
|
21
test/proguard-rules.pro
vendored
21
test/proguard-rules.pro
vendored
@ -1,21 +0,0 @@
|
||||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
|
||||
# Uncomment this to preserve the line number information for
|
||||
# debugging stack traces.
|
||||
#-keepattributes SourceFile,LineNumberTable
|
||||
|
||||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
@ -1,6 +1,6 @@
|
||||
package org.lsposed.lsplant;
|
||||
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.FixMethodOrder;
|
||||
|
@ -1,8 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<application
|
||||
android:label="LSPlant"
|
||||
tools:ignore="MissingApplicationIcon" />
|
||||
</manifest>
|
||||
<manifest package="org.lsposed.lsplant" />
|
||||
|
@ -6,5 +6,5 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
add_library(test SHARED test.cpp elf_util.cpp)
|
||||
find_package(dobby REQUIRED CONFIG)
|
||||
find_package(library REQUIRED CONFIG)
|
||||
target_link_libraries(test log dobby::dobby library::lsplant library::dex_builder)
|
||||
find_package(lsplant REQUIRED CONFIG)
|
||||
target_link_libraries(test log dobby::dobby lsplant::lsplant)
|
||||
|
Loading…
x
Reference in New Issue
Block a user