Skip to content

Commit 4e4c93d

Browse files
author
weishu.tws
committed
improve the compatibility with some Xposed Module.
1 parent 38b7529 commit 4e4c93d

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

exposed-core/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ android {
2424
dependencies {
2525
compile fileTree(dir: 'libs', include: ['*.jar'])
2626
compile 'me.weishu.exposed:exposed-xposedapi:0.3.3' // The Xposed API
27-
compile ('me.weishu:epic:0.5.3') { // The AOP Framework
27+
compile ('me.weishu:epic:0.5.5') { // The AOP Framework
2828
exclude group: 'me.weishu.exposed', module: 'exposed-xposedapi'
2929
}
3030
compile 'com.getkeepsafe.relinker:relinker:1.2.3' // for load library
3131
}
3232

3333
group = 'me.weishu.exposed'
34-
version = '0.6.0'
34+
version = '0.6.2'
3535

3636
apply plugin: 'com.novoda.bintray-release'
3737

exposed-core/src/main/java/me/weishu/exposed/ExposedBridge.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public class ExposedBridge {
7171
? "/data/user_de/0/de.robv.android.xposed.installer/" : BASE_DIR_LEGACY;
7272

7373
private static final String WECHAT = decodeFromBase64("Y29tLnRlbmNlbnQubW0=");
74+
private static final String QQ = decodeFromBase64("Y29tLnRlbmNlbnQubW9iaWxlcXE=");
7475

7576
private static final int FAKE_XPOSED_VERSION = 91;
7677
private static final String VERSION_KEY = "version";
@@ -304,14 +305,22 @@ private static boolean ignoreHooks(Member member) {
304305
return false;
305306
}
306307

308+
String name = member.getDeclaringClass().getName();
309+
if (QQ.equals(currentPackage)) {
310+
// TODO, we just ignore this hook to avoid crash, fix it when you figure out it. (getManager)
311+
if (name.contains("QQAppInterface")) {
312+
// Log.i("mylog", "ignore hook for: " + member);
313+
return true;
314+
}
315+
}
316+
307317
if (!yieldMode) {
308318
return false;
309319
}
310320

311-
String name = member.getDeclaringClass().getName();
312321
if (WECHAT.equals(currentPackage)) {
313322
if (name.contains("wcdb")) {
314-
Log.i("mylog", "ignore hook for: " + name);
323+
// Log.i("mylog", "ignore hook for: " + member);
315324
return true;
316325
}
317326
}
@@ -348,7 +357,7 @@ private static void initForXposedModule(Context context, ApplicationInfo applica
348357
inputStream = context.getAssets().open("xposed_init");
349358
System.setProperty("epic.force", "true");
350359
} catch (IOException e) {
351-
log("initForXposedModule, ignore :" + applicationInfo.packageName);
360+
log(applicationInfo.packageName + " is not a Xposed module");
352361
} finally {
353362
closeSliently(inputStream);
354363
}

0 commit comments

Comments
 (0)