Register DexParser

This commit is contained in:
LoveSy 2023-01-06 22:07:08 +08:00 committed by LoveSy
parent fdcd4ae3df
commit 1b397f74f3
3 changed files with 10 additions and 7 deletions

View File

@ -26,6 +26,7 @@
#include "jni/hook_bridge.h" #include "jni/hook_bridge.h"
#include "jni/native_api.h" #include "jni/native_api.h"
#include "jni/resources_hook.h" #include "jni/resources_hook.h"
#include "jni/dex_parser.h"
#include "symbol_cache.h" #include "symbol_cache.h"
using namespace lsplant; using namespace lsplant;
@ -87,6 +88,7 @@ namespace lspd {
RegisterResourcesHook(env); RegisterResourcesHook(env);
RegisterHookBridge(env); RegisterHookBridge(env);
RegisterNativeAPI(env); RegisterNativeAPI(env);
RegisterDexParserBridge(env);
} }
ScopedLocalRef<jclass> ScopedLocalRef<jclass>

View File

@ -310,12 +310,14 @@ namespace lspd {
auto out6i3i = env->NewObjectArray( auto out6i3i = env->NewObjectArray(
static_cast<jint>(parameter_annotation->size), object_class, nullptr); static_cast<jint>(parameter_annotation->size), object_class, nullptr);
for (size_t l = 0; l < parameter_annotation->size; ++l) { for (size_t l = 0; l < parameter_annotation->size; ++l) {
auto *parameter_annotation_item = dex.dataPtr<dex::AnnotationSetItem>( if (parameter_annotation->list[l].annotations_off != 0) {
parameter_annotation->list[l].annotations_off); auto *parameter_annotation_item = dex.dataPtr<dex::AnnotationSetItem>(
auto out6i3ii = ParseAnnotation(env, dex, object_class, parameter_annotation->list[l].annotations_off);
parameter_annotation_item); auto out6i3ii = ParseAnnotation(env, dex, object_class,
env->SetObjectArrayElement(out6i3i, static_cast<jint>(l), out6i3ii); parameter_annotation_item);
env->DeleteLocalRef(out6i3ii); env->SetObjectArrayElement(out6i3i, static_cast<jint>(l), out6i3ii);
env->DeleteLocalRef(out6i3ii);
}
} }
env->SetObjectArrayElement(out6i3, static_cast<jint>(k), out6i3i); env->SetObjectArrayElement(out6i3, static_cast<jint>(k), out6i3i);
env->DeleteLocalRef(out6i3i); env->DeleteLocalRef(out6i3i);

View File

@ -84,7 +84,6 @@ public interface DexParser {
@NonNull @NonNull
StringId getName(); StringId getName();
@NonNull
int getValueType(); int getValueType();
@Nullable @Nullable