Android Question Install APK without User Intervention

Mike1970

Well-Known Member
Licensed User
Longtime User
hi everyone, it's possibile to make an app that install another apk WITHOUT user intervention?
I have to install this app (not on playstore) on a specific device of my property, and i need to update when i want.
So i need to be able to install an apk without click on "Install" prompt.
Thanks in advance!

I already see this posts:
- https://www.b4x.com/android/forum/threads/version-safe-apk-installation.87667/ (works well but asks for confirm)
- https://www.b4x.com/android/forum/t...tallation-auto-update-under-android-8.111004/ (i didn't understand what is the solution)
 
No.
1) Device must be rooted to install apk without manual user's confirmation
2) Or your app must be system: placed into "system/app" folder, or to be compiled and signed with the system key (that used for all system apps in ROM)
UPDATE:
3) The latest Android versions require the apk installation only from the folder "data/local/tmp" that is accesible if only ...
4) ... to have the SELinux security system setting set as "permissive" or fully "disabled". Here helped by the apk "SELinuxModeChanger"
 
Last edited:
Upvote 0
No.
1) Device must be rooted to install apk without manual user's confirmation
2) Or your app must be system: placed into "system/app" folder, or to be compiled and signed with the system key (that used for all system apps in ROM)

Thanks for answering !
 
Upvote 0
The requirements post is updated :(
I have a Samsung rooted device, it can be rebooted by the command line softwarely, but ... i could not setup it to install APK softwarely... i guess yet.

UPD: succeess :)

[CODE lang="b4x" title="Code"]
Dim fs As Long = File.Size(dir, fn)
Dim fullPathToApkFile As String = File.Combine(dir, fn)
Dim comm As String = "cat $fullPathToApkFile | pm install -S $length".Replace("$fullPathToApkFile", fullPathToApkFile).Replace("$length", fs)
Dim res As Boolean = Super_User(comm)
......
Sub Super_User(command As String) As Boolean
Dim su As SuShell

If su.DeviceRooted Then
Dim Process As SuProcess
Process = su.Acquire("Su")
If Process.Acquired Then
Process.Execute(command)
Process.WaitForCompletion
Log("Su.Success = " & Process.Success)
Return Process.Success
Else
ToastMessageShow("Permissions error !", False)
End If
Else
ToastMessageShow("Device not rooted !", False)
End If
Return False
End Sub

[/CODE]
 
Last edited:
Upvote 0
The requirements post is updated :(
I have a Samsung rooted device, it can be rebooted by the command line softwarely, but ... i could not setup it to install APK softwarely... i guess yet.

UPD: succeess :)

[CODE lang="b4x" title="Code"]
Dim fs As Long = File.Size(dir, fn)
Dim fullPathToApkFile As String = File.Combine(dir, fn)
Dim comm As String = "cat $fullPathToApkFile | pm install -S $length".Replace("$fullPathToApkFile", fullPathToApkFile).Replace("$length", fs)
Dim res As Boolean = Super_User(comm)
......
Sub Super_User(command As String) As Boolean
Dim su As SuShell

If su.DeviceRooted Then
Dim Process As SuProcess
Process = su.Acquire("Su")
If Process.Acquired Then
Process.Execute(command)
Process.WaitForCompletion
Log("Su.Success = " & Process.Success)
Return Process.Success
Else
ToastMessageShow("Permissions error !", False)
End If
Else
ToastMessageShow("Device not rooted !", False)
End If
Return False
End Sub

[/CODE]
Actually I’m not in the “rooted world” yet, so this things are not 100% understandable to me ?. But thanks for the moment! Very kind
 
Upvote 0
 
Upvote 0
Back
Top