diff --git a/deodexerant/deodexerant.c b/deodexerant/deodexerant.c index 108db76a..e4b89a22 100644 --- a/deodexerant/deodexerant.c +++ b/deodexerant/deodexerant.c @@ -54,6 +54,10 @@ void main(int argc, char **argv) { dvmGetInlineOpsTablePtr dvmGetInlineOpsTable = dlsym(libdvm, "dvmGetInlineOpsTable"); + if (dvmGetInlineOpsTable == NULL) { + dvmGetInlineOpsTable = dlsym(libdvm, "_Z20dvmGetInlineOpsTablev"); + } + if (dvmGetInlineOpsTable == NULL) { printf("Failed to load dvmGetInlineOpsTable\n"); dlclose(libdvm); @@ -62,6 +66,10 @@ void main(int argc, char **argv) { dvmGetInlineOpsTableLengthPtr dvmGetInlineOpsTableLength = dlsym(libdvm, "dvmGetInlineOpsTableLength"); + if (dvmGetInlineOpsTableLength == NULL) { + dvmGetInlineOpsTableLength = dlsym(libdvm, "_Z26dvmGetInlineOpsTableLengthv"); + } + if (dvmGetInlineOpsTableLength == NULL) { printf("Failed to load dvmGetInlineOpsTableLength\n"); dlclose(libdvm);