8

DBFlow在一个试图学习框架的android应用程序中搞砸了,我已经开始遇到错误,尽管我不确定它们是否与DBFlow.

这是错误消息:

01-12 06:49:43.817 1294-1310/? E/BluetoothAdapter: Bluetooth binder is null
01-12 06:49:43.818 1294-1310/? E/KernelCpuSpeedReader: Failed to read cpu-freq
                                                       java.io.FileNotFoundException: /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state: open failed: ENOENT (No such file or directory)
                                                           at libcore.io.IoBridge.open(IoBridge.java:452)
                                                           at java.io.FileInputStream.<init>(FileInputStream.java:76)
                                                           at java.io.FileInputStream.<init>(FileInputStream.java:103)
                                                           at java.io.FileReader.<init>(FileReader.java:66)
                                                           at com.android.internal.os.KernelCpuSpeedReader.readDelta(KernelCpuSpeedReader.java:49)
                                                           at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8002)
                                                           at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1366)
                                                           at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125)
                                                           at android.os.Handler.dispatchMessage(Handler.java:102)
                                                           at android.os.Looper.loop(Looper.java:148)
                                                           at android.os.HandlerThread.run(HandlerThread.java:61)
                                                           at com.android.server.ServiceThread.run(ServiceThread.java:46)
                                                        Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
                                                           at libcore.io.Posix.open(Native Method)
                                                           at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
                                                           at libcore.io.IoBridge.open(IoBridge.java:438)
                                                           at java.io.FileInputStream.<init>(FileInputStream.java:76) 
                                                           at java.io.FileInputStream.<init>(FileInputStream.java:103) 
                                                           at java.io.FileReader.<init>(FileReader.java:66) 
                                                           at com.android.internal.os.KernelCpuSpeedReader.readDelta(KernelCpuSpeedReader.java:49) 
                                                           at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8002) 
                                                           at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1366) 
                                                           at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125) 
                                                           at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                           at android.os.Looper.loop(Looper.java:148) 
                                                           at android.os.HandlerThread.run(HandlerThread.java:61) 
                                                           at com.android.server.ServiceThread.run(ServiceThread.java:46) 
01-12 06:49:43.818 1294-1310/? E/KernelUidCpuTimeReader: Failed to read uid_cputime
                                                         java.io.FileNotFoundException: /proc/uid_cputime/show_uid_stat: open failed: ENOENT (No such file or directory)
                                                             at libcore.io.IoBridge.open(IoBridge.java:452)
                                                             at java.io.FileInputStream.<init>(FileInputStream.java:76)
                                                             at java.io.FileInputStream.<init>(FileInputStream.java:103)
                                                             at java.io.FileReader.<init>(FileReader.java:66)
                                                             at com.android.internal.os.KernelUidCpuTimeReader.readDelta(KernelUidCpuTimeReader.java:71)
                                                             at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8031)
                                                             at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1366)
                                                             at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125)
                                                             at android.os.Handler.dispatchMessage(Handler.java:102)
                                                             at android.os.Looper.loop(Looper.java:148)
                                                             at android.os.HandlerThread.run(HandlerThread.java:61)
                                                             at com.android.server.ServiceThread.run(ServiceThread.java:46)
                                                          Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
                                                             at libcore.io.Posix.open(Native Method)
                                                             at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
                                                             at libcore.io.IoBridge.open(IoBridge.java:438)
                                                             at java.io.FileInputStream.<init>(FileInputStream.java:76) 
                                                             at java.io.FileInputStream.<init>(FileInputStream.java:103) 
                                                             at java.io.FileReader.<init>(FileReader.java:66) 
                                                             at com.android.internal.os.KernelUidCpuTimeReader.readDelta(KernelUidCpuTimeReader.java:71) 
                                                             at com.android.internal.os.BatteryStatsImpl.updateCpuTimeLocked(BatteryStatsImpl.java:8031) 
                                                             at com.android.server.am.BatteryStatsService.updateExternalStats(BatteryStatsService.java:1366) 
                                                             at com.android.server.am.BatteryStatsService$BatteryStatsHandler.handleMessage(BatteryStatsService.java:125) 
                                                             at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                             at android.os.Looper.loop(Looper.java:148) 
                                                             at android.os.HandlerThread.run(HandlerThread.java:61) 
                                                             at com.android.server.ServiceThread.run(ServiceThread.java:46)

我对 Android 开发还很陌生,对它们发生的原因感到困惑。它没有使我的应用程序崩溃,并且似乎并非每次都发生。

顺便说一句,我正在使用 Nexus 5 Emulator 来运行它,所以也许它与此有关?通常错误很糟糕,所以我假设这是需要关注的问题,不管它似乎不会影响应用程序......?

4

3 回答 3

3

也许你需要权限读/写文件

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
于 2016-12-13T20:33:29.227 回答
0

如果您使用 lib LeakCanary,这是因为 lib 在您的外部存储上写入泄漏,如果您使用 android API 23 及更高版本,您将被要求提供权限运行时,但在 Manifest 文件中没有该权限。

于 2018-08-24T16:58:39.623 回答
0

您指的是 DBFlow 框架。那么 DBFlow 可能只是一个与数据库交互的库。现在真正的问题是您是否知道您的应用程序是否有权读取这些文件中的每一个?您在命令行与应用程序中看到的内容不一样。我相信您以root身份运行的模拟器。至于您的应用程序,您不是 root。尝试通过文件 API 检查您的应用对该文件的权限

于 2016-01-12T15:19:43.770 回答