Skip to content

Commit 5f5937e

Browse files
authored
Merge pull request tiann#42 from coding-ryu/R_apex_path
Support new apex libart path in Android R
2 parents d29f831 + b0b7e78 commit 5f5937e

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

library/src/main/cpp/fake_dlfcn.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,11 +178,13 @@ static const char *const kSystemLibDir = "/system/lib64/";
178178
static const char *const kOdmLibDir = "/odm/lib64/";
179179
static const char *const kVendorLibDir = "/vendor/lib64/";
180180
static const char *const kApexLibDir = "/apex/com.android.runtime/lib64/";
181+
static const char *const kApexArtNsLibDir = "/apex/com.android.art/lib64/";
181182
#else
182183
static const char *const kSystemLibDir = "/system/lib/";
183184
static const char *const kOdmLibDir = "/odm/lib/";
184185
static const char *const kVendorLibDir = "/vendor/lib/";
185186
static const char *const kApexLibDir = "/apex/com.android.runtime/lib/";
187+
static const char *const kApexArtNsLibDir = "/apex/com.android.art/lib/";
186188
#endif
187189

188190
static void *fake_dlopen(const char *filename, int flags) {
@@ -199,7 +201,7 @@ static void *fake_dlopen(const char *filename, int flags) {
199201
return handle;
200202
}
201203

202-
// apex
204+
// apex in ns com.android.runtime
203205
memset(buf, 0, sizeof(buf));
204206
strcpy(buf, kApexLibDir);
205207
strcat(buf, filename);
@@ -208,6 +210,15 @@ static void *fake_dlopen(const char *filename, int flags) {
208210
return handle;
209211
}
210212

213+
// apex in ns com.android.art
214+
memset(buf, 0, sizeof(buf));
215+
strcpy(buf, kApexArtNsLibDir);
216+
strcat(buf, filename);
217+
handle = fake_dlopen_with_path(buf, flags);
218+
if (handle) {
219+
return handle;
220+
}
221+
211222
//odm
212223
memset(buf, 0, sizeof(buf));
213224
strcpy(buf, kOdmLibDir);

0 commit comments

Comments
 (0)