Updated tester with new way of checking CPU ABIs

This commit is contained in:
Sylvain Berfini 2015-05-07 10:45:58 +02:00
parent 452a8b857e
commit d8bb551e72

View file

@ -1,5 +1,7 @@
package org.linphone.tester; package org.linphone.tester;
import java.util.List;
import org.linphone.core.LinphoneCoreFactory; import org.linphone.core.LinphoneCoreFactory;
import org.linphone.mediastream.Version; import org.linphone.mediastream.Version;
@ -23,25 +25,35 @@ public class Tester {
} }
static { static {
List<String> cpuabis=Version.getCpuAbis();
LinphoneCoreFactory.instance(); String ffmpegAbi;
boolean libLoaded=false;
System.loadLibrary("cunit"); Throwable firstException=null;
String eabi = "armeabi"; for (String abi : cpuabis){
if (Version.isX86()) { Log.i("LinphoneCoreFactoryImpl","Trying to load liblinphone for " + abi);
eabi = "x86"; ffmpegAbi=abi;
} else if (Version.isArmv7()) { // FFMPEG (audio/video)
eabi = "armeabi-v7a"; if (abi.startsWith("armeabi")) {
ffmpegAbi="arm";
}
loadOptionalLibrary("ffmpeg-linphone-"+ffmpegAbi);
//Main library
try {
System.loadLibrary("linphone-" + abi);
Log.i("LinphoneCoreFactoryImpl","Loading done with " + abi);
libLoaded=true;
break;
}catch(Throwable e) {
if (firstException == null) firstException=e;
}
} }
try {
System.loadLibrary("linphone_tester-"+eabi); if (!libLoaded){
throw new RuntimeException(firstException);
} catch (UnsatisfiedLinkError ule) {
Log.w("linphone", "Failed to load liblinphone_tester-"+eabi); }else{
System.loadLibrary("linphone_tester"); Version.dumpCapabilities();
} }
Version.dumpCapabilities();
} }
public native int run(String args[]); public native int run(String args[]);