mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
mach: Add ndk-stack command for android crash logs.
This commit is contained in:
parent
2ceb8dcd22
commit
ef66205436
1 changed files with 24 additions and 0 deletions
|
@ -14,6 +14,7 @@ from time import time
|
||||||
import sys
|
import sys
|
||||||
import urllib2
|
import urllib2
|
||||||
import json
|
import json
|
||||||
|
import subprocess
|
||||||
|
|
||||||
from mach.decorators import (
|
from mach.decorators import (
|
||||||
CommandArgument,
|
CommandArgument,
|
||||||
|
@ -227,3 +228,26 @@ class MachCommands(CommandBase):
|
||||||
|
|
||||||
with cd(self.context.topdir):
|
with cd(self.context.topdir):
|
||||||
return self.call_rustup_run(["cargo", "fetch"], env=self.build_env())
|
return self.call_rustup_run(["cargo", "fetch"], env=self.build_env())
|
||||||
|
|
||||||
|
@Command('ndk-stack',
|
||||||
|
description='Invoke the ndk-stack tool with the expected symbol paths',
|
||||||
|
category='devenv')
|
||||||
|
@CommandArgument('--release', action='store_true', help="Use release build symbols")
|
||||||
|
@CommandArgument('--target', action='store', default="armv7-linux-androideabi",
|
||||||
|
help="Build target")
|
||||||
|
@CommandArgument('logfile', action='store', help="Path to logcat output with crash report")
|
||||||
|
def stack(self, release, target, logfile):
|
||||||
|
if not path.isfile(logfile):
|
||||||
|
print(logfile + " doesn't exist")
|
||||||
|
return -1
|
||||||
|
env = self.build_env(target=target)
|
||||||
|
ndk_stack = path.join(env["ANDROID_NDK"], "ndk-stack")
|
||||||
|
sym_path = path.join(
|
||||||
|
"target",
|
||||||
|
target,
|
||||||
|
"release" if release else "debug",
|
||||||
|
"apk",
|
||||||
|
"obj",
|
||||||
|
"local",
|
||||||
|
"armeabi-v7a")
|
||||||
|
print(subprocess.check_output([ndk_stack, "-sym", sym_path, "-dump", logfile]))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue