文献参考
夜神模拟器CPU架构
夜神模拟器采用的架构.png
说明夜神采用的架构是X86的架构,X86支持也同时支持 armeabi armeabi-v7a,但是并不保证说100%不会发生崩溃的现象,X86是以32位模式运行 armeabi armeabi-v7a
以下是通过代码的方式得到在夜神模拟器里面,夜神支持的架构。
通过代码获取支持的类型.jpg
代码
/**
* @date 创建时间:2020/10/12 0012
* @auther gaoxiaoxiong
* @Descriptiion 获取CPU支持的架构
**/
public void getCPUABI() {
final String[] supportAbisArray = getStringList("ro.product.cpu.abilist", ",");
if (supportAbisArray != null && supportAbisArray.length > 0) {
for (String s : supportAbisArray) {
MLLogUtils.gxx_error("支持的架构有=" + s);
}
}
}
private String[] getStringList(String property, String separator) {
try {
Class systemPropertiesClass = Class.forName("android.os.SystemProperties");
Method m = systemPropertiesClass.getMethod("get", String.class);
String navBarOverride = (String) m.invoke(systemPropertiesClass, property);
return navBarOverride.isEmpty() ? new String[0] : navBarOverride.split(separator);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return null;
}
360加固后崩溃的原因(怀疑)
1、我项目只支持 armeabi-v7a ,但是使用360加固后,会在armeabi-v7a文件夹多出一个 libX86Bridge.so ,当然我第一眼看到这个名字给我的第一个感觉是为X86准备的,后面我又看到有人说了类似的问题,但是在真机是不会崩溃的,只是在模拟器上会这样,所以应该是不够兼容导致的。