我收到此错误 -
"if input is x AND choice is y, OR if...."
当我将我的应用程序从API 24升级到26时(必须要获取java.nio.file功能)。这是我在logcat中看到的唯一错误。它在使用API 24运行时工作正常。访问我在此行使用名为go-ethereum的API时会出错。
A/libc: Fatal signal 31 (SIGSYS), code 1 in tid 4168 (m.messagingdapp)
在下拉菜单中,logcat的不同部分似乎还有很多其他错误,即system_process。但是,我是Android的新手,并不知道我在寻找什么(我已经分别搜索了所有这些,但没有得到修复)。感谢。
完整的lolcat -
String f = this.getFilesDir() + "/.ethereum";
Long n = Geth.LightScryptN;
Long p = Geth.LightScryptP;
AccountManager am = Geth.newAccountManager(f, n, p); //HERE
答案 0 :(得分:3)
Android 8 O(SDK 26)通过在Linux内核中启用名为secure computing的功能,限制了出于安全原因允许的系统调用。
这意味着只能执行列入白名单的通话,而任何其他通话都会产生signal 31 (SIGSYS), code 1 (SYS_SECCOMP)
,就像您遇到的那样。您需要检查此信号的堆栈跟踪,以找出不允许的系统调用(未在您的问题中完整列出)。
您可以找到允许来电here的列表。不允许任何其他电话。
您可以找到Google撰写的关于此here的内容。