splitapks install解析器(zip转化为apk后无法解析)
本文目录
- zip转化为apk后无法解析
- splitapksinstall安装慢
- android sl4a怎么使用
- APK安装(一)—— PMS原理分析
- Apk安装包在安装时提示解析包错误是什么原因
- google账号尚未与设备关联怎么办
zip转化为apk后无法解析
zip转化为apk后无法解析
zip转化为apk后无法解析,目前有很多人都还是用的安卓手机,安卓手机在安装软件时需要解析apk安装包,我们在安装apk文件有时会遇到无法解析的情况。下面来看看zip转化为apk后无法解析。
zip转化为apk后无法解析1
步骤一:通过正规的途径、知名度高的网站获取apk程序。我在此强烈推荐的软件下载地点是手机安卓市场。该网站上的软件都是经过严格测试才发布上去的,下载到手机后一般都能很好的安装运行,且大部分软件都可以免费使用,无恶意插件。
步骤二:apk版本不兼容。一般情况下当从网上下载的apk程序版本比当前手机的版本高时,就会在安装程序时出现“解析包时出现错误”的警告。对此类情况的解决办法是:就该款apk程序,在安卓市场上查找同类对应的但是版本应不高于当前手机版本的应用程序进行下载、安装和作用。
步骤三:apk程序不完整。有些手机自带的下载工具不具有断点续传功能,因而下载的程序可能发生下载不完全、程序部分先失等情况。对于这类问题,建议重新下载,或者通过电脑下载,然后借助数据线将apk程序拷贝到手机内存卡中再进行安装。
步骤四:当前手机不支持中文名称或路径,不支持长文件名。解决办法是将文件重命名,名称只包含英文字母(但要注意".apk"的后辍名是要保留的),如更名为“abc.apk”等,更改完成后再次运动安装程序。
步骤五:手机内存不足或手机内存卡接触不良,内存卡质量不过关等因素导致apk程序无法正常安装。针对这类问题,试着重新插拔手机扩展内存卡,实在不行就更换一个高质量的内存卡(如今市面上出现了水货内存卡,大家购买时要小心,一般来说水货内存卡的标称容量要比实现的大)。
如果手机上使用了水货或质量差的内存卡,即使存入内存卡的数据容量大于实际内存容量,程序也不会报错,但其实数据早已丢失。对于这种情况,apk程序肯定无法安装成功。
步骤六:指定的文件路径不存在或指定了错误的路径。一种典型的情况就是在网上已经公布RE管理器设置不当造成的程序无法安装:解决办法是:进入RE管理器,点击“设置”—》“一键设置”—》“主文件夹选项”,如果将其设置成“sdcard ”就会出现“解析包出现问题”的错误提示,而如果将其设置“ ”就可以成功安装,建议诸位试试!
步骤七:apk安装器可能不兼容或示安装。该类情况通常多发生在进行ROM的手机当中,由于手机经过刷机之后,有点系统必备软件例如“绿巨人”、“install”等程序由于精简的需要而没有被安装上,导致apk程序无法正常安装。解决的办法是到安卓市场上下载相关的apk安装器,然后通过apk安装器安装apk应用程序。
步骤八:手机可能中毒。从安卓市场中下载36手机0安全卫士,进行手机病毒的查杀,确保手机处于最佳安全运行状态。
zip转化为apk后无法解析2
安装apk出现解析包异常问题情况总结
1.apk下载过程中损坏
这个情况,没有太多展开可以说的,比较少见,及网络下载过程中,apk文件损坏了,导致解析包出现异常
2.安装apk代码有问题
这里统一推荐使用AppUtils.installApp();方法去安装apk,里面进行了Android8.0的版本兼容处理,包含安装第三方应用的权限申请
动态申请前,别忘了需要在清单文件中声明此权限
3.高版本下载apk不成功
这个问题是我目前排查apk出现过的问题,由于之前的项目中,是固定下载在Download文件夹中,但是,在Android10之后,存储权限发生变更,导致无法直接将文件下载到Download文件夹,从而导致文件下载失败,进而导致出现解析包异常
解决方法只要适配下Android10之后的路径问题即可
这里推荐下载在app自己的files文件夹中即可解决问题,使用此路径PathUtils.getExternalAppDownloadPath()即可
4.权限未申请
这里需要说下有两种权限,一个是存储权限,另外一个则是安装第三方应用的权限
存储权限的话,Android6.0需要手动申请,这里不再过多赘述
5.apk签名问题
这里也是比较常见的问题了,原因是我项目使用了360加固,然后,进行了重签名导致
之前一直都是使用命令行进行重签名,没太注意到,其实v2的参数需要声明,加固后的`安装包一直没有v2签名
而Android7.0版本都是需要验证v2版本签名,自然是出现了问题
之后进行了尝试,并且稍微封装了一个用来签名的工具,就不用每次都要输入命令了
感兴趣的可看此链接ASCTool: apk签名验证破解工具 Apk Signature Crack Tool
6.Android12版本安装出现问题
targetSdkVersion为31【以Android 12为目标】的应用务必要加入v2签名,务必要对使用的activity,service,broadcast receiver含有intent-filter,显示声明android:exported属性。
AndroidManifest文件中,有intent-filter的属性的四大组件,需要声明exported属性为true
如果适配安卓12的系统,调用的sdk是31的话。可能需要进行适配。
出现安装失败22的,有可能是因为activity或者receiver,service里面没有加上android:exported="false"这个字段。
注意在launcheractivity里面一定要设置android:exported为true。这个是外部引用的意思。
如果在launcheractivity里面没有设置为true。那么APP图标点击就会出现未安装该应用程序。
如果出现安装失败-127的话。是因为你的manifest里面声明的权限重复了。
zip转化为apk后无法解析3
apk安装失败怎么办
1. 手机系统内存剩余空间不足,导致安装失败:
提示情形:
a. 提示为“ADB_INSTALL_FAILED_INSUFFICIENT_STORAGE”,意为手机存储空间不足;
b. 提示为“ADB_INSTALL_FAILED_DEXOPT”,意为因手机存储空间不足导致APK解码失败;
c. 提示为“ADB_INSTALL_FAILED_DEVICE_NOSPACE”,意为因手机存储空间不足导致apk拷贝失败;
d. 提示为“ADB_INSTALL_FAILED_DEVICE_COPY_FAILED”,意为文件拷贝失败;
解决方案:
请尝试卸载掉不需要的应用/游戏,使手机释放出更多的剩余空间。
或者将存放在手机内存里的某些应用程序(并不是所有的应用程序都可以移动)移动到SD卡中去,也同样可以释放出一些空间。
2. 手机与电脑连接失败,导致安装失败:
提示情形:
a. 提示为“ADB_INSTALL_DEVICES_NOT_FOUND”,意为找不到设备;
b. 提示为“ADB_INSTALL_FAILED_DEVICE_OFFLINE”,意为设备离线;
解决方案:
请重新插拔USB连线,或更换USB插口,尝试成功连接您的手机后再进行尝试安装APK。
3. 需要尝试卸载APK,进行重新安装,来解决安装失败问题:
提示情形:
a. 提示为“ADB_INSTALL_FAILED_UPDATE_INCOMPATIBLE”,意为更新不完整,请重新卸载后再试;
b. 提示为“ADB_INSTALL_FAILED_CONFLICTING_PROVIDER”,意为软件供应商冲突,有可能与手机冲突无法解决;
c. 提示为“ADB_INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES”,意为文件认证不一致;
d. 提示为“ADB_INSTALL_FAILED_ALREADY_EXISTS”,意为目标已经存在;
e. 提示为“ADB_INSTALL_FAILED_INVALID_ZIP_FILE”,意为非法的zip文件;
解决方案:
请尝试卸载APK(如果原来手机上有),重新下载APK并安装。
4. 需要通过刷新手机Android系统,来解决安装失败问题:
提示情形:
a. 提示为“ADB_INSTALL_FAILED_OLDER_SDK”,意为您的手机系统版本低于软件所需版本;
解决方案:
请尝试刷新手机Android系统,来解决安装失败问题。
友情提示:刷机有风险,需谨慎操作或在有经验的朋友帮助下操作。
5. 因软件安装权限,而导致安装失败:
提示情形:
a. 提示为“ADB_INSTALL_PARSE_FAILED_NO_CERTIFICATES”,意为文件未通过认证;
解决方案:
请进入【系统设置】-【应用程序】-(【安装与调试】)-勾选【未知源】/【未知来源】(允许安装非官方Android市场的应用程序)即可。
6. 因“容器错误”,而导致安装失败:
提示情形:
a. 提示为“ADB_INSTALL_FAILED_CONTAINER_ERROR”,意为容器错误,一般发生于将apk安装到sdcard;
解决方案:
第一步:用数据线将G7连上电脑,连接方式调整为“磁盘驱动器”方式;
第二步:用电脑的资源管理器进入SD卡下.android_secure目录(手机上的资源管理器看不到这个文件);
第三步:查找“smdl2tmp1.asec”文件,将其删除(不放心的话可以先剪切出去)。(注意文件名的第四个字母是小写的L,不是数字1)。
splitapksinstall安装慢
系统bug,网络问题。1、系统bug是splitapksinstall系统出现了问题导致安装慢,等待官方修复即可。2、网络问题是自身设备连接的网络出现较大波动,导致splitapksinstall安装慢,更换网络重新打开即可。
android sl4a怎么使用
1下载安装 sl4a APK,目前的版本是 sl4a_r4.apkC:UsersCarey.RS.Zhou》adb install -r C:UsersCarey.RS.ZhouDesktopsl4a_r4.apk156 KB/s (858471 bytes in 5.355s) pkg: /data/local/tmp/sl4a_r4.apkSuccess2在APP列表中找到 sl4a 并运行,接受 Usage Tracking,选择 Accept3程序默认只安装了一个shell环境,进入的步骤为【Menu】【View】【Interpreters】【Shell】4在shell命令行中执行ps命令后的执行结果如下,说明程序安装正确5安装sl4a的本地脚本解析器,我们以安装python环境为例来说明,其他解析器的安装类似进入的步骤为【Menu】【View】【Interpreters】【Add】选择Python之后,后台开始下载PythonForAndroid的APK,完成后点击安装6安装PythonForAndroid的APK之后,依次选择【Open】【Install】按钮,此时会进入第二阶段的安装过程,即安装python的附加module7全部安装之后回到该界面,按钮由刚才的Install变成现在的Uninstall,特别提醒,千万别点击Uninstall按钮,不然就把刚才下载的module都卸载了,然后就悲剧啦,退出该界面即可8我们再次进入Interpreters,发现不只是Shell了,还多了一个Python 2.6.2,说明python环境搭建好了,现在就可以在android上面进行python脚本编写了,点击进去看看9到此为止,环境都ok了,我们小小测试一下,显示个Toast出来,看看是多么的简单,剩下的就请大家好好发挥吧,比起Java原生态程序的编写是不是方便了很多啊
APK安装(一)—— PMS原理分析
在 APK安装概述 中曾提及apk有四种安装场景,但无论是哪一种方式,最终会提交给 PackageManagerService 处理,只是前置的处理链路 不同,所以本篇先对 PMS 这一主要过程进行分析。 frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java 【基于Android 9.0】
1、对特定的一些系统进程信息进行设置处理,并保存到 Settings 中 2、解析 /etc/permissions 下相关xml文件取得系统相关权限、系统具备的相关功能等信息 3、解析 /data/system/package.xml 文件获取已安装应用的相关信息 4、对相关的 apk 和 jar 进行 dex 优化处理,主要是 /system/framework 目录下的相关jar和apk 5、依据 sharedUserId 这个配置来确定 apk 运行在哪个进程,然后把运行的相关进程信息加入到 Settings 中,使得系统可以知道每个 apk 运行在哪个进程中 6、解析 AndroidManifest.xml 文件,提炼文件中的节点信息 7、扫描本地文件,主要针对系统应用、本地安装应用等等 8、管理本地 apk ,包括安装、删除等
前面说到 APK 的信息会提交给 PMS 进行安装的一系列工作,具体是通过 PackageHandler 发送消息来驱动 APK 的复制和安装,其时序图如下:
上相过程中有几点需要说明: 1、在 installStage 方法中创建了 InstallParams 对象,它对应于包的安装数据,并创建 INIT_COPY 消息并发送给 PackageHandler 进行处理; 2、 PackageHandler 在处理 INIT_COPY 消息时,会先判断是否绑定了 DefaultContainerService ,这是用于检查和赋值可移动文件的服务,比较耗时,所以和 PMS 并没有运行在同一个进程中,它们之间通过 IMediaContainerService 进行 IPC 通信,没有绑定则会进行绑定,之后
DefaultContainerConnection 同样是定义在 PMS 中,执行链路如下:
3、发送 MCS_BOUND 消息时,根据发送的 Message 是否带 Object 分为两种,如下所示:
4、 MCS_BOUND 消息的处理:
HandlerParams 是 PMS 中的抽象类,它的实现类为 PMS 的内部类 InstallParams 。 HandlerParams 的 startCopy 方法如下所示:
PackageManagerService.java#HandlerParams
在 注释① 处调用抽象方法 handleStartCopy ,具体实现在 InstallParams 中,如下所示: PackageManagerService.java#InstallParams
1、 注释① 处确定了 APK 的安装位置。 2、 注释② 处创建 InstallArgs 对象,此对象是一个抽象类,定义了 APK 的复制和重命名APK等安装逻辑,在 Android 8.x 及之前的版本中有三个子类: FileInstallArgs、AsecInstallArgs、MoveInstallArgs 。其中 FileInstallArgs 用于处理安装到非ASEC的存储空间的APK,即内部存储空间(Data分区); AsecInstallArgs 用于处理安装到ASEC(mnt/asec)即SD卡中的APK; MoveInstallArgs 用于处理已安装APK的移动的逻辑;但在 Android 9.x 之后已经去掉了 AsecInstallArgs , 3、 注释③ 处调用 InstallArgs 的 copyApk 方法,这里以 FileInstallArgs 的实现为例,内部会调用 FileInstallArgs 的 doCopyApk 方法:
1、 注释① 处用于创建临时存储目录,比如 /data/app/vmdl18300388.tmp ,其中 18300388 是安装的 sessionId ; 2、 注释② 处通过 IMediaContainerService 跨进程调用 DefaultContainerService 的 copyPackage 方法,这个方法会在 DefaultContainerService 所在的进程中将 APK 复制到临时存储目录,比如 /data/app/vmdl18300388.tmp/base.apk ,至此 APK 的复制工作结束。
在上述 APK 的赋值调用链的过程中,在 HandlerParams 的 startCopy 方法中,会调用 handleReturnCode 方法,时序图如下:
PackageManagerService#handleReturnCode :
注释① 处检查APK的状态,在安装前确保安装环境的可靠,如果不可靠会清除复制的APK文件, 注释③ 处会检测是否安装成功,失败则删除安装相关的目录和文件。安装完成之后在 注释⑤ 处会发送 POST_INSALL 消息通知已安装完成,此处稍后会说明。 注释② 处的 installPackageTracedLI 会调用 PMS 的 installPackageLI 方法: PackageManagerService.java#installPackageLI :
这里需要说明几点: 1、 注释③ 处,会先检测 Settings 中保存有要安装的 APK 信息,则说明安装该 APK ,因此需要检验APK 的签名信息,确保安全的进行替换。 2、 注释④ 处,会对临时文件重新命名,例如 /data/app/vmdl18300388.tmp/base.apk ,重命名为 /data/app/包名-oONlnRRPYyleU63AveqbYA==/base.apk 。新的包名后面带上的一串字母和数字的混合字符串,是使用MD5的方式对随机生成的16个字符进行加密之后的产物。 3、 注释⑤ 处,根据 replace 来做区分,如果是替换安装就会调用replacePackageLIF方法,其方法内部还会对系统APP和非系统APP进行区分处理,如果是新安装APK会调用installNewPackageLIF方法
PackageManagerService.java#installNewPackageLIF :
在上面 processPendingInstall 方法的源码分析中,在 注释⑤ 处会发送 POST_INSTALL 消息通知安装完成,那么接下来就来具体看一看在 PackageHandler 中是怎么处理这个消息的。
以上为主要的方法摘要,具体可总结为: 1、第一步:这里主要是先将安装信息从安装列列表中移除,这个也是前面在processPendingInstall中添加的 2、第二步:安装成功后,获取运行时权限 3、第三步:获取权限后,发送ACTION_PACKAGE_ADDED广播,告诉Laucher之流,更新icon 4、第四步:如果是升级更新则在发送两条广播
5、第五步:如果安装包中设置了PRIVATE_FLAG_FORWARD_LOCK或者被要求安装在SD卡上,则调用sendResourcesChangedBroadcast方法来发送一个资源更改的广播 6、第六步:如果该应用是一个浏览器,则要清除浏览器设置,重新检查浏览器设置 7、第七步:强制调用gc,出发JVM进行垃圾回收操作 8、第八步:删除旧的安装信息 9、回调回调 IPackageInstallObserver2 的 packageInstalled 方法。告诉 PackageInstaller 安装结果。从而实现了安装回调到UI层
上述几部分大致说明 PMS 处理 APK 的主要步骤,可总结如下: 1、当 PackageInstaller 将 APK 的信息提交给 PMS 处理, PMS 会通过向 PackageHandler 发送消息来驱动 APK 的复制和安装工作 2、 PMS 发送 INIT_COPY 和 MCS_BOUND 类型的消息,控制 PackageHandler 来绑定 DefaultContainerService 来完成 APK 的复制等工作 3、复制 APK 完成之后,则开始进行安装 APK 的流程,包括安装前的检查、安装 APK 和安装后的收尾工作。
***隐藏网址******隐藏网址******隐藏网址******隐藏网址******隐藏网址***
Apk安装包在安装时提示解析包错误是什么原因
有以下几点原因:\x0d\x0a1.apk版本不兼容。\x0d\x0a2.apk程序不完整。\x0d\x0a3.指定的文件路径不存在或指定了错误的路径。\x0d\x0a4.apk安装器可能不兼容或示安装。\x0d\x0a5.由于手机经过刷机之后,有点系统必备软件例如“绿巨人”、“install”等程序由于精简的需要而没有被安装上,导致apk程序无法正常安装。\x0d\x0a6.手机可能中毒。\x0d\x0a7.当前手机不支持中文名称或路径,不支持长文件名。\x0d\x0a8.手机内存不足或手机内存卡接触不良,内存卡质量不过关等因素导致apk程序无法正常安装。\x0d\x0a解决方法如下:\x0d\x0a步骤一:通过正规的途径、知名度高的网站获取apk程序。\x0d\x0a步骤二:一般情况下当从网上下载的apk程序版本比当前手机的版本高时,就会在安装程序时出现“解析包时出现错误”的警告。对此类情况的解决办法是:就该款apk程序,在安卓市场上查找同类对应的但是版本应不高于当前手机版本的应用程序进行下载、安装和作用。\x0d\x0a步骤三:有些手机自带的下载工具不具有断点续传功能,因而下载的程序可能发生下载不完全、程序部分先失等情况。对于这类问题,建议重新下载,或者通过电脑下载,然后借助数据线将apk程序拷贝到手机内存卡中再进行安装。\x0d\x0a步骤四:解决办法是将文件重命名,名称只包含英文字母(但要注意".apk"的后辍名是要保留的),如更名为“abc.apk”等,更改完成后再次运动安装程序。\x0d\x0a步骤五:针对这类问题,试着重新插拔手机扩展内存卡,实在不行就更换一个高质量的内存卡(如今市面上出现了水货内存卡,购买时要小心,一般来说水货内存卡的标称容量要比实现的大)。如果手机上使用了水货或质量差的内存卡,即使存入内存卡的数据容量大于实际内存容量,程序也不会报错,但其实数据早已丢失。对于这种情况,apk程序肯定无法安装成功。\x0d\x0a\x0d\x0a步骤六:一种典型的情况就是在网上已经公布RE管理器设置不当造成的程序无法安装:解决办法是:进入RE管理器,点击“设置”—》“一键设置”—》“主文件夹选项”,如果将其设置成“sdcard\”就会出现“解析包出现问题”的错误提示,而如果将其设置“\”就可以成功安装,建议诸位试试!\x0d\x0a步骤七:该类情况通常多发生在进行ROM的手机当中,解决的办法是到安卓市场上下载相关的apk安装器,然后通过apk安装器安装apk应用程序。\x0d\x0a\x0d\x0a步骤八:从安卓市场中下载36手机0安全卫士,进行手机病毒的查杀,确保手机处于最佳安全运行状态。
google账号尚未与设备关联怎么办
google账号尚未与设备关联是因为缺少APK Downloade扩展程序。解决方法如下:
1、下载并安装chrome浏览器。
2、上chrome网上应用店搜索“apk downloader”。
3、添加至CHROME。
4、将出来的:要添加“APK Downloade"吗?提示框选择添加至扩展程序。
5、关闭chrome浏览器,再重启即可正常去Google Play下载任何的APK应用。只需要点击APK Downloade标志即可。
6、输入正确的apk应用名字或Google Play中apk下载网址,再点击【Generate Download Link】按钮,即可生成Google Play真正的apk下载地址。
7、输入地址后就会弹出关联的提示,点击“批准”即可成功关联。
8、成功关联后如下图。
google账号与设备关联中的 APK下载器介绍:
Online APK下载器可以下载受地区限制且不兼容的应用程序(“在我的国家/地区不可用”或“与您的设备不兼容”)。
在线APK下载器可以下载Android App Bundle(带有拆分APK的动态交付)。 您可以通过Splits APK Installer(SAI)安装Split APK。
在线APK下载程序可直接从Google服务器下载原始/纯APK。 确保APK文件安全的最佳方法是使用VirusTotal网站(病毒检测,哈希检查,开发人员证书检查)。
更多文章:
1.诸葛亮的父母是谁2.诸葛亮是怎么死的3.诸葛亮死后的遗愿是什么
2024年6月23日 06:02
上海曼朗市场营销策划有限公司怎么样?曼朗优化能力怎么样,有合作过的朋友来说说吗
2024年6月19日 13:48
设备管理器打不开(电脑设备管理器打不开---提示管理单元初使化失败)
2024年6月4日 01:48
海贼无双攻略(海贼无双3鹰眼怎么样 海贼无双3米霍克玩法攻略详解)
2024年5月5日 06:36
免费获取cad激活码(cad2012的安装序列号和密钥,2012cad激活码是什么)
2024年6月25日 02:03
有人说买不起房子的都是懒人,你怎么看?租房有什么办法可以跳过中介找到合适的房子
2024年5月5日 18:18