0

我收到此错误 -

A/libc: Fatal signal 31 (SIGSYS), code 1 in tid 4168 (m.messagingdapp) 

当我将我的应用程序从 API 24 升级到 26 时(必须这样做才能获得 java.nio.file 功能)。这是我在 logcat 中可以看到的唯一错误。它在使用 API 24 运行时工作正常。在访问我正在使用的 API 时出现错误,在这一行中称为 go-ethereum -

String f = this.getFilesDir() + "/.ethereum";
Long n = Geth.LightScryptN;
Long p = Geth.LightScryptP;
AccountManager am = Geth.newAccountManager(f, n, p); //HERE

下拉菜单中logcat的不同部分似乎还有很多其他错误,即system_process。但是,我是 android 新手,并不真正知道我在寻找什么(我已经分别用谷歌搜索了所有这些,但没有得到修复)。谢谢。

完整的笑猫 -

07-25 22:17:14.774 9625-9625/? I/zygote: Not late-enabling -Xcheck:jni 
(already on)
07-25 22:17:14.825 9625-9625/? W/zygote: Unexpected CPU variant for X86 
using defaults: x86
07-25 22:17:15.181 9625-9625/benkrarup.ethereum.messagingdapp W/zygote: 
Class android.support.v4.util.SimpleArrayMap failed lock verification 
and will run slower.
07-25 22:17:15.181 9625-9625/benkrarup.ethereum.messagingdapp W/zygote: 
Common causes for lock verification issues are non-optimized dex code
07-25 22:17:15.181 9625-9625/benkrarup.ethereum.messagingdapp W/zygote: 
and incorrect proguard optimizations.
07-25 22:17:15.184 9625-9625/benkrarup.ethereum.messagingdapp W/zygote: 
Class cz.msebera.android.httpclient.conn.util.PublicSuffixMatcherLoader 
failed lock verification and will run slower.
07-25 22:17:15.191 9625-9625/benkrarup.ethereum.messagingdapp 
D/NetworkSecurityConfig: No Network Security Config specified, using 
platform default
07-25 22:17:15.216 9625-9625/benkrarup.ethereum.messagingdapp 
W/Java7Support: Unable to load JDK7 types (annotations, 
java.nio.file.Path): no Java7 support added
07-25 22:17:15.596 9625-9657/benkrarup.ethereum.messagingdapp A/libc: 
Fatal signal 31 (SIGSYS), code 1 in tid 9657 (m.messagingdapp)
4

1 回答 1

4

Android 8 O (SDK 26) 通过在 Linux 内核中启用称为安全计算的功能来限制允许哪些系统调用以出于安全原因。

这意味着只能执行列入白名单的呼叫,并且任何其他呼叫都将导致signal 31 (SIGSYS), code 1 (SYS_SECCOMP),就像您正在经历的那样。您将需要检查此信号的堆栈跟踪以找出不允许的系统调用(在您的问题中未完全列出)。

您可以在此处找到允许的呼叫列表。不允许任何其他呼叫。

您可以在此处找到 Google 对此所写的内容。

于 2017-07-26T05:46:56.610 回答