前言
最近有个Unity调用安装本地apk的需求,一番查询和摸坑 发现很多几年前的帖子的对应方法已经不能奏效于 广泛使用的新型手机 例如安卓9.1系统。博主现已整理出至少适用于安卓9.1系统以下的aar,供大家使用。
下面提供Unity端的调用方法
#region 安装APK的Library
private bool isInitMyInstallApkLibrary = false;
private AndroidJavaObject myInstallApkLibrary;
private void InitMyInstallApkLibrary()
{
AndroidJavaClass unityClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject currActivity = unityClass.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaClass compareClass = new AndroidJavaClass("com.example.myinstallapk.MainActivity");
myInstallApkLibrary = compareClass.CallStatic<AndroidJavaObject>("getInstance");
myInstallApkLibrary.Call("InitCompareApi", currActivity);
isInitMyInstallApkLibrary = true;
}
public void MyInstallApkLibrary(string path)
{
#if UNITY_ANDROID && !UNITY_EDITOR
if (isInitMyInstallApkLibrary == false)
InitMyInstallApkLibrary();
myInstallApkLibrary.Call("installApk", path);
#endif
}
#endregion
下面提供aar放入Unity工程 Plugins/Android文件夹下即可
csdn下载路径:https://download.csdn.net/download/qq_37835111/11553994
(好代码需要支持一下喽,谢谢)