|
本帖最后由 crossbow_z 于 2011-5-18 12:55 编辑
2 }8 Z+ g; f+ X0 w, g- j( n3 t* z& P# S7 J% t3 U. N8 w
我一年前不到刷的51的1.4.5 rom" p- }/ g% C) m& W; t, g
; X$ T' \! E6 K/ W/ g
经分析$ s$ N! K: R& K4 k
是曾经preware里某程序字符有问题,我装了
1 p4 A* q4 z8 W而且偏偏还update了Saved Package list0 F5 J! q0 h$ b* r
而且preware启动的时候最后会读取Saved Package list
& [5 |3 m! w2 w就导致toLowerCase的错误; r& r9 L& C) L; Z
并且即使关掉除了preware的所有源之后更新都不能解决
) R% `) T9 N* V/ w我个人认为是要删除掉保存过的Saved Package list5 `; ^) V. I. p2 z/ ~: n; K3 k
但不知的那个东西存在什么路径下# G1 l/ w. @# F2 d
8 J' c8 g5 j" u# d6 F
解决过程:
$ Q1 [; O& U+ L5 y' Y' k' T" V
, w @2 p3 [* }9 s: Q; Q( H先使用save/restore备份preware(想看备份的程序列表)
$ a! h/ A; {* O. Q+ Q+ [2 S在U盘目录下,找到zip压缩包,解压,packageDB是程序列表3 a) z% t# f2 H5 g* [
用SQlite打开这个数据库,大概看看,能看到数据库的结构
; ` r/ b' D3 Q# M& k' J; G. d可用通过这个查看哪个存储的程序有问题
* n+ `2 }0 R ^我一怒之下,把所有程序列表全删掉了,只留下最后一个,type是array的那个container T/ Q, c8 A* @5 n
left为1,right改写为2
* n$ V% F) i; J% e* @然后再放回到zip1 ~ H2 |+ E/ ?+ b# E
拷贝回saverestore的备份目录,覆盖0 f+ N/ B/ H) x# @" B4 c
启动saverestore恢复preware,重启
" y8 m5 F7 c' y5 G4 A6 @0 Q; p发现preware依然报错5 B$ M+ m- Q3 Y+ c& g! r
. [$ N6 u0 F, a) r: D) F! b
想起来我已经把51book都删掉了,为什么数据库里还有?
6 t/ u3 V5 V' }. [* n* `+ y难道是没法识别?5 ^( c6 p) P9 O. J# V7 w6 p, J! y
unknown列表里还有一个
6 y u/ H C# J7 c. T找到能找到的所有源
! F5 f- P0 B. S' f. B( o# `9 |0 V添加4 L' j! u) `6 O. R' C6 N; U! u
然后都更新一下
% L" t6 h' f5 p7 Y+ m终于可以list everything了 ^& k1 N: V! \
saved package list也不会有问题了0 F p1 Y; w) D3 G
这个问题,可以画句号了 |
|