To install system app or set permission of system file or folder or to place a system library under system/lib folder on a non rooted device, we need to prepare update_pacakge and install from recovery.
To prepare update_package download the sample Create_Update_Pacakge.zip and make the corresponding script changes under update_package\META-INF\com\google\android\updater-script . Place the files you need to copy to device under update_package\system and make corresponding script changes.
Zip all the folder under update_ package using below command
zip -r ../update.zip *
Sign the package using below command
java -jar ./signing_keys/signapk.jar -w ./signing_keys/package.x509.pem ./signing_keys/package.pk8 update.zip update-signed.zip
Flash the signed update package from recovery on the device.
Suppose you want to sign the package from different key, then you can download from below GIT lcation
Download keys from