From e60825033fdde9eefaeec768a28b907e2d22f10c Mon Sep 17 00:00:00 2001 From: Andreas Gampe Date: Fri, 24 Jul 2015 14:19:44 -0700 Subject: [PATCH] Frameworks/base: Hand fingerprint to ART To allow ANR dumps to be symbolized easily, hand the build fingerprint to the runtime. Bug: 22693991 Change-Id: Ibd3d3b3bd65dce84acfb97a487807d6f280a9508 --- core/jni/AndroidRuntime.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp index bffbab7f1e695..bae2cdea69fb9 100644 --- a/core/jni/AndroidRuntime.cpp +++ b/core/jni/AndroidRuntime.cpp @@ -590,6 +590,7 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv) char cpuAbiListBuf[sizeof("--cpu-abilist=") + PROPERTY_VALUE_MAX]; char methodTraceFileBuf[sizeof("-Xmethod-trace-file:") + PROPERTY_VALUE_MAX]; char methodTraceFileSizeBuf[sizeof("-Xmethod-trace-file-size:") + PROPERTY_VALUE_MAX]; + char fingerprintBuf[sizeof("-Xfingerprint:") + PROPERTY_VALUE_MAX]; bool checkJni = false; property_get("dalvik.vm.checkjni", propBuf, ""); @@ -908,6 +909,12 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv) addOption("--generate-debug-info"); } + /* + * Retrieve the build fingerprint and provide it to the runtime. That way, ANR dumps will + * contain the fingerprint and can be parsed. + */ + parseRuntimeOption("ro.build.fingerprint", fingerprintBuf, "-Xfingerprint:"); + initArgs.version = JNI_VERSION_1_4; initArgs.options = mOptions.editArray(); initArgs.nOptions = mOptions.size();