1

我已经下载了 CSipSimple 。现在对于这个视频通话,我需要安装 CSipSimple-Codec-Pack 和 CSipSimple-Video-plugin apks。我需要使用我的 Android 应用程序安装这两个外部 apk。这些 apk 是安装我的应用程序所必需的。

如何通过编程将这些 apk 安装到我的 Android 应用程序中?

4

1 回答 1

1

有两种方法你可以试试这个

  • 由于您的依赖应用程序的代码是开源的,因此将 apks 放在应用程序的 assets 目录中,然后在您的应用程序运行时将其他应用程序的 apks 复制到外部存储并启动安装

  • 如果这两个应用程序都使用 gradle build 那么您可以 git clone 应用程序的源代码,构建它们,然后将它们作为模块导入您的应用程序,这样当您的应用程序安装时,这些其他应用程序也会与您的应用程序一起安装

第一个仅在手机有 sdcard 时才有效,第二个更简单,更直接。没有代码我假设你知道如何获取你需要的应用程序的源代码,对吧?只需将它们复制粘贴到您的应用程序的根文件夹中,然后在 android studio 中右键单击您的项目鼠标到 new-> 单击模块-> 导入 gradle 项目-> 然后选择所需的应用程序。

对于第一种方法,请查看此线程

代码片段:

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 从您的assets 文件夹复制到 sdcard,然后将其安装在手机上。

于 2016-02-23T10:29:24.143 回答