预安装apk的方法(RK方案)

预安装apk的方法:
     方法1:将需要预安装的apk直接放入out\target\product\rk30sdk(或者rk29sdk)\system\app,不过这种方法会在执行make clean之后,放入的apk会被删除掉:。
     方法2:将需要预安装的apk放入device\rockchip\rk30sdk(或者rk29sdk)\apk,然后执行make。
     需要注意的是:
     1 由于分配给data区的flash的大小有限,所以预安装的apk的数量和大小也有限制。
     2 不是所有的apk都能预安装的,有些apk编译时,apk内部会包含一些他需要的so进来。在预安装apk的机器第一次起来时,会将apk解压到/data/data下,并建立相应的目录,但是并不会将那些
        apk中带有的so等拷贝到out下去。在apk启动之时,当apk需要调用到那些so时,会因为找不到so而报错,这是因为预安装的apk并没有将so拷贝到out对应目录的缘故。出现这种情况后,需要手动
   的去拷贝。
卸载预安装文件的方法:
         1 首先确认你的packages\apps\Provision\src\com\android\provision\DefaultActivity.java 下的getAllAppsFileNames如下:
private String[] getAllAppsFileNames() {
        File dir;
        String[] fileNames;
        dir = new File(PATH_PREFIX);
        fileNames = dir.list(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String filename) {
                if (filename.matches(".*\\.(?i)nm")) {
                    return true;
                }
                return false;
            }
        });


        return fileNames;
    }


     2.  按照预安装apk的方法将apk放入指定的目录,需要注意的是,你需要将那些预安装并且可以让用户自己卸载的apk的后缀修改成.nm,比如A.apk修改成A.nm。
         你可以手动将后缀进行修改,也可以使用量产工具去设置。需要注意的是,因为系统核心的服务和应用很多都以apk的形式保存在out的system/app下面,这些核心
         的服务和应用的apk最好不要修改后缀,以免用户无意中删除掉之后,系统启动不起来。
     3.  生成固件后重新烧写整个固件。在APKInstaller的Manager中你就可以将那些后缀改为.nm的预安装固件卸载掉了。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值