Android4.2 使preinstall中的所有应用正常显示在launcher的默认布局中

本文介绍了一种在Android设备上预安装应用程序的方法。通过修改init.rc文件并使用preinstall.sh脚本来复制APK文件到指定目录,确保首次启动时进行安装。此外,还涉及了Launcher2布局文件的定制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 按如下所示修改:device/softwinner/wing-common/init.rc:
mkdir /data/app 0771 system system
后添加:
    # added by shenjianjun for: run /system/bin/preinstall.sh to preinstall all apps in /system/preinstall. 2013.09.13 ..start
    exec /system/bin/sh /system/bin/preinstall.sh
    # added by shenjianjun for: run /system/bin/preinstall.sh to preinstall all apps in /system/preinstall. 2013.09.13 ..end 

然后,注释掉以下内容:
# comed by shenjianjun start
# service  preinstall  /system/bin/busybox  sh  /system/bin/preinstall.sh
#   user root
#   group root
#   disabled
#   oneshot

# on property:sys.boot_completed=1
#     start preinstall
# comed by shenjianjun end

2. preinstall.sh的内容:
#!/system/bin/busybox sh

BUSYBOX="/system/bin/busybox"

mkdir /bootloader
mount -t vfat /dev/block/bootloader /bootloader

if [ ! -e /data/system.notfirstrun ] ; then
    echo "do preinstall job"

# added by shenjianjun for: copy all preinstall apks to /data/app, so these apks will be installed by PackageManagerService. 2013.09.13 ..start
    $BUSYBOX cp /system/preinstall/*.apk /data/app/
    $BUSYBOX cp /sdcard/preinstall/*.apk /data/app/
    chown system:system /data/app/*.apk
    chmod 0644 /data/app/*.apk
# added by shenjianjun for: copy all preinstall apks to /data/app, so these apks will be installed by PackageManagerService. 2013.09.13 ..end

    $BUSYBOX cp /system/etc/chrome-command-line /data/local/
    $BUSYBOX chmod 777 /data/local/chrome-command-line

    mkdir /databk
    mount -t ext4 /dev/block/databk /databk
    rm /databk/data_backup.tar
    umount /databk
    rmdir /databk
    $BUSYBOX touch /data/system.notfirstrun
    echo "preinstall ok"
elif [ -e /bootloader/data.need.backup ] ; then
    echo "data backup:tar /databk/data_backup.tar /data"
    mkdir /databk
    mount -t ext4 /dev/block/databk /databk

    rm /databk/data_backup.tar

    $BUSYBOX tar -cf /databk/data_backup.tar /data
    rm /bootloader/data.need.backup

    umount /databk
    rmdir /databk
else
    echo "do nothing"
fi

umount /bootloader
rmdir /bootloader

3. 将定制好的布局文件替换Launcher2中的default_workspace.xml然后重新编译Launcher2.

4. 重新编译与打包:
rm $OUT/system
rm $OUT/root
make -j16 && pack
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值