`

apk里安装apk

 
阅读更多
【转载】

假设在A apk中放入 B apk,在A apk安装运行后,要安装 B apk
将B apk放在raw目录。
将B apk拷贝至 /data/data/A apk的包名/files
设置B apk的权限。
通过系统安装器安装。
代码随后上
String apkPath = "/data/data/" + getPackageName() + "/files";  
String apkName = "b.apk";  
File file = new File(apkPath,apkName);  
  
try  
{  
                InputStream is = getResources().openRawResource(R.raw.b);  
  
                if(!file.exists())  
                {  
                    file.createNewFile();  
  
                    FileOutputStream os = openFileOutput(file.getName(), Context.MODE_WORLD_WRITEABLE);  
  
                    byte[] bytes = new byte[512];  
                    int i = -1;  
                    while((i = is.read(bytes))>0)  
                    {  
                        os.write(bytes);  
                    }  
  
                    os.close();  
                    is.close();  
                    Log.d(LOG_TAG, apkName + " has been copy to " + apkPath);  
                };  
  
                String permission="666";  
  
                try  
                {  
                    String command = "chmod " + permission + " " + apkPath + "/" + apkName;  
                    Runtime runtime = Runtime.getRuntime();  
                    runtime.exec(command);  
                }  
                catch (IOException e)  
                {  
                    e.printStackTrace();  
                }  
  
            }  
            catch(Exception e)  
            {  
                Log.d(LOG_TAG, e.toString());  
                finish();  
            }  
  
            Intent intent = new Intent();  
            intent.setAction(android.content.Intent.ACTION_VIEW);  
            intent.setDataAndType(Uri.fromFile(file), "application/vnd.android.package-archive");  
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
            startActivity(intent);


如果apk文件过大,如下
-------------------------------------------------------
http://www.hfdigg.com/SrcShow.asp?Src_ID=10092


android raw文件夹下.db后缀文件大于1M时,拷贝时将会出现:DEBUG/asset(725): Data exceeds UNCOMPRESS_DATA_MAX (1662976 vs 1048576)

出现这个问题的原因是,assetsManager 无法处理大于1M的文件的压缩和解压。
但以下文件类型,因为是已经压缩过的,不会进行压缩处理,如下:
/* these formats are already compressed, or dont compress well */
static const char* kNoCompressExt[] = {
     ".jpg", ".jpeg", ".png", ".gif",
     ".wav", ".mp2", ".mp3", ".ogg", ".aac",
     ".mpg", ".mpeg", ".mid", ".midi", ".smf", ".jet",
     ".rtttl", ".imy", ".xmf", ".mp4", ".m4a",
     ".m4v", ".3gp", ".3gpp", ".3g2", ".3gpp2",
     ".amr", ".awb", ".wma", ".wmv"
};
【解决办法】将Sqlite db文件,先改名为.jpg文件,放在assets中,然后在程序第一次启动时,改名拷贝到/data/data
分享到:
评论

相关推荐

    apk批量安装/卸载软件(把多个apk安装至安卓平台)

    把多个apk安装至安卓平台(手机,VR眼睛设备,平板等) 自己主要用于VR眼镜的批量安装 使用方法: 1,把安卓设备用数据线连接电脑(USB改为传输文件) 2,把需要安装的apk放进文件夹里面(和Install.bat同级目录) 3...

    1个apk安装另一个apk,安装多个apk

    本文将详细探讨如何实现一个APK安装另一个APK,并且介绍如何实现安装多个APK。 首先,我们要了解Android的安装机制。当用户点击APK文件时,系统会调用`PackageInstaller`服务进行安装。我们可以通过编程的方式模拟...

    复制apk无法安装简单修复签名工具apk

    看到别人手机里好的系统软件,想要复制来安装,就必须使用它! 一、下载附件,安装 手机签名工具 ZipSigner.APK 二、选择需要签名的APK文件,在电脑上右键--打开方式--选择程序, 选择用WinRAR打开(注意,不是解压...

    apk静默安装apk

    APK静默安装是指在用户无感知的情况下,通过编程方式自动化安装应用的过程,通常用于企业级应用部署或测试环境。这种安装方式不需要用户手动点击确认或输入权限,而是通过系统服务或自定义脚本执行。 标题中的“apk...

    APK安装器3.0 APK安装器3.0

    APK安装器3.0是一款专为Android用户设计的应用程序,它提供了一种简单而快捷的方式来安装APK文件。在Android生态系统中,APK文件是应用程序的可执行格式,通常用于在设备上安装非Google Play商店提供的第三方应用。...

    Android APK的安装卸载

    Android APK 的安装卸载机理详解 Android APK 的安装卸载是 Android 应用程序生命周期中的重要部分,对于 Android 应用程序的开发、测试和部署都非常重要。下面我们将详细解释 Android APK 的安装卸载机理。 一、...

    Apk.1安装器 1.9版本

    APK包含应用的所有组成部分,如代码、资源、图标、权限声明等,用户可以通过安装APK来添加新的应用程序到手机上。然而,在某些情况下,如通过微信分享APK文件时,可能会遇到"apk.1"这样的文件,这是由于微信内置的...

    APK文件安装工具(双击可以把apk装进模拟器)

    然后,你需要下载并安装这个APK安装工具,它可能是一个单独的桌面程序或者是一个与模拟器集成的插件。 安装工具的工作原理通常是通过读取双击的APK文件,然后使用模拟器提供的API接口将APK传输到模拟器内部,并触发...

    APK绑定安装 静默安装

    5. 重复步骤4,直到所有APK安装完毕。 需要注意的是,这种方法对设备的系统版本有一定要求,因为不同版本的Android系统对静默安装的支持可能存在差异。此外,随着Android的安全性不断提高,静默安装的权限控制...

    APK自动静默安装并自动重新启动

    2. **广播接收器**:可以创建一个监听`ACTION_PACKAGE_INSTALLED`广播的接收器,当APK安装完成后,系统会发出这个广播,接收器接收到广播后执行相应的启动操作。 3. **使用Intent**:在APK的清单文件...

    APK绿色安装器

    文件"PermissionInfo.cfg"可能包含了关于APK安装器对权限处理的配置信息。在Android系统中,每个应用都有特定的权限需求,如访问网络、读写存储等。安装器可能通过解析此配置文件来正确处理这些权限,确保APK在安装...

    Android 更新下载apk 安装apk 打开apk

    在Android平台上,更新、下载、安装以及打开APK文件是应用程序生命周期中的常见操作。下面将详细阐述这些过程及其相关的知识点。 一、Android APK文件 APK(Android Package)是Android系统中应用程序的安装包,...

    demo.apk unity自动更新 内部安装Apk

    unity 内部更新Apk 自动安装 支持安卓8.0 以上 demo.apk 测试包

    apk批量安装bat文件

    在Android生态系统中,APK文件是应用...它简化了多APK安装流程,尤其适用于开发者、测试人员或者需要频繁安装应用的用户。只需要正确配置ADB路径,将批处理文件与待安装的APK放在同一目录,点击运行即可完成批量安装。

    安卓系统APK文件安装器

    在Google Play商店之外下载的应用通常以APK形式提供,因此,一个可靠的APK安装器对于拓展Android设备的功能至关重要。 这款安装器特别适合那些喜欢尝试第三方应用或游戏,或者希望获取未在官方商店发布的特定应用的...

    APK文件的安装方法

    ** APK文件的安装方法 ** APK文件是Android操作系统中应用程序的打包格式,相当于iOS中的ipa文件。了解如何正确安装APK文件对于Android开发者和普通用户都至关重要,尤其是在非Google Play Store环境中安装应用时。...

    xapk安装器 快捷方便滴安装 删除 .apk、.xapk 格式应用文件.rar

    「xapk安装器」安卓版是一款可以帮助您把 .xapk 格式文件安装到手机、平板等安卓设备上的应用工具,有了 「xapk安装器」您就基本告别了 Android APK OBB 的安装错误问题,而且让您更快捷方便滴安装或删除 .xapk 格式...

    apk简易安装器

    目前PC端安装APK都需要在手机上安装一个守护端,守护端不但容易泄露个人隐私,而且还占用手机内存空间,监控手机用户行为信息等。为了方便大家绿色、方便、放心使用电脑安装APK,...6、可以拖拽APK到程序里自动读取信息

    Android 下载APK 安装APK 打开APK

    在Android系统中,下载、安装和打开APK文件是用户获取和使用应用程序的基本流程。APK(Android Package)是Android操作系统中的应用软件包文件格式,相当于iOS中的.ipa文件。以下将详细介绍这些过程以及实现这一功能...

    Android apk更新安装代码

    在Android应用开发中, APK(Android Package)是用于分发和安装Android应用程序的文件格式。当需要对已安装的应用进行更新时,开发者通常会提供一个新的APK文件供用户下载。本篇文章将详细介绍如何在Android应用中...

Global site tag (gtag.js) - Google Analytics