Android get GPU模型
从termial运行以下命令时: adb外壳转储系统| grep GLES 输出为: GLES:Qualcomm、Adreno(TM)330、OpenGL ES 3.0V@53.0金(氯) 但是,当以编程方式运行时,我无法获得输出Android get GPU模型,android,opengl-es,android-runtime,android-shell,Android,Opengl Es,Android Runtime,Android Shell,从termial运行以下命令时: adb外壳转储系统| grep GLES 输出为: GLES:Qualcomm、Adreno(TM)330、OpenGL ES 3.0V@53.0金(氯) 但是,当以编程方式运行时,我无法获得输出 String GPUModel = ""; String command = "adb shell dumpsys | grep GLES"; try { InputStream inputStream = Runtime.getRuntime()
String GPUModel = "";
String command = "adb shell dumpsys | grep GLES";
try {
InputStream inputStream = Runtime.getRuntime()
.exec(command)
.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
GPUModel = bufferedReader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
GPUModel为空。您无法从应用程序运行
dumpsys
命令。它需要转储权限,只有系统应用程序和使用与系统相同的密钥签名的应用程序才会被授予此权限。您应该使用glGetString
获取GPU类型:
String renderer = GLES20.glGetString(GLES20.GL_RENDERER);
但是,如果您需要检查GPU的某些功能,最好不要检查GPU名称,而是检查是否有必要的GL扩展可用。通过请求GL\u扩展名
,您可以检索所有这些文件:
String extensions = GLES20.glGetString(GLES20.GL_EXTENSIONS);
从
命令
GLES20.glGetString(GLES20.glu渲染器)中删除adb shell
代码>-->它还返回空字符串返回空字符串