Error:litepal.InvalidAttributesException: the version of database can not be less than 1

本文介绍了在使用LitePal框架时遇到的一个关于数据库版本配置的问题,详细解释了错误发生的原因及解决方案,对于版本配置小于1的情况给出了明确的指导。

  • 发现问题:

在学习的过程中出现了一个错误,提示为数据库版本不能小于1。

Error Log:

E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.example.litepaltest, PID: 23737
                  org.litepal.exceptions.InvalidAttributesException: the version of database can not be less than 1
                      at org.litepal.parser.LitePalAttr.checkSelfValid(LitePalAttr.java:205)
                      at org.litepal.tablemanager.Connector.buildConnection(Connector.java:105)
                      at org.litepal.tablemanager.Connector.getWritableDatabase(Connector.java:63)
                      at org.litepal.tablemanager.Connector.getDatabase(Connector.java:87)
                      at com.example.litepaltest.MainActivity$1.onClick(MainActivity.java:22)
                      at android.view.View.performClick(View.java:5198)
                      at android.view.View$PerformClick.run(View.java:21147)
                      at android.os.Handler.handleCallback(Handler.java:739)
                      at android.os.Handler.dispatchMessage(Handler.java:95)
                      at android.os.Looper.loop(Looper.java:148)
                      at android.app.ActivityThread.main(ActivityThread.java:5417)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

  • 问题成因:

版本配置为2


litepal引用

  • 问题解决:

Version 语句有问题;默认认为未进行配置,此处出现小于1的情况为未配置。



