如何在 Android Studio 中安装我的应用程序所需的外部 APK?
How do I Install external APKs necessary for my application in Android Studio?
我已经下载了 CSipSimple 。现在对于这个视频通话,我需要安装 CSipSimple-Codec-Pack 和 CSipSimple-Video-plugin apks。我需要用我的 Android 应用程序安装这两个外部 apk。这些 apk 是安装我的应用程序所必需的。
如何通过编程将这些 apk 安装到我的 Android 应用程序中?
有 2 种方法可供您尝试
由于你的依赖app的代码是开源的,所以获取apks后将它们放在你应用的assets目录下,然后当你的app 运行复制其他app的apk到外部存储并启动安装
如果这两个应用程序都使用 gradle build
然后您可以 git 克隆应用程序的源代码,构建它们,然后将它们作为模块导入到您的应用程序中,这样当您的应用程序被安装时,这些其他应用程序也会与您的应用程序一起安装
第一个只有当 phone 有 SD 卡时才有效,第二个更简单,更直接
没有代码
我假设您知道如何获取所需应用程序的源代码,对吗?
只需将它们复制粘贴到您的应用程序的根文件夹中,然后在 android studio 中右键单击您的项目,将鼠标悬停在新建上 -> 单击模块 -> 导入 gradle 项目 -> 然后 select 所需的应用程序.
第一种方法请看this thread
代码片段:
AssetManager assetManager = getAssets();
InputStream in = null;
OutputStream out = null;
try {
in = assetManager.open("myapk.apk");
out = new FileOutputStream(Environment.getExternalStorageDirectory()+"/myapk.apk");
byte[] buffer = new byte[1024];
int read;
while((read = in.read(buffer)) != -1) {
out.write(buffer, 0, read);
}
in.close();
in = null;
out.flush();
out.close();
out = null;
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory()+"/myapk.apk")),
"application/vnd.android.package-archive");
startActivity(intent);
} catch(Exception e) { }
以上代码将 apk 从您的 assests 文件夹复制到 sdcard,然后将其安装到 phone。
我已经下载了 CSipSimple 。现在对于这个视频通话,我需要安装 CSipSimple-Codec-Pack 和 CSipSimple-Video-plugin apks。我需要用我的 Android 应用程序安装这两个外部 apk。这些 apk 是安装我的应用程序所必需的。
如何通过编程将这些 apk 安装到我的 Android 应用程序中?
有 2 种方法可供您尝试
由于你的依赖app的代码是开源的,所以获取apks后将它们放在你应用的assets目录下,然后当你的app 运行复制其他app的apk到外部存储并启动安装
如果这两个应用程序都使用 gradle build 然后您可以 git 克隆应用程序的源代码,构建它们,然后将它们作为模块导入到您的应用程序中,这样当您的应用程序被安装时,这些其他应用程序也会与您的应用程序一起安装
第一个只有当 phone 有 SD 卡时才有效,第二个更简单,更直接 没有代码 我假设您知道如何获取所需应用程序的源代码,对吗? 只需将它们复制粘贴到您的应用程序的根文件夹中,然后在 android studio 中右键单击您的项目,将鼠标悬停在新建上 -> 单击模块 -> 导入 gradle 项目 -> 然后 select 所需的应用程序.
第一种方法请看this thread
代码片段:
AssetManager assetManager = getAssets();
InputStream in = null;
OutputStream out = null;
try {
in = assetManager.open("myapk.apk");
out = new FileOutputStream(Environment.getExternalStorageDirectory()+"/myapk.apk");
byte[] buffer = new byte[1024];
int read;
while((read = in.read(buffer)) != -1) {
out.write(buffer, 0, read);
}
in.close();
in = null;
out.flush();
out.close();
out = null;
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory()+"/myapk.apk")),
"application/vnd.android.package-archive");
startActivity(intent);
} catch(Exception e) { }
以上代码将 apk 从您的 assests 文件夹复制到 sdcard,然后将其安装到 phone。