相关疑难解决方法(0)

如何在 Android Studio 中终止数据库检查器

我在 Android Studio 4.1 Canary 10 (Build #AI-201.7223.91.41.6507185) 中使用数据库检查器,由于这是一个新功能,我遇到了很多错误。并且有很多事件日志弹出窗口如下:

数据库检查器:读取 Sqlite 数据库时出错:无法对数据库 (id=8) 执行操作。数据库可能已经关闭。

它在应用程序启动后立即使我的应用程序崩溃。

所以我的问题是如何从我的进程中分离数据库检查器?一旦我附加了一个进程或只是打开了数据库检查器,它就不会让我的应用程序单独存在,直到我重新启动 android studio。有什么方法可以随时终止数据库检查器吗?

android-studio android-studio-4.0

25
推荐指数
2
解决办法
3927
查看次数

Android Studio Preview 4.1 数据库检查器使应用程序崩溃

我收到这样的通知

读取 Sqlite 数据库时出错:无法对数据库 (id=3) 执行操作。数据库可能已经关闭。

在 Android Studio 模拟器中调试我的应用程序时,如果我快速更改数据库检查器的进程,那么应用程序在模拟器上运行正常,否则它会立即断开连接并崩溃。

android android-studio

13
推荐指数
1
解决办法
3257
查看次数

如何识别正在访问隐藏方法的内容

我有一个 flutter 应用程序,它会生成很多隐藏的 API 警告:

Accessing hidden method Landroid/view/accessibility/AccessibilityNodeInfo;->getSourceNodeId()J (greylist,test-api, reflection, allowed)
Accessing hidden method Landroid/view/accessibility/AccessibilityRecord;->getSourceNodeId()J (greylist, reflection, allowed)
Accessing hidden field Landroid/view/accessibility/AccessibilityNodeInfo;->mChildNodeIds:Landroid/util/LongArray; (greylist, reflection, allowed)
Accessing hidden method Landroid/util/LongArray;->get(I)J (greylist, reflection, allowed)
...
Accessing hidden method Landroid/database/sqlite/SQLiteDatabase;-><clinit>()V (blacklist, linking, denied)
Accessing hidden field Landroid/database/sqlite/SQLiteDatabase;->DEBUG_CLOSE_IDLE_CONNECTIONS:Z (greylist-max-o, linking, denied)
Accessing hidden field Landroid/database/sqlite/SQLiteDatabase;->sActiveDatabases:Ljava/util/WeakHashMap; (greylist-max-o, linking, denied)
Accessing hidden field Landroid/database/sqlite/SQLiteDatabase;->CONFLICT_VALUES:[Ljava/lang/String; (greylist, linking, allowed)
Run Code Online (Sandbox Code Playgroud)

等等。我还没有编写任何代码来使用 Android 的SQLiteDatabaseAccessibilityNodeInfo,但这没有提供有关哪段代码正在调用这些隐藏方法的任何信息。它可能在 Flutter 中,或者我拥有的几个插件之一中。除了破坏我的代码来删除这些插件之外,我可以做些什么来找出调用这些插件的代码吗?即获取堆栈跟踪。

Android 是否可以选择在隐藏字段访问时崩溃,而不仅仅是记录它们,或者类似的东西?

android flutter

10
推荐指数
1
解决办法
1万
查看次数