Файлы System/bin Android 12. Справочник.


  Все     Команда     Скрипт     Служба     Приложение  

xapk_installer.sh - исходный текст
#!/system/bin/sh

XAPK_DIR=/system/oranth/xapk
WORK_DIR=/data/local/tmp/xapk

xapk_install()
{
	if [ -e $WORK_DIR/Android/obb ]; then
		echo "install obb data ..."
		mv $WORK_DIR/Android/obb/* /data/media/0/Android/obb/
	fi

	filelist=`ls $WORK_DIR/*.apk`
	total=0
	for apk in $filelist
	do
		o=( $(ls -l $apk) )
		let total=$total+${o[4]}
	done

	echo "install apk or split apks ..."
	#echo "pm install-create total size $total"
	create=$(pm install-create -S $total)
	sid=$(echo $create | grep -E -o '[0-9]+')
	#echo "pm install-create session id $sid"

	for apk in $filelist
	do
    		_ls_out=( $(ls -l $apk) )
    		#echo "write $apk to $sid"
    		cat $apk | pm install-write -S ${_ls_out[4]} $sid $(basename $apk) - > /dev/null
    		#pm install-write -S ${_ls_out[4]} $sid $(basename $apk) $apk > /dev/null
	done

	pm install-commit $sid
}

mkdir -p $WORK_DIR

for xapk in `ls $XAPK_DIR/*.xapk`
do
	rm -rf $WORK_DIR/*

	echo "
" echo "unzip file: $xapk ..." unzip -d $WORK_DIR/ $xapk > /dev/null echo "start to install $xapk ..." xapk_install echo "done!" echo "
" done rm -rf $WORK_DIR echo "install xapk done!"