From 91c49dd6d013b22bf6e5c0281164b3a966f6a9ee Mon Sep 17 00:00:00 2001 From: LoveSy Date: Sat, 30 Jan 2021 02:52:11 +0800 Subject: [PATCH] Make ide happy about native methods --- .../android/nativehelper/jni_macros.h | 13 +++++ core/src/main/cpp/main/include/config.h | 2 +- .../cpp/main/src/jni/art_class_linker.cpp | 5 +- core/src/main/cpp/main/src/jni/art_heap.cpp | 6 +-- .../main/cpp/main/src/jni/config_manager.cpp | 47 ++++++++++--------- core/src/main/cpp/main/src/jni/yahfa.cpp | 22 ++++----- .../de/robv/android/xposed/XposedBridge.java | 2 +- .../de/robv/android/xposed/XposedInit.java | 3 +- .../lspd/_hooker/impl/HandleBindApp.java | 2 +- .../lspd/_hooker/impl/LoadedApkGetCL.java | 2 +- .../lsposed/lspd/config/BaseHookProvider.java | 2 +- .../lsposed/lspd/core/yahfa/HookMain.java | 4 +- .../lspd/deopt/PrebuiltMethodsDeopter.java | 2 +- .../lspd/hooker/XposedInstallerHooker.java | 2 +- .../{art => nativebridge}/ClassLinker.java | 2 +- .../ConfigManager.java | 2 +- .../lspd/{art => nativebridge}/Heap.java | 4 +- .../lspd/{core => nativebridge}/Yahfa.java | 2 +- .../lsposed/lspd/proxy/NormalProxy.java | 2 +- .../sandhook/config/SandHookProvider.java | 4 +- .../lspd/sandhook/core/SandHookEdxpImpl.java | 2 +- .../github/lsposed/lspd/util/FileUtils.java | 2 +- .../lspd/yahfa/config/YahfaHookProvider.java | 4 +- .../lspd/yahfa/core/YahfaEdxpImpl.java | 2 +- .../lspd/yahfa/dexmaker/DexMakerUtils.java | 2 +- .../lspd/yahfa/dexmaker/HookerDexMaker.java | 2 +- .../sandhook/xposedcompat/XposedCompat.java | 2 +- .../methodgen/HookerDexMaker.java | 2 +- .../methodgen/HookerDexMakerNew.java | 2 +- .../methodgen/SandHookXposedBridge.java | 4 +- .../xposedcompat/utils/DexMakerUtils.java | 2 +- 31 files changed, 84 insertions(+), 72 deletions(-) rename core/src/main/java/io/github/lsposed/lspd/{art => nativebridge}/ClassLinker.java (90%) rename core/src/main/java/io/github/lsposed/lspd/{config => nativebridge}/ConfigManager.java (93%) rename core/src/main/java/io/github/lsposed/lspd/{art => nativebridge}/Heap.java (62%) rename core/src/main/java/io/github/lsposed/lspd/{core => nativebridge}/Yahfa.java (92%) diff --git a/core/src/main/cpp/external/android/nativehelper/jni_macros.h b/core/src/main/cpp/external/android/nativehelper/jni_macros.h index f2168c9f..148117e9 100644 --- a/core/src/main/cpp/external/android/nativehelper/jni_macros.h +++ b/core/src/main/cpp/external/android/nativehelper/jni_macros.h @@ -28,6 +28,19 @@ _NATIVEHELPER_JNI_MACRO_CAST(void*) (className ## _ ## functionName) \ } #endif + +#ifndef LSP_NATIVE_METHOD +#define LSP_NATIVE_METHOD(className, functionName, signature) \ + { #functionName, \ + signature, \ + _NATIVEHELPER_JNI_MACRO_CAST(void*) (Java_io_github_lsposed_lspd_nativebridge_## className ## _ ## functionName) \ + } +#endif + +#ifndef LSP_DEF_NATIVE_METHOD +#define LSP_DEF_NATIVE_METHOD(ret, className, functionName, ...) \ + extern "C" ret Java_io_github_lsposed_lspd_nativebridge_## className ## _ ## functionName (JNI_START, ## __VA_ARGS__) +#endif // Intended to construct a JNINativeMethod (when the C name doesn't match the Java name). // (Assumes the C name is the ClassName_Identifier). #ifndef OVERLOADED_NATIVE_METHOD diff --git a/core/src/main/cpp/main/include/config.h b/core/src/main/cpp/main/include/config.h index 7e488eb6..722bff2c 100644 --- a/core/src/main/cpp/main/include/config.h +++ b/core/src/main/cpp/main/include/config.h @@ -30,7 +30,7 @@ inline constexpr bool is64 = Is64(); #endif static const auto kEntryClassName = "io.github.lsposed.lspd.core.Main"s; - static const auto kClassLinkerClassName = "io.github.lsposed.lspd.art.ClassLinker"s; + static const auto kClassLinkerClassName = "io.github.lsposed.lspd.nativebridge.ClassLinker"s; static const auto kSandHookClassName = "com.swift.sandhook.SandHook"s; static const auto kSandHookNeverCallClassName = "com.swift.sandhook.ClassNeverCall"s; diff --git a/core/src/main/cpp/main/src/jni/art_class_linker.cpp b/core/src/main/cpp/main/src/jni/art_class_linker.cpp index 6a8390fe..f94a7cd8 100644 --- a/core/src/main/cpp/main/src/jni/art_class_linker.cpp +++ b/core/src/main/cpp/main/src/jni/art_class_linker.cpp @@ -11,7 +11,7 @@ namespace lspd { static std::unordered_set deopted_methods; - static void ClassLinker_setEntryPointsToInterpreter(JNI_START, jobject method) { + LSP_DEF_NATIVE_METHOD(void, ClassLinker, setEntryPointsToInterpreter, jobject method) { void *reflected_method = getArtMethodYahfa(env, method); if (deopted_methods.count(reflected_method)) { LOGD("method %p has been deopted before, skip...", reflected_method); @@ -24,7 +24,8 @@ namespace lspd { } static JNINativeMethod gMethods[] = { - NATIVE_METHOD(ClassLinker, setEntryPointsToInterpreter, "(Ljava/lang/reflect/Member;)V") + LSP_NATIVE_METHOD(ClassLinker, setEntryPointsToInterpreter, + "(Ljava/lang/reflect/Member;)V") }; void RegisterArtClassLinker(JNIEnv *env) { diff --git a/core/src/main/cpp/main/src/jni/art_heap.cpp b/core/src/main/cpp/main/src/jni/art_heap.cpp index 83297044..719d8ceb 100644 --- a/core/src/main/cpp/main/src/jni/art_heap.cpp +++ b/core/src/main/cpp/main/src/jni/art_heap.cpp @@ -9,18 +9,18 @@ namespace lspd { - static jint Heap_waitForGcToComplete(JNI_START) { + LSP_DEF_NATIVE_METHOD(jint, Heap, waitForGcToComplete) { art::gc::collector::GcType gcType = art::gc::Heap::Current()->WaitForGcToComplete( art::gc::GcCause::kGcCauseNone, art::Thread::Current().Get()); return gcType; } static JNINativeMethod gMethods[] = { - NATIVE_METHOD(Heap, waitForGcToComplete, "()I") + LSP_NATIVE_METHOD(Heap, waitForGcToComplete, "()I") }; void RegisterArtHeap(JNIEnv *env) { - REGISTER_EDXP_NATIVE_METHODS("io.github.lsposed.lspd.art.Heap"); + REGISTER_EDXP_NATIVE_METHODS("io.github.lsposed.lspd.nativebridge.Heap"); } } \ No newline at end of file diff --git a/core/src/main/cpp/main/src/jni/config_manager.cpp b/core/src/main/cpp/main/src/jni/config_manager.cpp index 5341cfd0..7dc0eb8b 100644 --- a/core/src/main/cpp/main/src/jni/config_manager.cpp +++ b/core/src/main/cpp/main/src/jni/config_manager.cpp @@ -7,77 +7,78 @@ namespace lspd { - static jboolean ConfigManager_isResourcesHookEnabled(JNI_START) { + LSP_DEF_NATIVE_METHOD(jboolean, ConfigManager, isResourcesHookEnabled) { return (jboolean) ConfigManager::GetInstance()->IsResourcesHookEnabled(); } - static jboolean ConfigManager_isNoModuleLogEnabled(JNI_START) { + LSP_DEF_NATIVE_METHOD(jboolean, ConfigManager, isNoModuleLogEnabled) { return (jboolean) ConfigManager::GetInstance()->IsNoModuleLogEnabled(); } - static jstring ConfigManager_getInstallerPackageName(JNI_START) { + LSP_DEF_NATIVE_METHOD(jstring, ConfigManager, getInstallerPackageName) { return env->NewStringUTF(ConfigManager::GetInstance()->GetInstallerPackageName().c_str()); } - static jstring ConfigManager_getDataPathPrefix(JNI_START) { + LSP_DEF_NATIVE_METHOD(jstring, ConfigManager, getDataPathPrefix) { return env->NewStringUTF(ConfigManager::GetInstance()->GetDataPathPrefix().c_str()); } - static jstring ConfigManager_getConfigPath(JNI_START, jstring jSuffix) { + LSP_DEF_NATIVE_METHOD(jstring, ConfigManager, getConfigPath, jstring jSuffix) { const char *suffix = env->GetStringUTFChars(jSuffix, JNI_FALSE); auto result = ConfigManager::GetInstance()->GetConfigPath(suffix); env->ReleaseStringUTFChars(jSuffix, suffix); return env->NewStringUTF(result.c_str()); } - static jstring ConfigManager_getPrefsPath(JNI_START, jstring jSuffix) { + LSP_DEF_NATIVE_METHOD(jstring, ConfigManager, getPrefsPath, jstring jSuffix) { const char *suffix = env->GetStringUTFChars(jSuffix, JNI_FALSE); auto result = ConfigManager::GetInstance()->GetPrefsPath(suffix); env->ReleaseStringUTFChars(jSuffix, suffix); return env->NewStringUTF(result.c_str()); } - static jstring ConfigManager_getCachePath(JNI_START, jstring jSuffix) { + LSP_DEF_NATIVE_METHOD(jstring, ConfigManager, getCachePath, jstring jSuffix) { const char *suffix = env->GetStringUTFChars(jSuffix, JNI_FALSE); auto result = ConfigManager::GetCachePath(suffix); env->ReleaseStringUTFChars(jSuffix, suffix); return env->NewStringUTF(result.c_str()); } - static jstring ConfigManager_getBaseConfigPath(JNI_START) { + LSP_DEF_NATIVE_METHOD(jstring, ConfigManager, getBaseConfigPath) { auto result = ConfigManager::GetInstance()->GetBaseConfigPath(); return env->NewStringUTF(result.c_str()); } - static jstring ConfigManager_getMiscPath(JNI_START) { - auto result = ConfigManager::GetInstance()->GetMiscPath(); + LSP_DEF_NATIVE_METHOD(jstring, ConfigManager, getMiscPath) { + auto result = ConfigManager::GetMiscPath(); return env->NewStringUTF(result.c_str()); } - static jstring ConfigManager_getModulesList(JNI_START) { + LSP_DEF_NATIVE_METHOD(jstring, ConfigManager, getModulesList) { auto module_list = Context::GetInstance()->GetAppModulesList(); std::ostringstream join; - std::copy(module_list.begin(), module_list.end(), std::ostream_iterator(join, "\n")); + std::copy(module_list.begin(), module_list.end(), + std::ostream_iterator(join, "\n")); const auto &list = join.str(); LOGD("module list: %s", list.c_str()); return env->NewStringUTF(list.c_str()); } static JNINativeMethod gMethods[] = { - NATIVE_METHOD(ConfigManager, isResourcesHookEnabled, "()Z"), - NATIVE_METHOD(ConfigManager, isNoModuleLogEnabled, "()Z"), - NATIVE_METHOD(ConfigManager, getInstallerPackageName, "()Ljava/lang/String;"), - NATIVE_METHOD(ConfigManager, getDataPathPrefix, "()Ljava/lang/String;"), - NATIVE_METHOD(ConfigManager, getPrefsPath, - "(Ljava/lang/String;)Ljava/lang/String;"), - NATIVE_METHOD(ConfigManager, getCachePath, - "(Ljava/lang/String;)Ljava/lang/String;"), - NATIVE_METHOD(ConfigManager, getBaseConfigPath, "()Ljava/lang/String;"), - NATIVE_METHOD(ConfigManager, getModulesList, "()Ljava/lang/String;"), + LSP_NATIVE_METHOD(ConfigManager, isResourcesHookEnabled, "()Z"), + LSP_NATIVE_METHOD(ConfigManager, isNoModuleLogEnabled, "()Z"), + LSP_NATIVE_METHOD(ConfigManager, getInstallerPackageName, "()Ljava/lang/String;"), + LSP_NATIVE_METHOD(ConfigManager, getDataPathPrefix, "()Ljava/lang/String;"), + LSP_NATIVE_METHOD(ConfigManager, getPrefsPath, + "(Ljava/lang/String;)Ljava/lang/String;"), + LSP_NATIVE_METHOD(ConfigManager, getCachePath, + "(Ljava/lang/String;)Ljava/lang/String;"), + LSP_NATIVE_METHOD(ConfigManager, getBaseConfigPath, "()Ljava/lang/String;"), + LSP_NATIVE_METHOD(ConfigManager, getModulesList, "()Ljava/lang/String;"), }; void RegisterConfigManagerMethods(JNIEnv *env) { - REGISTER_EDXP_NATIVE_METHODS("io.github.lsposed.lspd.config.ConfigManager"); + REGISTER_EDXP_NATIVE_METHODS("io.github.lsposed.lspd.nativebridge.ConfigManager"); } } \ No newline at end of file diff --git a/core/src/main/cpp/main/src/jni/yahfa.cpp b/core/src/main/cpp/main/src/jni/yahfa.cpp index d132d6f0..ff4ebbb9 100644 --- a/core/src/main/cpp/main/src/jni/yahfa.cpp +++ b/core/src/main/cpp/main/src/jni/yahfa.cpp @@ -9,41 +9,41 @@ namespace lspd { - static void Yahfa_init(JNI_START, jint sdkVersion) { + LSP_DEF_NATIVE_METHOD(void, Yahfa, init, jint sdkVersion) { Java_lab_galaxy_yahfa_HookMain_init(env, clazz, sdkVersion); } - static jobject Yahfa_findMethodNative(JNI_START, jclass targetClass, + LSP_DEF_NATIVE_METHOD(jobject, Yahfa, findMethodNative, jclass targetClass, jstring methodName, jstring methodSig) { return Java_lab_galaxy_yahfa_HookMain_findMethodNative(env, clazz, targetClass, methodName, methodSig); } - static jboolean Yahfa_backupAndHookNative(JNI_START, jobject target, + LSP_DEF_NATIVE_METHOD(jboolean, Yahfa, backupAndHookNative, jobject target, jobject hook, jobject backup) { return Java_lab_galaxy_yahfa_HookMain_backupAndHookNative(env, clazz, target, hook, backup); } - static void Yahfa_recordHooked(JNI_START, jobject member) { + LSP_DEF_NATIVE_METHOD(void, Yahfa, recordHooked, jobject member) { lspd::recordHooked(getArtMethodYahfa(env, member)); } - static jboolean Yahfa_isHooked(JNI_START, jobject member) { + LSP_DEF_NATIVE_METHOD(jboolean, Yahfa, isHooked, jobject member) { return lspd::isHooked(getArtMethodYahfa(env, member)); } static JNINativeMethod gMethods[] = { - NATIVE_METHOD(Yahfa, init, "(I)V"), - NATIVE_METHOD(Yahfa, findMethodNative, + LSP_NATIVE_METHOD(Yahfa, init, "(I)V"), + LSP_NATIVE_METHOD(Yahfa, findMethodNative, "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/reflect/Member;"), - NATIVE_METHOD(Yahfa, backupAndHookNative, + LSP_NATIVE_METHOD(Yahfa, backupAndHookNative, "(Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)Z"), - NATIVE_METHOD(Yahfa, recordHooked, "(Ljava/lang/reflect/Member;)V"), - NATIVE_METHOD(Yahfa, isHooked, "(Ljava/lang/reflect/Member;)Z"), + LSP_NATIVE_METHOD(Yahfa, recordHooked, "(Ljava/lang/reflect/Member;)V"), + LSP_NATIVE_METHOD(Yahfa, isHooked, "(Ljava/lang/reflect/Member;)Z") }; void RegisterEdxpYahfa(JNIEnv *env) { - REGISTER_EDXP_NATIVE_METHODS("io.github.lsposed.lspd.core.Yahfa"); + REGISTER_EDXP_NATIVE_METHODS("io.github.lsposed.lspd.nativebridge.Yahfa"); } } \ No newline at end of file diff --git a/core/src/main/java/de/robv/android/xposed/XposedBridge.java b/core/src/main/java/de/robv/android/xposed/XposedBridge.java index bc07c705..fe8cbcb3 100644 --- a/core/src/main/java/de/robv/android/xposed/XposedBridge.java +++ b/core/src/main/java/de/robv/android/xposed/XposedBridge.java @@ -5,7 +5,7 @@ import android.content.res.TypedArray; import android.util.Log; import io.github.lsposed.lspd.BuildConfig; -import io.github.lsposed.lspd.config.ConfigManager; +import io.github.lsposed.lspd.nativebridge.ConfigManager; import io.github.lsposed.lspd.config.LSPdConfigGlobal; import java.lang.reflect.AccessibleObject; diff --git a/core/src/main/java/de/robv/android/xposed/XposedInit.java b/core/src/main/java/de/robv/android/xposed/XposedInit.java index ae49e725..cc28252f 100644 --- a/core/src/main/java/de/robv/android/xposed/XposedInit.java +++ b/core/src/main/java/de/robv/android/xposed/XposedInit.java @@ -4,7 +4,6 @@ import android.app.ActivityThread; import android.app.AndroidAppHelper; import android.content.pm.ApplicationInfo; import android.content.res.Resources; -import android.content.res.ResourcesImpl; import android.content.res.TypedArray; import android.content.res.XResources; import android.os.Build; @@ -14,7 +13,7 @@ import android.util.ArraySet; import android.util.Log; import com.android.internal.os.ZygoteInit; -import io.github.lsposed.lspd.config.ConfigManager; +import io.github.lsposed.lspd.nativebridge.ConfigManager; import io.github.lsposed.lspd.config.LSPdConfigGlobal; import java.io.BufferedReader; diff --git a/core/src/main/java/io/github/lsposed/lspd/_hooker/impl/HandleBindApp.java b/core/src/main/java/io/github/lsposed/lspd/_hooker/impl/HandleBindApp.java index 8779e726..c53d224d 100644 --- a/core/src/main/java/io/github/lsposed/lspd/_hooker/impl/HandleBindApp.java +++ b/core/src/main/java/io/github/lsposed/lspd/_hooker/impl/HandleBindApp.java @@ -10,7 +10,7 @@ import android.content.pm.ApplicationInfo; import android.content.res.CompatibilityInfo; import android.content.res.XResources; -import io.github.lsposed.lspd.config.ConfigManager; +import io.github.lsposed.lspd.nativebridge.ConfigManager; import io.github.lsposed.lspd.util.Hookers; import io.github.lsposed.lspd.util.MetaDataReader; import io.github.lsposed.lspd.util.Utils; diff --git a/core/src/main/java/io/github/lsposed/lspd/_hooker/impl/LoadedApkGetCL.java b/core/src/main/java/io/github/lsposed/lspd/_hooker/impl/LoadedApkGetCL.java index 7bd187b5..cb095faa 100644 --- a/core/src/main/java/io/github/lsposed/lspd/_hooker/impl/LoadedApkGetCL.java +++ b/core/src/main/java/io/github/lsposed/lspd/_hooker/impl/LoadedApkGetCL.java @@ -2,7 +2,7 @@ package io.github.lsposed.lspd._hooker.impl; import android.app.LoadedApk; -import io.github.lsposed.lspd.config.ConfigManager; +import io.github.lsposed.lspd.nativebridge.ConfigManager; import io.github.lsposed.lspd.hooker.XposedInstallerHooker; import io.github.lsposed.lspd.util.Hookers; diff --git a/core/src/main/java/io/github/lsposed/lspd/config/BaseHookProvider.java b/core/src/main/java/io/github/lsposed/lspd/config/BaseHookProvider.java index 80337c22..a2f59d5c 100644 --- a/core/src/main/java/io/github/lsposed/lspd/config/BaseHookProvider.java +++ b/core/src/main/java/io/github/lsposed/lspd/config/BaseHookProvider.java @@ -1,6 +1,6 @@ package io.github.lsposed.lspd.config; -import io.github.lsposed.lspd.core.Yahfa; +import io.github.lsposed.lspd.nativebridge.Yahfa; import io.github.lsposed.lspd.deopt.PrebuiltMethodsDeopter; import io.github.lsposed.lspd.hook.HookProvider; diff --git a/core/src/main/java/io/github/lsposed/lspd/core/yahfa/HookMain.java b/core/src/main/java/io/github/lsposed/lspd/core/yahfa/HookMain.java index afaf4ce5..ac470e00 100644 --- a/core/src/main/java/io/github/lsposed/lspd/core/yahfa/HookMain.java +++ b/core/src/main/java/io/github/lsposed/lspd/core/yahfa/HookMain.java @@ -1,7 +1,7 @@ package io.github.lsposed.lspd.core.yahfa; -import io.github.lsposed.lspd.art.Heap; -import io.github.lsposed.lspd.core.Yahfa; +import io.github.lsposed.lspd.nativebridge.Heap; +import io.github.lsposed.lspd.nativebridge.Yahfa; import io.github.lsposed.lspd.util.Utils; import java.lang.reflect.Constructor; diff --git a/core/src/main/java/io/github/lsposed/lspd/deopt/PrebuiltMethodsDeopter.java b/core/src/main/java/io/github/lsposed/lspd/deopt/PrebuiltMethodsDeopter.java index 037dd42f..7a71b96a 100644 --- a/core/src/main/java/io/github/lsposed/lspd/deopt/PrebuiltMethodsDeopter.java +++ b/core/src/main/java/io/github/lsposed/lspd/deopt/PrebuiltMethodsDeopter.java @@ -2,7 +2,7 @@ package io.github.lsposed.lspd.deopt; import android.text.TextUtils; -import io.github.lsposed.lspd.config.ConfigManager; +import io.github.lsposed.lspd.nativebridge.ConfigManager; import io.github.lsposed.lspd.config.LSPdConfigGlobal; import io.github.lsposed.lspd.util.Utils; diff --git a/core/src/main/java/io/github/lsposed/lspd/hooker/XposedInstallerHooker.java b/core/src/main/java/io/github/lsposed/lspd/hooker/XposedInstallerHooker.java index 863cbbc8..dbad86b3 100644 --- a/core/src/main/java/io/github/lsposed/lspd/hooker/XposedInstallerHooker.java +++ b/core/src/main/java/io/github/lsposed/lspd/hooker/XposedInstallerHooker.java @@ -4,7 +4,7 @@ import de.robv.android.xposed.XC_MethodReplacement; import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.XposedHelpers; import io.github.lsposed.lspd.BuildConfig; -import io.github.lsposed.lspd.config.ConfigManager; +import io.github.lsposed.lspd.nativebridge.ConfigManager; import io.github.lsposed.lspd.core.EdxpImpl; import io.github.lsposed.lspd.core.Main; import io.github.lsposed.lspd.util.Utils; diff --git a/core/src/main/java/io/github/lsposed/lspd/art/ClassLinker.java b/core/src/main/java/io/github/lsposed/lspd/nativebridge/ClassLinker.java similarity index 90% rename from core/src/main/java/io/github/lsposed/lspd/art/ClassLinker.java rename to core/src/main/java/io/github/lsposed/lspd/nativebridge/ClassLinker.java index b26e86e0..4a47df21 100644 --- a/core/src/main/java/io/github/lsposed/lspd/art/ClassLinker.java +++ b/core/src/main/java/io/github/lsposed/lspd/nativebridge/ClassLinker.java @@ -1,4 +1,4 @@ -package io.github.lsposed.lspd.art; +package io.github.lsposed.lspd.nativebridge; import io.github.lsposed.common.KeepAll; diff --git a/core/src/main/java/io/github/lsposed/lspd/config/ConfigManager.java b/core/src/main/java/io/github/lsposed/lspd/nativebridge/ConfigManager.java similarity index 93% rename from core/src/main/java/io/github/lsposed/lspd/config/ConfigManager.java rename to core/src/main/java/io/github/lsposed/lspd/nativebridge/ConfigManager.java index cbac55c2..3d2d405d 100644 --- a/core/src/main/java/io/github/lsposed/lspd/config/ConfigManager.java +++ b/core/src/main/java/io/github/lsposed/lspd/nativebridge/ConfigManager.java @@ -1,4 +1,4 @@ -package io.github.lsposed.lspd.config; +package io.github.lsposed.lspd.nativebridge; public class ConfigManager { diff --git a/core/src/main/java/io/github/lsposed/lspd/art/Heap.java b/core/src/main/java/io/github/lsposed/lspd/nativebridge/Heap.java similarity index 62% rename from core/src/main/java/io/github/lsposed/lspd/art/Heap.java rename to core/src/main/java/io/github/lsposed/lspd/nativebridge/Heap.java index fcfbfc06..f75ad6c3 100644 --- a/core/src/main/java/io/github/lsposed/lspd/art/Heap.java +++ b/core/src/main/java/io/github/lsposed/lspd/nativebridge/Heap.java @@ -1,7 +1,5 @@ -package io.github.lsposed.lspd.art; +package io.github.lsposed.lspd.nativebridge; public class Heap { - public static native int waitForGcToComplete(); - } diff --git a/core/src/main/java/io/github/lsposed/lspd/core/Yahfa.java b/core/src/main/java/io/github/lsposed/lspd/nativebridge/Yahfa.java similarity index 92% rename from core/src/main/java/io/github/lsposed/lspd/core/Yahfa.java rename to core/src/main/java/io/github/lsposed/lspd/nativebridge/Yahfa.java index 02b5758b..4b6e2f0e 100644 --- a/core/src/main/java/io/github/lsposed/lspd/core/Yahfa.java +++ b/core/src/main/java/io/github/lsposed/lspd/nativebridge/Yahfa.java @@ -1,4 +1,4 @@ -package io.github.lsposed.lspd.core; +package io.github.lsposed.lspd.nativebridge; import java.lang.reflect.Member; import java.lang.reflect.Method; diff --git a/core/src/main/java/io/github/lsposed/lspd/proxy/NormalProxy.java b/core/src/main/java/io/github/lsposed/lspd/proxy/NormalProxy.java index 4b2d6909..f4fe5867 100644 --- a/core/src/main/java/io/github/lsposed/lspd/proxy/NormalProxy.java +++ b/core/src/main/java/io/github/lsposed/lspd/proxy/NormalProxy.java @@ -1,6 +1,6 @@ package io.github.lsposed.lspd.proxy; -import io.github.lsposed.lspd.config.ConfigManager; +import io.github.lsposed.lspd.nativebridge.ConfigManager; import io.github.lsposed.lspd.deopt.PrebuiltMethodsDeopter; import io.github.lsposed.lspd.util.Utils; diff --git a/core/src/main/java/io/github/lsposed/lspd/sandhook/config/SandHookProvider.java b/core/src/main/java/io/github/lsposed/lspd/sandhook/config/SandHookProvider.java index f0bec4bc..e9324d10 100644 --- a/core/src/main/java/io/github/lsposed/lspd/sandhook/config/SandHookProvider.java +++ b/core/src/main/java/io/github/lsposed/lspd/sandhook/config/SandHookProvider.java @@ -2,10 +2,10 @@ package io.github.lsposed.lspd.sandhook.config; import android.util.Log; -import io.github.lsposed.lspd.art.ClassLinker; +import io.github.lsposed.lspd.nativebridge.ClassLinker; import io.github.lsposed.lspd.config.BaseHookProvider; import io.github.lsposed.lspd.core.ResourcesHook; -import io.github.lsposed.lspd.core.Yahfa; +import io.github.lsposed.lspd.nativebridge.Yahfa; import com.swift.sandhook.xposedcompat.XposedCompat; import com.swift.sandhook.xposedcompat.methodgen.SandHookXposedBridge; diff --git a/core/src/main/java/io/github/lsposed/lspd/sandhook/core/SandHookEdxpImpl.java b/core/src/main/java/io/github/lsposed/lspd/sandhook/core/SandHookEdxpImpl.java index 59a51684..b0717136 100644 --- a/core/src/main/java/io/github/lsposed/lspd/sandhook/core/SandHookEdxpImpl.java +++ b/core/src/main/java/io/github/lsposed/lspd/sandhook/core/SandHookEdxpImpl.java @@ -5,7 +5,7 @@ import android.os.Build; import io.github.lsposed.lspd.core.BaseEdxpImpl; import io.github.lsposed.lspd.core.EdxpImpl; import io.github.lsposed.lspd.core.Main; -import io.github.lsposed.lspd.core.Yahfa; +import io.github.lsposed.lspd.nativebridge.Yahfa; import com.swift.sandhook.xposedcompat.methodgen.SandHookXposedBridge; public class SandHookEdxpImpl extends BaseEdxpImpl { diff --git a/core/src/main/java/io/github/lsposed/lspd/util/FileUtils.java b/core/src/main/java/io/github/lsposed/lspd/util/FileUtils.java index 4b799c22..e809aedd 100644 --- a/core/src/main/java/io/github/lsposed/lspd/util/FileUtils.java +++ b/core/src/main/java/io/github/lsposed/lspd/util/FileUtils.java @@ -2,7 +2,7 @@ package io.github.lsposed.lspd.util; import android.text.TextUtils; -import io.github.lsposed.lspd.config.ConfigManager; +import io.github.lsposed.lspd.nativebridge.ConfigManager; import java.io.BufferedReader; import java.io.BufferedWriter; diff --git a/core/src/main/java/io/github/lsposed/lspd/yahfa/config/YahfaHookProvider.java b/core/src/main/java/io/github/lsposed/lspd/yahfa/config/YahfaHookProvider.java index 42bed4b2..90e8d522 100644 --- a/core/src/main/java/io/github/lsposed/lspd/yahfa/config/YahfaHookProvider.java +++ b/core/src/main/java/io/github/lsposed/lspd/yahfa/config/YahfaHookProvider.java @@ -1,9 +1,9 @@ package io.github.lsposed.lspd.yahfa.config; -import io.github.lsposed.lspd.art.ClassLinker; +import io.github.lsposed.lspd.nativebridge.ClassLinker; import io.github.lsposed.lspd.config.BaseHookProvider; import io.github.lsposed.lspd.core.ResourcesHook; -import io.github.lsposed.lspd.core.Yahfa; +import io.github.lsposed.lspd.nativebridge.Yahfa; import io.github.lsposed.lspd.yahfa.dexmaker.DynamicBridge; import java.lang.reflect.Member; diff --git a/core/src/main/java/io/github/lsposed/lspd/yahfa/core/YahfaEdxpImpl.java b/core/src/main/java/io/github/lsposed/lspd/yahfa/core/YahfaEdxpImpl.java index 7196a7a9..58911628 100644 --- a/core/src/main/java/io/github/lsposed/lspd/yahfa/core/YahfaEdxpImpl.java +++ b/core/src/main/java/io/github/lsposed/lspd/yahfa/core/YahfaEdxpImpl.java @@ -6,7 +6,7 @@ import io.github.lsposed.lspd.core.BaseEdxpImpl; import io.github.lsposed.lspd.core.EdxpImpl; import io.github.lsposed.lspd.core.Main; import io.github.lsposed.lspd.core.Proxy; -import io.github.lsposed.lspd.core.Yahfa; +import io.github.lsposed.lspd.nativebridge.Yahfa; import io.github.lsposed.lspd.proxy.NormalProxy; import io.github.lsposed.lspd.proxy.Router; diff --git a/core/src/main/java/io/github/lsposed/lspd/yahfa/dexmaker/DexMakerUtils.java b/core/src/main/java/io/github/lsposed/lspd/yahfa/dexmaker/DexMakerUtils.java index 1e28f28e..e92fc49e 100644 --- a/core/src/main/java/io/github/lsposed/lspd/yahfa/dexmaker/DexMakerUtils.java +++ b/core/src/main/java/io/github/lsposed/lspd/yahfa/dexmaker/DexMakerUtils.java @@ -1,6 +1,6 @@ package io.github.lsposed.lspd.yahfa.dexmaker; -import io.github.lsposed.lspd.config.ConfigManager; +import io.github.lsposed.lspd.nativebridge.ConfigManager; import io.github.lsposed.lspd.util.Utils; import java.io.File; diff --git a/core/src/main/java/io/github/lsposed/lspd/yahfa/dexmaker/HookerDexMaker.java b/core/src/main/java/io/github/lsposed/lspd/yahfa/dexmaker/HookerDexMaker.java index 7985cb34..d7df91c8 100644 --- a/core/src/main/java/io/github/lsposed/lspd/yahfa/dexmaker/HookerDexMaker.java +++ b/core/src/main/java/io/github/lsposed/lspd/yahfa/dexmaker/HookerDexMaker.java @@ -4,7 +4,7 @@ import android.annotation.TargetApi; import android.os.Build; import io.github.lsposed.lspd.BuildConfig; -import io.github.lsposed.lspd.config.ConfigManager; +import io.github.lsposed.lspd.nativebridge.ConfigManager; import io.github.lsposed.lspd.core.yahfa.HookMain; import io.github.lsposed.lspd.util.ProxyClassLoader; diff --git a/core/src/main/java/io/swift/sandhook/xposedcompat/XposedCompat.java b/core/src/main/java/io/swift/sandhook/xposedcompat/XposedCompat.java index 3d8541c6..62314de1 100644 --- a/core/src/main/java/io/swift/sandhook/xposedcompat/XposedCompat.java +++ b/core/src/main/java/io/swift/sandhook/xposedcompat/XposedCompat.java @@ -3,7 +3,7 @@ package com.swift.sandhook.xposedcompat; import android.os.Process; import android.text.TextUtils; -import io.github.lsposed.lspd.config.ConfigManager; +import io.github.lsposed.lspd.nativebridge.ConfigManager; import io.github.lsposed.lspd.util.FileUtils; import io.github.lsposed.lspd.util.ProcessUtils; import io.github.lsposed.lspd.util.ProxyClassLoader; diff --git a/core/src/main/java/io/swift/sandhook/xposedcompat/methodgen/HookerDexMaker.java b/core/src/main/java/io/swift/sandhook/xposedcompat/methodgen/HookerDexMaker.java index a8beb44c..edf03db9 100644 --- a/core/src/main/java/io/swift/sandhook/xposedcompat/methodgen/HookerDexMaker.java +++ b/core/src/main/java/io/swift/sandhook/xposedcompat/methodgen/HookerDexMaker.java @@ -1,6 +1,6 @@ package com.swift.sandhook.xposedcompat.methodgen; -import io.github.lsposed.lspd.config.ConfigManager; +import io.github.lsposed.lspd.nativebridge.ConfigManager; import com.swift.sandhook.SandHook; import com.swift.sandhook.SandHookMethodResolver; import com.swift.sandhook.wrapper.HookWrapper; diff --git a/core/src/main/java/io/swift/sandhook/xposedcompat/methodgen/HookerDexMakerNew.java b/core/src/main/java/io/swift/sandhook/xposedcompat/methodgen/HookerDexMakerNew.java index 5afb4ac6..7e9ccf4b 100644 --- a/core/src/main/java/io/swift/sandhook/xposedcompat/methodgen/HookerDexMakerNew.java +++ b/core/src/main/java/io/swift/sandhook/xposedcompat/methodgen/HookerDexMakerNew.java @@ -1,6 +1,6 @@ package com.swift.sandhook.xposedcompat.methodgen; -import io.github.lsposed.lspd.config.ConfigManager; +import io.github.lsposed.lspd.nativebridge.ConfigManager; import com.swift.sandhook.SandHook; import com.swift.sandhook.wrapper.HookWrapper; import com.swift.sandhook.xposedcompat.hookstub.HookStubManager; diff --git a/core/src/main/java/io/swift/sandhook/xposedcompat/methodgen/SandHookXposedBridge.java b/core/src/main/java/io/swift/sandhook/xposedcompat/methodgen/SandHookXposedBridge.java index 6f4bd3e1..66c38131 100644 --- a/core/src/main/java/io/swift/sandhook/xposedcompat/methodgen/SandHookXposedBridge.java +++ b/core/src/main/java/io/swift/sandhook/xposedcompat/methodgen/SandHookXposedBridge.java @@ -4,8 +4,8 @@ import android.os.Build; import android.os.Process; import android.os.Trace; -import io.github.lsposed.lspd.config.ConfigManager; -import io.github.lsposed.lspd.core.Yahfa; +import io.github.lsposed.lspd.nativebridge.ConfigManager; +import io.github.lsposed.lspd.nativebridge.Yahfa; import io.github.lsposed.lspd.util.ClassLoaderUtils; import io.github.lsposed.lspd.util.FileUtils; import com.swift.sandhook.SandHook; diff --git a/core/src/main/java/io/swift/sandhook/xposedcompat/utils/DexMakerUtils.java b/core/src/main/java/io/swift/sandhook/xposedcompat/utils/DexMakerUtils.java index 89f21fb4..8f2adcbe 100644 --- a/core/src/main/java/io/swift/sandhook/xposedcompat/utils/DexMakerUtils.java +++ b/core/src/main/java/io/swift/sandhook/xposedcompat/utils/DexMakerUtils.java @@ -1,5 +1,5 @@ package com.swift.sandhook.xposedcompat.utils; -import io.github.lsposed.lspd.config.ConfigManager; +import io.github.lsposed.lspd.nativebridge.ConfigManager; import io.github.lsposed.lspd.util.Utils; import java.io.File;