应用程序无法移动到sd卡上。(android)

ChenQi 发布于 2012/02/21 10:07
阅读 30K+
收藏 0

想把应用程序从ROM移动到sd卡上。利用安卓默认的程序,移动失败。下了一个App2sd应用程序,安装后,利用它来移动app,也提示了同样的失败。

追了下错误,如下。

D/VoldCmdListener( 2243): asec create it.medieval.dualfm_xt-1 2 fat {} 10006

E/Vold    ( 2243): Error opening devmapper (No such file or directory)

E/Vold    ( 2243): ASEC device mapping failed (No such file or directory)

E/PackageHelper( 2755): Failed to create secure container it.medieval.dualfm_xt-1

E/DefContainer( 2755): Failed to create container it.medieval.dualfm_xt-1

 

另外,操作失败后。/mnt/sdcard和/mnt/secure/这两个目录被删除了。

有没有高手有过类似的问题,求指导下。

加载中
0
Yisen
Yisen
重启/卡松了?
ChenQi
ChenQi
试过了。另外,我在想,是不是sd卡分区的问题。我的sd卡的分区是fat--main storage; ext4--system; ext4--recovery; ext4--data; ext4--cache. 然后我在sd卡里烧了个系统。这样会不会有影响呢?
0
隐其名
隐其名
你是2.2以上的系统吗?
ChenQi
ChenQi
恩。2.2.1
0
ChenQi
ChenQi
搞定了。谢谢大家。
0
Yisen
Yisen

引用来自“ChenQi”的答案

搞定了。谢谢大家。
搞定了最好说一下怎么弄好的,分享下,给以后遇到类似问题的人提供帮助
0
ChenQi
ChenQi

引用来自“yisen”的答案

引用来自“ChenQi”的答案

搞定了。谢谢大家。
搞定了最好说一下怎么弄好的,分享下,给以后遇到类似问题的人提供帮助

哦,好。

我跟了下代码,发现是/dev/device-mapper不存在。于是就google,发现是内核中这项功能没有被编译进去。通过make menuconfig修改内核配置选项(基本上相关的我都给打上勾了,可能并不需要这么多),增加了以下选项。重新编译后,成功解决了此问题。

+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=y
+CONFIG_MD_AUTODETECT=y

+CONFIG_BLK_DEV_DM=y
+CONFIG_DM_DEBUG=y
+CONFIG_DM_CRYPT=y
+CONFIG_DM_SNAPSHOT=y
+CONFIG_DM_MIRROR=y
+CONFIG_DM_LOG_USERSPACE=y
+CONFIG_DM_ZERO=y
+CONFIG_DM_MULTIPATH=y
+CONFIG_DM_MULTIPATH_QL=y
+CONFIG_DM_MULTIPATH_ST=y
+CONFIG_DM_DELAY=y
+CONFIG_DM_UEVENT=y

0
misly
misly
有懂的怎么用代码实现将应用软件移动到SD卡上的么?我看了源码,PackageManagerTests.java里面有p ovePackage()但是不懂它的实现是在那个类里面,或者说的实现的原理是什么,求指点
ChenQi
ChenQi
@misly : 我真不太清楚--!不敢乱说。其实你可以参考下相关博文,我记得其原理好像是修改目录指向的路径什么的。你用google搜搜看看。我真帮不了你太多。
misly
misly
@ChenQi : 那是不是说,要将应用软件移动到SD卡上,就得使用NDK调用C++的函数来实现?
ChenQi
ChenQi
我也是一知半解。android中java层基本只做控制,基本的功能和类都是用c++写的。你找到关键函数,然后找到对应的c++函数,再找到对应的类就可以了。
返回顶部
顶部