The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains information that should help you find out what is causing the crash. 2025-09-15T07:56:29.816069Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 2025-09-15T07:56:29.816120Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release. 2025-09-15T07:56:29.817337Z 0 [Note] D:\work\w\sql\mysql\mysql-5.7.29.0\exe\MySQL Server 5.7\bin\mysqld.exe (mysqld 5.7.29-log) starting as process 11660 ... 2025-09-15T07:56:29.820886Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions 2025-09-15T07:56:29.821179Z 0 [Note] InnoDB: Uses event mutexes 2025-09-15T07:56:29.821378Z 0 [Note] InnoDB: _mm_lfence() and _mm_sfence() are used for memory barrier 2025-09-15T07:56:29.821652Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.11 2025-09-15T07:56:29.821885Z 0 [Note] InnoDB: Adjusting innodb_buffer_pool_instances from 8 to 1 since innodb_buffer_pool_size is less than 1024 MiB 2025-09-15T07:56:29.822459Z 0 [Note] InnoDB: Number of pools: 1 2025-09-15T07:56:29.822749Z 0 [Note] InnoDB: Not using CPU crc32 instructions 2025-09-15T07:56:29.835860Z 0 [Note] InnoDB: Initializing buffer pool, total size = 8M, instances = 1, chunk size = 8M 2025-09-15T07:56:29.836530Z 0 [Note] InnoDB: Completed initialization of buffer pool 2025-09-15T07:56:29.858200Z 0 [Note] InnoDB: Highest supported file format is Barracuda. 2025-09-15T07:56:29.859706Z 0 [Note] InnoDB: Log scan progressed past the checkpoint lsn 235659587 2025-09-15T07:56:29.885430Z 0 [Note] InnoDB: Doing recovery: scanned up to log sequence number 236694974 2025-09-15T07:56:29.886519Z 0 [Note] InnoDB: Database was not shutdown normally! 2025-09-15T07:56:29.886759Z 0 [Note] InnoDB: Starting crash recovery. 2025-09-15T07:56:29.930740Z 0 [Note] InnoDB: Starting an apply batch of log records to the database... InnoDB: Progress in percent: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 2025-09-15T07:56:30.487147Z 0 [Note] InnoDB: Apply batch completed 2025-09-15T07:56:30.492928Z 0 [Note] InnoDB: Doing recovery: scanned up to log sequence number 236694974 2025-09-15T07:56:30.592739Z 0 [Note] InnoDB: Starting an apply batch of log records to the database... InnoDB: Progress in percent: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 2025-09-15T07:56:31.103937Z 0 [Note] InnoDB: Apply batch completed 2025-09-15T07:56:31.312631Z 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1" 2025-09-15T07:56:31.312965Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables 2025-09-15T07:56:31.313350Z 0 [Note] InnoDB: Setting file '.\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ... 2025-09-15T07:56:31.338641Z 0 [Note] InnoDB: File '.\ibtmp1' size is now 12 MB. 2025-09-15T07:56:31.339627Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active. 2025-09-15T07:56:31.339952Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active. 2025-09-15T07:56:31.340353Z 0 [Note] InnoDB: Waiting for purge to start 2025-09-15 15:56:31 0x948 InnoDB: Assertion failure in thread 2376 in file fut0lst.ic line 93 InnoDB: Failing assertion: addr.page == FIL_NULL || addr.boffset >= FIL_PAGE_DATA InnoDB: We intentionally generate a memory trap. InnoDB: Submit a detailed bug report to http://bugs.mysql.com. InnoDB: If you get repeated assertion failures or crashes, even InnoDB: immediately after the mysqld startup, there may be InnoDB: corruption in the InnoDB tablespace. Please refer to InnoDB: http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html InnoDB: about forcing recovery. 07:56:31 UTC - mysqld got exception 0x80000003 ; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. Attempting to collect some information that could help diagnose the problem. As this is a crash and something is definitely wrong, the information collection process might fail. key_buffer_size=8388608 read_buffer_size=65536 max_used_connections=0 max_threads=151 thread_count=0 connection_count=0 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 58352 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. Thread pointer: 0x1a9fc88f6f0 Attempting backtrace. You can use the following information to find out where mysqld died. If you see no messages after this, something went terribly wrong... 2025-09-15T07:56:31.391164Z 0 [Note] InnoDB: 5.7.29 started; log sequence number 236694974 2025-09-15T07:56:31.391917Z 0 [Note] InnoDB: Loading buffer pool(s) from D:\work\w\sql\mysql\mysql-5.7.29.0\exe\data\Data\ib_buffer_pool 2025-09-15T07:56:31.391988Z 0 [Note] Plugin 'FEDERATED' is disabled. 2025-09-15T07:56:31.401557Z 0 [Note] Found ca.pem, server-cert.pem and server-key.pem in data directory. Trying to enable SSL support using them. 2025-09-15T07:56:31.401962Z 0 [Note] Skipping generation of SSL certificates as certificate files are present in data directory. 2025-09-15T07:56:31.402887Z 0 [Warning] CA certificate ca.pem is self signed. 2025-09-15T07:56:31.403175Z 0 [Note] Skipping generation of RSA key pair as key files are present in data directory. 2025-09-15T07:56:31.403618Z 0 [Note] Server hostname (bind-address): '*'; port: 3306 2025-09-15T07:56:31.403978Z 0 [Note] IPv6 is available. 2025-09-15T07:56:31.404161Z 0 [Note] - '::' resolves to '::'; 2025-09-15T07:56:31.404393Z 0 [Note] Server socket created on IP: '::'. 2025-09-15T07:56:31.404942Z 0 [Note] InnoDB: Buffer pool(s) load completed at 250915 15:56:31 2025-09-15T07:56:31.421205Z 0 [Note] Failed to start slave threads for channel '' 2025-09-15T07:56:31.427275Z 0 [Note] Event Scheduler: Loaded 0 events 2025-09-15T07:56:31.427607Z 0 [Note] D:\work\w\sql\mysql\mysql-5.7.29.0\exe\MySQL Server 5.7\bin\mysqld.exe: ready for connections. Version: '5.7.29-log' socket: '' port: 3306 MySQL Community Server (GPL) 7ff7bf8beeb2 mysqld.exe!my_errno() 7ffc8fbaec9d MSVCR120.dll!raise() 7ffc8fbb4874 MSVCR120.dll!abort() 7ff7bf9da744 mysqld.exe!?reserve@?$vector@EV?$allocator@E@std@@@std@@QEAAX_K@Z() 7ff7bf98298c mysqld.exe!?reserve@?$vector@EV?$allocator@E@std@@@std@@QEAAX_K@Z() 7ff7bf981be4 mysqld.exe!?reserve@?$vector@EV?$allocator@E@std@@@std@@QEAAX_K@Z() 7ff7bf98119c mysqld.exe!?reserve@?$vector@EV?$allocator@E@std@@@std@@QEAAX_K@Z() 7ff7bf980ae2 mysqld.exe!?reserve@?$vector@EV?$allocator@E@std@@@std@@QEAAX_K@Z() 7ff7bf91dd6e mysqld.exe!?reserve@?$vector@EV?$allocator@E@std@@@std@@QEAAX_K@Z() 7ff7bf921f8c mysqld.exe!?reserve@?$vector@EV?$allocator@E@std@@@std@@QEAAX_K@Z() 7ffca5217034 KERNEL32.DLL!BaseThreadInitThunk() 7ffca62bcec1 ntdll.dll!RtlUserThreadStart() Trying to get some variables. Some pointers may be invalid and cause the dump to abort. Query (0): Connection ID (thread ID): 0 Status: NOT_KILLED The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains information that should help you find out what is causing the crash.
09-16
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值