㈠ APK文件怎么解压
把apk的文件后缀改为zip后,就能用压缩软件打开安装包。
1、apk文件其实是zip格式,但后缀名被修改为apk,所以,把apk的文件后缀改为zip后,就能用压缩软件打开安装包。
2、APK是androidPackage的缩写,即Android安装包(apk)。APK是类似Symbian
Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。apk文件和sis一样,把android
sdk编译的工程打包成一个安装程序文件,格式为apk。
3、
APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVM
executes的简称,即Android
Dalvik执行程序,并非java
ME的字节码而是Dalvik字节码。
4、Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows
Mobile中的PE文件有区别。
5、在Android平台中dalvik
vm的执行文件被打包为apk格式,安装的文件可能不是这个文件夹,而在androidrom中,系统的apk文件默认会放入这个文件夹,它们拥有着root权限。
㈡ 如何压缩APK文件
不可直接压缩。
1、APK文件用解压软件可以看到里面的内容,但是这样修改是不行的。
2、APK是通过签名生成的,如unity导出apk。
3、如果要查看apk文件,建议使用apk编辑器。
4、直接编辑APK包中的ARSC.dex.XML等资源文件,实现软件的汉化和修改,同时用户可以随意编辑apk文件,包括对apk文件的解包、打包、签名、汉化等等操作。
㈢ 安卓手机一个apk形式的游戏怎么转换成zip
apk是安装包。手机文件管理中,长按文件,选择压缩,就可以压缩为zip文件。
㈣ android 应用软件apk用压缩包打开后xml文件乱码,怎么解决
为了保护安装程序代码,对xml进行了加密。所以解压缩后显示乱码。
你想看到代码,只能想办法破译。但是你不知道它采用的加密算法,所以几乎不可能破译。
在android系统上
安装应该没有问题
。
没有加密的apk程序实际上是一个zip压缩包。解压后能看到代码的
㈤ android APK瘦身处理
最近项目功能已经开发完成,看到自己辛苦开发出来的app,apk尽然惊人的达到了60MB,再回头想想自己做的app有哪些功能,心里没点数嘛,最后经过自己的一番折腾,把apk大小减小到了29MB。
下面看下这篇文章大致内容
将自己编译好的apk直接拖拽至Android 直接打开(apk实际上是压缩文件,也可以将后缀改为zip,直接解压)
*这里发现导致apk文件大的文件主要是lib、res、classes.dex、assets、resources.arsc这5个文件,接下来我们逐个击破。
问题2: libP2PController.so、libAMapSDK_MAP_v8_1_0.so这两个包这么大,还有优化空间吗?
解答2: 经过仔细分析,libP2PController是项目引入IM功能加入的lib库,而这个lib库主要是语音、视屏通过需要用到的库,刚好目前需求没有语音视屏功能,所以大胆删除库,并在loadLibrary的时候做好tryCatch保证程序不报错即可;
libAMapSDK_MAP_v8_1_0库相信大家都很熟悉,大家在集成高德地图的时候,只需要定位功能,则集成定位sdk根据需求来,不需要集成全量SDK,不然就会增加apk大小。
做完lib库优化后,apk大小缩小了20M,主要是删除了armeabi(10MB)文件夹和libP2PController arm64、armeabi-v7a两个so包约(10MB),现在apk是40MB。
展开res目录发现如下截图
发现问题:
解决办法
打开如下图:结果发现,都是第三库携带的一些资源文件,这个则无需处理
这个文件打不开,但知道这个文件里面是包含res/values/ 文件夹所有配置中的XML内容,包括colors.xml,ids.xml, string.xml, styles.xml等等资源文件;
心想,这文件咋优化呢,只需要去掉不需要使用的资源文件,包括id即可;
使用Lint去除无用的资源文件,操作步骤是Analyze -> Run Inspection by Name -> 输入框输入 Unused resources 就可以扫描工程找到未使用的资源了
众所周知,dex文件是源码编译后的运行字节码文件,反编译工具dex2Jar得到java源码就是反编译dex文件的。
那么源码是通过以下几点来优化的:
㈥ 怎么把APK格式改成rar呢
最简单的办法就是更改文件名,也就是重命名,把文件名的后缀APK更改为rar即可。
APK是AndroidPackage的缩写,即Android安装包(apk)。APK文件盒SymbianSis或Sisx的文件格式差不多。通过将APK文件直接传到Android模拟器或Android手机中,然后执行并安装。apk文件和sis一样,把androidsdk编译的工程打包成一个安装程序文件,这个文件的格式为apk。
APK文件其实是zip格式的一个压缩包,但后缀名被修改为apk,通过UnZip解压后,我们就可以看见Dex文件,Dex是DalvikVMexecutes的全称,即AndroidDalvik执行程序,并非JavaME的字节码而是Dalvik字节码。
在Android平台中dalvikvm的执行文件被打包为apk格式,最终运行时就会被加载器解压然后获取编译后的androidmanifest.xml文件中的permission分支相关的安全访问,但是仍然拥有很多限制,如果你将apk文件传到/system/app文件夹下会发现执行是不受限制的。
安装的文件可能不是这个文件夹,而在androidrom中系统的apk文件默认会放入这个文件夹,它们拥有着root权限。
㈦ APK文件如何解压
工具/原料
电脑 APK文件
方法/步骤
1、首先,找到APK文件,用鼠标右键点击一下,选择“重命名”。
㈧ 安卓手机无法解压apk文件怎么解决呢
建议诸位可以这样试试!
1、安卓apk程序解析包出现问题的 话,可能是由于你下载的apk程序本身 就有问题,程序的压缩包可能在下载过 程中被损坏了,建议请重新下载一次。
2、如果重新下载也解决不了安卓 解析包出现问题的话,很大一个可能就 是在于你的手机的配置参数不支持这款 软件,举个例子吧,如果一款apk程序 的系统版本要求在安卓2.2以上,而你 的手机则是安卓2.1系统,就会出现“解 析包时出现问题”这样的解析错误。
3、还有一种可能是由于RE文件管 理设置的缘故,进入RE管理器——设置 ——一键设置——主文件夹选项,有的 朋友反映如果将其设置成“sdcard ”就 会出现“解析包出现问题”的错误提示, 而如果将其设置“ ”就可以成功安装,
㈨ 如何减小android应用的apk文件大小
一、 工具集介绍
安卓压缩工具集提供了一个极为简洁的方法,能够比安卓原有的Zip提供更高压缩比的存储应用内的so文件 (后期版本还可以支持压缩动态加载的jar包,以及游戏资源文件),同时提供了应用内网络更新下载压缩文件的方法,使得应用可以将部分so存储到云端,减小应用的尺寸。
最高节省50%空间!
在云测平台上测试了158款终端,涵盖2.3到4.4多个系统版本,100%通过
100%通过测试!
8M文件1s内解压
压缩原理: 压缩工具会把所有的so使用LZMA算法压缩到assert目录,应用在第一次启动的时候,会解压到应用的私有目录下
二、 工具集组成
工具集为一个安装程序,建议安装在默认路径下,安装在program files下在win7可能有读写权限的问题导致一些异常
安装后,你可以看见4个目录,此目录内都含有源码。
安装后的四个目录如下
其中 ApkLibComrepss 为java命令行程序的源码,在此目录的bin子目录中,你可以找到ApkCompress.jar ,使用这个文件可以把一个普通的apk文件转换为压缩的apk文件
CompressDemo为一个样例代码,你可以参考这个代码知道如何整合压缩的SDK。
DecRawso是压缩的SDK,你的开发工程需要引用这个SDK,并进行一些源码上的修改,才能整合压缩的功能
RawsoCreator为windows下的转换工具, 这个工具一般无需使用, 仅仅在调试和二次开发压缩SDK的时候使用。
三、 如何整合压缩SDK
打开CompressDemo,我们以这个工程为例子讲解如何整合压缩SDK
1. 首先需要引入DecRawso工程
2. 然后需要在你的工程内最初始的地方调用DecRawso.NewInstance。在此demo工程内,是在MainActivity.java的OnCreate内调用了此方法, 此方法是创建了一个解压的唯一实例。注意:此方法是异步的,所以你可以传入一个handler接受异步解码完成的消息,如果同时传入参数showProgress=true,SDK内会产生一个进度对话框以阻塞主进程。不推荐使用DecRawso.NewInstance(mContext,null,false);的方式,此方式不接受任何消息,且无进度对话框,解压会在后台自动完成,并且在应用第一次load so的时候阻塞直到后台解压完成。所以如果阻塞时间过长,可能会导致应用无响应。
3. 修改load so文件的方法:所有的System.loadlibrary(***)改为 System.load(DecRawso.GetInstance().GetPath(“***"));
新版本, 这步可以省略了,sdk会修改system的libaray加载路径,一般情况下,系统升级不会出问题 (非正规代码,小概率会随android升级修改新的代码),如果方便的话,还是采用System.load(DecRawso.GetInstance().GetPath(“***"))
经过这几个简单的步骤,压缩的SDK已经整合到工程内了。