roid.database.sqlite.SQLiteException: no such column: is_started (Sqlite code 1 SQLITE_ERROR): ,

在尝试迁移安卓Room数据库时遇到错误,由于列名使用驼峰命名而非下划线,导致迁移失败。通过adb shell进入设备文件系统并查看数据库表结构,发现列名确实为驼峰命名。解决方法是根据实际列名调整迁移脚本,确保列名匹配。此外,可以使用设备文件浏览器下载数据库文件,用VSCode等工具进行详细检查。

room
Caused by: android.database.sqlite.SQLiteException: no such column: is_started (Sqlite code 1 SQLITE_ERROR): , while compiling: INSERT INTO clock_table_new ( clock_id, hour, minute, is_started, remark, ring_music_uri, is_vibrated, stop_once ) SELECT clock_id, hour, minute, is_started, remark, ring_music_uri, is_vibrated, stop_once FROM clock_table, (OS error - 2:No such file or directory)

安卓的 room 要迁移数据库,但是我也不知道他的列名是怎么样的,我当作是下划线,结果是错的

https://blog.youkuaiyun.com/liuyagen648379295/article/details/112230917
于是使用这篇文章的办法去查看room的数据库

cd G:\android-sdk-windows\platform-tools\
adb shell
run-as  cn.chenjianlink.android.alarmclock
 cd d
