Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better Hidden & Module Scope #634

Merged
merged 11 commits into from
Nov 24, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.0'

classpath 'com.android.tools.build:gradle:4.1.1'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
Expand All @@ -24,7 +23,7 @@ allprojects {
templateLibPath = templateRootPath + "/system/lib/"
templateLib64Path = templateRootPath + "/system/lib64/"
templateEtcPath = templateRootPath + "/system/etc/"
hiddenApiStubJarFilePath = project(":hiddenapi-stubs").projectDir.absolutePath + "/libs/framework-stub.jar"
hiddenApiStubJarFilePath = project(":hiddenapi-stubs").buildDir.absolutePath + "/libs/framework-stub.jar"
}
repositories {
google()
Expand Down
1 change: 1 addition & 0 deletions dalvikdx/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
/build
dex
64 changes: 25 additions & 39 deletions dalvikdx/build.gradle
Original file line number Diff line number Diff line change
@@ -1,47 +1,33 @@
import org.gradle.internal.os.OperatingSystem
apply plugin: 'java-library'
apply plugin: 'com.android.application'

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
repositories {
jcenter()
}

sourceCompatibility = "7"
targetCompatibility = "7"

task findDx {
if (OperatingSystem.current().isWindows()){
return true
}
doLast {
new ByteArrayOutputStream().withStream { os ->
exec {
commandLine "which", "dx"
standardOutput os
}
rootProject.ext.dxPath = os.toString()
}
}
android {
compileSdkVersion androidCompileSdkVersion.toInteger()
ndkVersion androidCompileNdkVersion
}

task dexInJar(type: Jar) {
dependsOn jar
dependsOn findDx
doFirst {
exec {
workingDir jar.destinationDir
if (OperatingSystem.current().isWindows()){
executable "dx.bat"
args "--dex", "--output", "classes.dex", "${jar.archiveName}"
} else {
executable "bash"
args rootProject.ext.dxPath.trim(), "--dex", "--output", "classes.dex", "${jar.archiveName}"
afterEvaluate {
android.applicationVariants.all { variant ->
def variantNameCapped = variant.name.capitalize()
def variantNameLowered = variant.name.toLowerCase()

task("copyDex${variantNameCapped}", type: Copy) {
dependsOn "assemble${variantNameCapped}"
def dexOutPath = "${buildDir}/intermediates/dex/${variantNameLowered}/mergeDex${variantNameCapped}"
from (dexOutPath){
rename("classes.dex", "eddalvikdx.dex")
}
destinationDir file(templateRootPath + "system/framework/")
outputs.upToDateWhen { false }
}
task("makeJar${variantNameCapped}", type: Jar, dependsOn: "assemble${variantNameCapped}") {
dependsOn "assemble${variantNameCapped}"
from "${buildDir}/intermediates/javac/${variantNameLowered}/classes"
baseName "dalvikdx"
outputs.file(archivePath)
}
}
from "${jar.destinationDir}/classes.dex"
destinationDir jar.destinationDir
baseName "eddalvikdx"
onlyIf {
!jar.state.upToDate || !file(archiveName).exists()
}
}
}
1 change: 1 addition & 0 deletions dalvikdx/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<manifest package="com.elderdrivers.riru.edxp.eddalvikdx" />
3 changes: 2 additions & 1 deletion dexmaker/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
/build
/build
dex
50 changes: 26 additions & 24 deletions dexmaker/build.gradle
Original file line number Diff line number Diff line change
@@ -1,37 +1,39 @@
import org.gradle.internal.os.OperatingSystem
apply plugin: 'java'
apply plugin: 'com.android.application'

description = "A utility for doing compile or runtime code generation targeting Android's Dalvik VM"

targetCompatibility = '1.7'
sourceCompatibility = '1.7'

repositories {
jcenter()
}

android {
compileSdkVersion androidCompileSdkVersion.toInteger()
ndkVersion androidCompileNdkVersion
}

dependencies {
compileOnly project(':dalvikdx')
compileOnly files(project(":dalvikdx").tasks.getByName("makeJarRelease").outputs)
}

task dexInJar(type: Jar) {
dependsOn jar
doFirst {
exec {
workingDir jar.destinationDir
if (OperatingSystem.current().isWindows()){
executable "dx.bat"
args "--dex", "--output", "classes.dex", "${jar.archiveName}"
} else {
executable "bash"
args rootProject.ext.dxPath.trim(), "--dex", "--output", "classes.dex", "${jar.archiveName}"
afterEvaluate {
android.applicationVariants.all { variant ->
def variantNameCapped = variant.name.capitalize()
def variantNameLowered = variant.name.toLowerCase()

task("copyDex${variantNameCapped}", type: Copy) {
dependsOn "assemble${variantNameCapped}"
def dexOutPath = "${buildDir}/intermediates/dex/${variantNameLowered}/mergeDex${variantNameCapped}"
from (dexOutPath){
rename("classes.dex", "eddexmaker.dex")
}
destinationDir file(templateRootPath + "system/framework/")
outputs.upToDateWhen { false }
}
task("makeJar${variantNameCapped}", type: Jar, dependsOn: "assemble${variantNameCapped}") {
dependsOn "assemble${variantNameCapped}"
from "${buildDir}/intermediates/javac/${variantNameLowered}/classes"
baseName "dexmaker"
outputs.file(archivePath)
}
}
from "${jar.destinationDir}/classes.dex"
destinationDir jar.destinationDir
baseName "eddexmaker"
onlyIf {
!jar.state.upToDate || !file(archiveName).exists()
}
}
}
1 change: 1 addition & 0 deletions dexmaker/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<manifest package="com.elderdrivers.riru.edxp.dexmaker" />
3 changes: 2 additions & 1 deletion edxp-common/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,14 @@ android {
}
}

ndkVersion androidCompileNdkVersion
}

dependencies {
compileOnly project(':hiddenapi-stubs')
api project(':xposed-bridge')
compileOnly project(':dexmaker')
api "androidx.annotation:annotation:1.1.0-rc01"
compileOnly 'com.android.support:support-annotations:28.0.0'
}


Expand Down
1 change: 1 addition & 0 deletions edxp-common/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#-renamesourcefileattribute SourceFile

-dontobfuscate
-dontoptimize
-keep class de.robv.android.xposed.** {*;}
-keep class android.** { *; }

Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,7 @@ public boolean isNoModuleLogEnabled() {
public boolean isBlackWhiteListMode() {
return ConfigManager.isBlackWhiteListEnabled();
}

@Override
public String getModulesList() { return ConfigManager.getModulesList(); }
}
Original file line number Diff line number Diff line change
Expand Up @@ -49,5 +49,5 @@ private static boolean isFileExists(String path) {

public static native String getDataPathPrefix();

public static native boolean isAppNeedHook(String appDataDir);
public static native String getModulesList();
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
package com.elderdrivers.riru.edxp.core;

import androidx.annotation.NonNull;
import android.support.annotation.NonNull;

import com.elderdrivers.riru.edxp.proxy.BlackWhiteListProxy;
import com.elderdrivers.riru.edxp.proxy.NormalProxy;
import com.elderdrivers.riru.edxp.proxy.Router;

public abstract class BaseEdxpImpl implements EdxpImpl {

protected Proxy mBlackWhiteListProxy;
protected Proxy mNormalProxy;
protected Router mRouter;

Expand All @@ -23,15 +21,6 @@ public boolean isInitialized() {
return mInitialized;
}

@NonNull
@Override
public Proxy getBlackWhiteListProxy() {
if (mBlackWhiteListProxy == null) {
mBlackWhiteListProxy = createBlackWhiteListProxy();
}
return mBlackWhiteListProxy;
}

@NonNull
@Override
public Proxy getNormalProxy() {
Expand All @@ -50,10 +39,6 @@ public Router getRouter() {
return mRouter;
}

protected Proxy createBlackWhiteListProxy() {
return new BlackWhiteListProxy(getRouter());
}

protected Proxy createNormalProxy() {
return new NormalProxy(getRouter());
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.elderdrivers.riru.edxp.core;

import androidx.annotation.IntDef;
import androidx.annotation.NonNull;
import android.support.annotation.IntDef;
import android.support.annotation.NonNull;

import com.elderdrivers.riru.common.KeepAll;
import com.elderdrivers.riru.edxp.proxy.Router;
Expand All @@ -20,9 +20,6 @@ public interface EdxpImpl extends KeepAll {
@NonNull
Proxy getNormalProxy();

@NonNull
Proxy getBlackWhiteListProxy();

@NonNull
Router getRouter();

Expand Down
Loading