私はその方法でlibを内部にロードしようとしています:
getBundledStackLibFile():
PackageInfo packageInfo = ctx.getPackageManager().getPackageInfo(ctx.getPackageName(), 0);
if(packageInfo != null) {
ApplicationInfo appInfo = packageInfo.applicationInfo;
File f = getLibFileFromPackage(appInfo, libName, true);
return f;
}
// This is the very last fallback method
return new File(ctx.getFilesDir().getParent(), "lib" + File.separator + libName);
そして、私はその.soファイルを使用するための絶対パスを使用しています:
File openslLib = getBundledStackLibFile(activityForUsing,
"libpj_opensl_dev.so");
audImp.setShared_lib_path(pjsua.pj_str_copy(openslLib.getAbsolutePath()));
しかし、私にはエラーがあります:
10-01 10:53:11.209:開くことができません:/data/data/com.myApp.android/lib/libpj_opensl_dev.soライブラリを読み込めません:link_image [1995]:libpj_opensl_dev.soのリンクに失敗しました
これが解凍されたarkファイルです(必要なlibはすべてのディレクトリに表示され、短い画面は単なるサンプルです。