Line 11624: 01-02 16:07:38.066 1864 3648 D TorchManagerService: onTorchModeChanged, mbTorchMode: true, mbDoSetTorchModeFalseByUs: false Line 11627: 01-02 16:07:38.066 3864 4015 I SystemUi--QuickSettings: FlashlightController-->onTorchModeChanged setTorchMode=true cameraId=0 Line 11733: 01-02 16:07:38.225 8570 8570 F DEBUG : #04 pc 0000000000012770 /vendor/lib64/mt6991/libmtkcam_devicemgr.so (NSCam::CameraDeviceManagerBase::setTorchMode(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned int)+464) (BuildId: d7dac32de39179042a63e9768c3c3cec) Line 11734: 01-02 16:07:38.225 8570 8570 F DEBUG : #05 pc 0000000000010bd0 /vendor/lib64/mt6991/libmtkcam_hal_android_device.so (mcam::android::ACameraDevice::setTorchMode(mcam::android::TorchMode)+96) (BuildId: 06829189d08cf0bd9ebdddfedaf9c685) Line 11735: 01-02 16:07:38.225 8570 8570 F DEBUG : #06 pc 0000000000018080 /vendor/lib64/mt6991/libmtkcam_hal_aidl_device.so (mcam::aidl::AidlCameraDevice::setTorchMode(bool)+304) (BuildId: 0e4806974081ccb6822e9018551e3626) Line 12430: 01-02 16:07:45.215 1411 7059 E cameraserver: setTorchMode Unable to set torch mode: Line 12432: 01-02 16:07:45.215 1411 7059 E CameraService: setTorchMode: Setting torch mode of camera "0" to 0 failed: Broken pipe (-32) Line 12450: 01-02 16:07:45.218 8532 8554 W roid.camera.cts: Long monitor contention with owner Instr: androidx.test.runner.AndroidJUnitRunner (8561) at void android.hardware.camera2.CameraManager$CameraManagerGlobal.setTorchMode(java.lang.String, boolean, android.content.AttributionSourceState, int)(CameraManager.java:2938) waiters=0 in void android.hardware.camera2.CameraManager$CameraManagerGlobal.onTorchStatusChanged(int, java.lang.String, int) for 7.152s Line 12494: 01-02 16:07:45.219 8532 8561 E TestRunner: android.hardware.camera2.CameraAccessException: CAMERA_ERROR (3): setTorchMode:3299: Setting torch mode of camera "0" to 0 failed: Broken pipe (-32) Line 12496: 01-02 16:07:45.219 8532 8561 E TestRunner: at android.hardware.camera2.CameraManager$CameraManagerGlobal.setTorchMode(CameraManager.java:2933) Line 12497: 01-02 16:07:45.219 8532 8561 E TestRunner: at android.hardware.camera2.CameraManager.setTorchMode(CameraManager.java:1649) Line 12498: 01-02 16:07:45.219 8532 8561 E TestRunner: at android.hardware.camera2.cts.FlashlightTest.resetTorchModeStatus(FlashlightTest.java:420) Line 12542: 01-02 16:07:45.219 8532 8561 E TestRunner: Caused by: android.os.ServiceSpecificException: setTorchMode:3299: Setting torch mode of camera "0" to 0 failed: Broken pipe (-32) (code 10) Line 12547: 01-02 16:07:45.219 8532 8561 E TestRunner: at android.hardware.ICameraService$Stub$Proxy.setTorchMode(ICameraService.java:1311) Line 12548: 01-02 16:07:45.219 8532 8561 E TestRunner: at android.hardware.camera2.CameraManager$CameraManagerGlobal.setTorchMode(CameraManager.java:2930) Line 12610: 01-02 16:07:45.223 1411 7059 E CameraService: setTorchMode: camera id is invalid 0 Line 12612: 01-02 16:07:45.223 3864 4015 E FlashlightController: java.lang.IllegalArgumentException: setTorchMode:3216: Camera ID "0" is a not valid camera ID Line 12614: 01-02 16:07:45.223 3864 4015 E FlashlightController: at android.hardware.camera2.CameraManager$CameraManagerGlobal.setTorchMode(CameraManager.java:2933) Line 12615: 01-02 16:07:45.223 3864 4015 E FlashlightController: at android.hardware.camera2.CameraManager.setTorchMode(CameraManager.java:1649) Line 12622: 01-02 16:07:45.223 3864 4015 E FlashlightController: Caused by: android.os.ServiceSpecificException: setTorchMode:3216: Camera ID "0" is a not valid camera ID (code 3) Line 12627: 01-02 16:07:45.223 3864 4015 E FlashlightController: at android.hardware.ICameraService$Stub$Proxy.setTorchMode(ICameraService.java:1311) Line 12628: 01-02 16:07:45.223 3864 4015 E FlashlightController: at android.hardware.camera2.CameraManager$CameraManagerGlobal.setTorchMode(CameraManager.java:2930) Line 13942: 01-02 16:07:45.914 1864 3648 D TorchManagerService: onTorchModeChanged, mbTorchMode: false, mbDoSetTorchModeFalseByUs: false Line 13947: 01-02 16:07:45.914 3864 4015 I SystemUi--QuickSettings: FlashlightController-->onTorchModeChanged setTorchMode=false cameraId=0
06-17
Android CTS(Compatibility Test Suite)测试中出现的错误信息 `roid.camera.cts: Not starting debugger since process cannot load the jdwp agent` 通常与调试器连接和JDWP(Java Debug Wire Protocol)代理的加载有关。此错误表明测试框架尝试附加调试器到目标进程时失败,原因是目标进程无法加载JDWP代理。 在Android系统中,JDWP代理负责在Java虚拟机和调试器之间建立通信桥梁。当系统或应用进程启动时,虚拟机会尝试加载JDWP代理以支持调试功能。然而,在某些情况下,进程可能因资源限制、权限问题或运行环境限制而无法加载该代理[^1]。 在CTS测试环境中,这种情况可能由以下几个原因引起: 1. **测试目标进程不支持调试**:某些系统进程或应用可能在构建时禁用了调试功能,导致无法加载JDWP代理。 2. **设备资源限制**:如果设备内存不足或系统负载过高,可能导致JDWP代理加载失败。 3. **调试端口冲突**:如果调试端口已被占用或无法绑定,调试器将无法正常连接。 4. **测试环境配置问题**:CTS测试环境可能未正确配置,导致调试器尝试附加失败。 为了解决此类问题,可以尝试以下方法: - 检查设备的logcat日志,查找更详细的错误信息,以定位具体失败原因。 - 确保测试设备处于开发者模式,并且USB调试已启用。 - 尝试重启设备和测试框架,以释放资源并重新建立连接。 - 在测试配置中禁用调试器附加功能,如果调试并非测试所必需。 在某些情况下,如果该错误并不影响测试结果的正确性,也可以将其视为非致命警告进行忽略。 ### 示例:禁用调试器附加的Gradle配置 ```gradle android { ... dexOptions { jumboMode true preDexLibraries false } buildTypes { debug { debuggable false } } } ``` 通过设置 `debuggable false`,可以避免在构建过程中生成调试信息,从而防止调试器尝试附加到进程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值