我们有一个在没有用户界面的设备上运行的应用程序。在Xamarin Android应用程序中,我们已授予READ_EXTERNAL WRITE_EXTERNAL INSTALL_PACKAGE和DELETE_PACKAGE的危险权限,并通过adb shell install -r -g C:\ installpath \ apkupdate.apk进行了安装。因此,这意味着应在执行sh命令时安装该应用程序。这是Android9。当我们运行安装时,它似乎可以运行,但安装从未发生。我可以告诉您,因为启动应用程序后我检查了版本,但它没有更改。它是与以前相同的应用程序。该代码运行没有错误,但没有执行任何操作。有人可以帮我举一个可行的例子吗?我也使用Android Intents完成了相同的安装,但也无法正常工作。
Java.IO.File file = new Java.IO.File(applicationname);
if (file.Exists())
{
String command;
command = "pm uninstall com.someappname.app\n";
string[] commandArray = { "sh", "-c", command };
var proc = Java.Lang.Runtime.GetRuntime().Exec(commandArray);
proc.WaitFor();
command = "pm install /sdcard/appname/download/com.someappname.app\n";
string[] commandArrayInstall = { "sh", "-c", command };
proc = Java.Lang.Runtime.GetRuntime().Exec(commandArrayInstall);
proc.WaitFor();
}