预安装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的预安装固件卸载掉了。
方法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的预安装固件卸载掉了。