- static char loc[MAX_LOCATION];
- sprintf(loc, "/data/data/com.ecere.%s/lib/lib", androidActivity.moduleName);
- return loc;
+ StripLastDirectory(packagePath, loc);
+ strcatf(loc, "/lib/%s/lib", useArch ? arch : "");
+ sprintf(mod, "%s%s.so", loc, a.argv[0]);
+ found = FileExists(mod).isFile;
+ if(!found)
+ {
+ bool useApp = true;
+ while(!found)
+ {
+ for(i = 0; !found && i < 10; i++)
+ {
+ if(i)
+ sprintf(loc, "/data/%s/com.ecere.%s-%d/lib/%s/lib", useApp ? "app" : "data", a.argv[0], i, useArch ? arch : "");
+ else
+ sprintf(loc, "/data/%s/com.ecere.%s/lib/%s/lib", useApp ? "app" : "data", a.argv[0], useArch ? arch : "");
+ sprintf(mod, "%s%s.so", loc, a.argv[0]);
+ found = FileExists(mod).isFile;
+ }
+ if(useApp)
+ useApp = false;
+ else
+ break;
+ }
+ }
+ if(useArch)
+ useArch = false;
+ else
+ break;