【教程】怎样提取安卓软件安装包中的可用资源
Android实现获取应用程序相关信息列表的方法

Android实现获取应⽤程序相关信息列表的⽅法本⽂所述为Androdi获取⼿机应⽤列表的⽅法,⽐如获取到Android应⽤的软件属性、⼤⼩和应⽤程序路径、应⽤名称等,获取所有已安装的Android应⽤列表,包括那些卸载了的,但没有清除数据的应⽤程序,同时在获取到应⽤信息的时候,判断是不是系统的应⽤程序,这是⼀个应⽤管理器所必需具备的功能。
具体实现代码如下://AppInfoProvider.javapackage com.xh.ui;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.content.pm.ApplicationInfo;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.graphics.drawable.Drawable;/*** 类名称:AppInfoProvider* 类描述:获取应⽤程序的相关信息* 创建⼈:LXH*/public class AppInfoProvider {private PackageManager packageManager;//获取⼀个包管理器public AppInfoProvider(Context context){packageManager = context.getPackageManager();}/***获取系统中所有应⽤信息,*并将应⽤软件信息保存到list列表中。
**/public List<AppInfo> getAllApps(){List<AppInfo> list = new ArrayList<AppInfo>();AppInfo myAppInfo;//获取到所有安装了的应⽤程序的信息,包括那些卸载了的,但没有清除数据的应⽤程序List<PackageInfo> packageInfos = packageManager.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);for(PackageInfo info:packageInfos){myAppInfo = new AppInfo();//拿到包名String packageName = info.packageName;//拿到应⽤程序的信息ApplicationInfo appInfo = info.applicationInfo;//拿到应⽤程序的图标Drawable icon = appInfo.loadIcon(packageManager);//拿到应⽤程序的⼤⼩//long codesize = packageStats.codeSize;//Log.i("info", "-->"+codesize);//拿到应⽤程序的程序名String appName = appInfo.loadLabel(packageManager).toString();myAppInfo.setPackageName(packageName);myAppInfo.setAppName(appName);myAppInfo.setIcon(icon);if(filterApp(appInfo)){myAppInfo.setSystemApp(false);}else{myAppInfo.setSystemApp(true);}list.add(myAppInfo);}return list;}/***判断某⼀个应⽤程序是不是系统的应⽤程序,*如果是返回true,否则返回false。
Android学习--Assets资源文件读取及AssetManager介绍

Android学习--Assets资源⽂件读取及AssetManager介绍APK安装过程复制APK安装包到data/app⽬录下,解压并扫描安装包,把dex⽂件(Dalvik字节码)保存到dalvik-cache⽬录,并data/data⽬录下创建对应的应⽤数据⽬录,Android系统在sdcard上为每⼀个应⽤分配了存储路径:/sdcard/Android/data/$(应⽤的包路径),该路径可以通过 context.getExternalFilesDir 得到,⼀般应⽤卸载的时候,该⽬录也会随之被删除。
Android资源⽂件分为两类:第⼀种是res⽬录下存放的可编译的资源⽂件,编译时,系统会⾃动在R.java中⽣成资源⽂件的ID,所以访问这种资源⽐较简单,通过在程序中调⽤R.id.filenam e即可。
另⼀种是assets⽬录下存放的原始资源⽂件,因为系统在编译的时候不会编译assets下的资源⽂件,所以我们不能通过R.id.filename的⽅式访问它们。
那我么能不能通过该资源的绝对路径去访问它们呢?因为apk安装之后会放在/data/app/**.apk ⽬录下,assets被绑定在apk⾥,以apk形式存在,并不会解压到/data/data/YourApp⽬录下去,所以我们⽆法直接获取到assets的绝对路径,因为它们根本就没有独⽴存在。
res/raw和assets的相同点:1.两者⽬录下的⽂件在打包后会原封不动的保存在apk包中,不会被编译成⼆进制。
res/raw和assets的不同点:1.res/raw中的⽂件会被映射到R.java⽂件中,访问的时候直接使⽤资源ID即R.id.filename;assets⽂件夹下的⽂件不会被映射到R.java中,访问的时候需要AssetManager类。
2.res/raw不可以有⽬录结构,⽽assets则可以有⽬录结构(在其⽬录下可以再建⽂件夹)3.读取res/raw下的⽂件资源,通过以下⽅式获取输⼊流:InputStreamis=getResources().openRawResource(R.id.filename); 读取assets下的⽂件资源,通过以下⽅式获取输⼊流:InputStream is =getResources()..getAssets().open("filename");AssetManager管理对assets⽂件夹资源的访问查看官⽅API可知,AssetManager提供对应⽤程序的原始资源⽂件进⾏访问;这个类提供了⼀个低级别的API=1,它允许你以简单的字节流的形式打开和读取和应⽤程序绑定在⼀起的原始资源⽂件。
APK应用程序的解包、修改、编辑、打包及应用

APK应用程序的解包、修改、编辑、汉化、打包及应用前两讲主要讲玩机的最基本的知识,集中在如何刷机。
本讲是进级的内容,来谈谈与apk 应用程序有关的知识,内容包括akp文件的解包、打包、反编辑、解析、汉化、修改等内容,也介绍几个常用的软件。
最后要介绍对apk操作有哪些应用,学会了能干些什么。
这些内容实际上构成了一个很大的课题,用简短的文字无法描述清楚。
我准备用三个部分来介绍如下内容:第一部分:apk应用介绍,解包和打包,常用软件工具第二部分:三星闭源系统apk文件的处理,汉化和签名第三部分:介绍apk文件打包解包的各种应用第一部分是基础知识,第二部分进入实战修改apk应用程序,最后在第三部分来介绍APK 应用程序的修改和编辑的各种各样实际应用。
----------------------------------------------------------------------------------第一部分:apk应用介绍,解包和打包,常用软件相信每为机友对APK文件都不陌生。
你可能每天都与APK文件打交道,无论是安装和卸载有用的应用工具、插件、好玩的游戏等等。
尤其是最近关于2.3.4 XXJVP ROM的汉化,更成为论坛里的热门话题。
你们可曾知道ROM是怎样汉化的吗?说来容易做来难。
这里要涉及很广泛的知识、手段,以及要花大量的时间。
1. APK文件简介APK是Android Package的缩写,即Android application package文件或Android安装包。
每个要安装到Android平台的应用都要被编译打包为一个单独的文件,扩展名为 .apk。
APK 文件是用专业软件eclipse编译生成的文件包,其中包含了应用的二进制代码、资源、配置文件等。
通过将APK文件直接传到Android手机中执行即可安装。
APK文件其实就是zip格式,但其扩展名被改为apk,在Windows下用解压软件WinRAR/WinZIP/7-Zip可以直接打开。
Android获取已安装应用信息(图标,名称,版本号,包)

Android获取已安装应⽤信息(图标,名称,版本号,包)Android 菜市场上有⼀款应⽤较 ShareApp,可以显⽰,管理,分享Android⼿机上安装的应⽤。
但⽐较不爽的是,它把很多系统⾃带的应⽤程序也都显⽰了出来。
这些程序往往是⽆法卸载的,更⽆法分享,让“已安装应⽤程序”的列表显的⾮常凌乱。
我在⼿机上运⾏了⼀下,结果Gtalk,DRMService这些系统应⽤都显⽰出来了..⽐较不爽。
于是⾃⼰写了个程序,看看能不能只显⽰⽤户⾃⼰安装的程序。
程序⼤概分成三个部分:1.获取⼿机已安装的所有应⽤package的信息(其中包括⽤户⾃⼰安装的,还有系统⾃带的);2.滤除系统⾃带应⽤;3.通过列表显⽰出应⽤程序的图标(icon),和其他⽂字信息(应⽤名称,包名称package name,版本号等等)⾸先,我们定义⼀个数据结构,来保存应⽤程序信息(icon,name,packageName,versionName,versionCode,等)publicclass AppInfo {public String appName="";public String packageName="";public String versionName="";publicint versionCode=0;public Drawable appIcon=null;publicvoid print(){Log.v("app","Name:"+appName+" Package:"+packageName);Log.v("app","Name:"+appName+" versionName:"+versionName);Log.v("app","Name:"+appName+" versionCode:"+versionCode);}}然后我们通过来获取已安装的应⽤包信息。
iOS提取APP中的图片资源的方法

iOS提取APP中的图⽚资源的⽅法最近在学习swift的过程中,准备通过模仿⼀个app来实战⼀下,于是我去下载了⼀个⽃鱼直播,不是打⼴告.....因为模仿嘛,所以就需要获取其中的图⽚资源,本以为能很顺利的得到,没想到还是遇到了⼀个⼩⿇烦,兴庆的是还是找到很好的办法来解决,下⾯就来记录下获取app中图⽚资源的过程1、下载APP、通过iTunes在商店中搜索你需要的app,如下图然后进⾏下载2、打开ipa包,查看资源⽂件在iTunes中的应⽤->iPhone 应⽤中,我们找到刚刚下载的app,然后右键点击在Finder中显⽰,然后选择ipa包,通过解压的⽅式,将其解压最后我们就能得到⼀个⽂件夹,点击该⽂件夹,选择Payload⽂件,然后我们会看到如下的⽂件点击该⽂件,右键选择显⽰包内容,就可以进⼊⾥⾯看到资源⽂件了。
3、如何获取Assets.car中的图⽚资源在上⾯操作后,进⼊到资源⽂件⽂件夹中,另我⼤失所望的是居然没有我想要的所有图⽚资源,只要很少的⼀些,⽐如logo和引导页⾯的图⽚,但是我却发现了⼀个我们经常⽤的,那就是Assets.xcassets打包后⽣成的Assets.car⽂件,由于苹果公司不提供直接查看Assets.car的⼯具,所以查了下资料,很快就找到了这么⼀个⼯具通过cartool⼯具,我们便能解析出图⽚资源下载⽅法:通过终端git clone https:///steventroughtonsmith/cartool 将下载下来的⼯程打开,⼤概就是这样打开该⼯程后,就进⼊最重要的⼀步了,通过下⾯的步骤product–>scheme–>edit scheme耶!通过该步骤后,我们就可以去转化后的路径看到我们想要的图⽚了。
过程很简单,在这⾥简单记录⼀下,希望能帮到需要⽤的⼈☺以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
aapt使用流程

aapt使用流程
使用aapt的流程可以分为以下几个步骤:
1. 安装Android SDK:首先,确保你已经安装了Android SDK。
如果没有安装,你需要下载并安装它,以便使用其中的工具。
2. 打开命令行窗口:在开始菜单中找到并打开“命令提示符”或“终端”等命令行窗口。
3. 导航到工作目录:在命令行窗口中,使用`cd`命令导航到你想要执行aapt命令的工作目录。
例如,如果你的工作目录是`C:\myproject`,则可以输入`cd C:\myproject`。
4. 运行aapt命令:一旦进入了工作目录,你可以使用aapt命令执行各种任务。
例如,可以使用`aapt package`命令创建一个新的Android应用程序包。
5. 查看帮助文档:如果你不确定如何使用某个aapt命令或选项,可以使用`aapt --help`命令查看帮助文档。
帮助文档中包含了详细的说明和示例。
6. 根据需要执行其他操作:除了创建应用程序包之外,aapt还可以执行其他各种操作,例如解析APK文件、提取资源、生成R.java文件等。
根据你的需求,可以选择适当的命令来执行这些操作。
总的来说,使用aapt的流程是先安装Android SDK,然后打开命令
行窗口并导航到工作目录,然后使用aapt命令执行各种任务,最后根据需要执行其他操作。
通过熟练掌握aapt工具,可以更好地管理和处理Android应用程序的资源文件。
软件包rpm、tgz、deb等软件包提取文件
软件包rpm、tgz、deb等软件包提取文件发行版都有一定的软件包格式,比如file.rpm 、file.deb或file.tgz或file.tar.gz等;rpm格式的软件包,一般基于Redhat或Fedora为基础开发的都采用RPM格式。
因为chroot安装操作系统,首要的是从一个软件包中提取文件,然后复制到文件系统中,所以提取文件工具也得做一点解说;1 从rpm软件包抽取文件;操作的前提是得有rpm的管理工具,也就是说得有rpm等相关命令;命令格式:rpm2cpio file.rpm |cpio -div举例:[root@localhost RPMS]# rpm2cpio gaim-1.3.0-1.fc4.i386.rpm |cpio -div 抽取出来的文件就在当用操作目录中的usr 和etc中;其实这样抽到文件不如指定安装目录来安装软件来的方便;也一样可以抽出文件;为软件包指定安装目录:要加-relocate 参数;下面的举例是把gaim-1.3.0-1.fc4.i386.rpm指定安装在/opt/gaim 目录中;[root@localhost RPMS]# rpm -ivh --relocate /=/opt/gaimgaim-1.3.0-1.fc4.i386.rpmPreparing... ########################################### [100%]1:gaim ########################################### [100%][root@localhost RPMS]# ls /opt/gaim这样也能一目了然;gaim的所有文件都是安装在/opt/gaim 中,我们只是把gaim 目录备份一下,这样其实也算提取文件的一点用法;2 file.tgz、file.tar.gz和file.tar.bz2的提取;[root@localhost ~]# tar zxvf file.tgz[root@localhost ~]# tar zxvf file.tar.gz[root@localhost ~]# tar zxvf file.tar.bz23 file.deb的提取;[root@localhost ~]# ar x file.deb[root@localhost ~]# tar zxvf data.tar.gzfile.deb通过ar x 来解包,然后再把data.tar.gz解开就看到相关的目录和文件了;4 file.iso文件的提取;这样的文件在Linux主要通过mount -o loop file.iso 挂载地址;比如;[root@localhost ~]# mount -o loop slackware-10.2-install-d1.iso /mnt/cdrom/5 提取文件相关参考;《文件解压缩》《RPM 的介绍和应用》。
如何提取SBF文件中的系统文件
如何提取Moto的sbf刷机包中的文件这对于误删系统文件和软件的同学可以重新提取系统文件,放回到系统!!本文档专为误操作的小盆友而做。
也希望大家共同努力,分享知识,分享快乐.互相学习.不罗嗦了下面来看具体步骤。
具体步骤:步骤一:1、首先要用到俩工具(别急,我会把附件传到百度网盘上供大家下载。
)工具链接:/s/1lEfxZ哈利波特大童鞋,你就不用下载了,在邮件附件中查找即可。
第一个:\pick-up tools\unrar sbf tools\MotoAndroidDepacker目录下面的MotoAndroidDepacker.exe 这个工具是用来解压sbf文件的。
第二个:\pick-up tools\yaffs2img explorer目录下面的yaffs2img explorer.exe 这个是浏览sbf解压后的镜像文件的。
其次就是系统的安装文件,本次使用的文件是p3_ruth.Blur_-signed.sbf 已有的童鞋不用下载,没有的话跟前面俩工具一起下载。
工具齐全后,第一步告一段落,开始操作第二步。
步骤二:打开解SBF包工具MotoAndroidDepacker.exe程序,点击“Open From File”并找到你想解的sbf 包,确认打开,如下图所示:然后点击上图中的“Split To Folder”将sbf文件拆解成目录。
留神了,这期间可能会有像假死的现象,因机器的配置而定,我办公电脑配置较差,故解压的时候会假死,遇到这种情况不要急,等会可以了。
目前是点击“Split To Folder”按钮后正在解压:想要知道它解压完成了没有,点击SBF文件,看到镜像列表就算解压完成,如下图:上图中的*.smg的列表就是解压后的镜像列表,一会你就要在里面找镜像文件解压。
解压后的镜像目录放在你sbf文件的同级目录,是同sbf文件名称相同的目录,如下图:现在解压sbf文件完成,步骤二告一段落。
apk打包流程以及使用到的工具
APK打包流程以及使用到的工具1. 概述APK(Android Package)是Android系统的安装包文件格式,用于将Android 应用程序分发到设备上。
APK打包是Android开发过程中非常重要的一步,本文将介绍APK打包的流程以及常用的工具。
2. APK打包流程APK打包的主要流程包括以下几个步骤:2.1. Android项目配置在开始APK打包之前,需要将Android项目进行正确的配置。
主要包括: - 配置AndroidManifest.xml文件,指定应用程序的各种参数; - 配置build.gradle文件,设置编译参数和依赖关系; - 编写Java代码和资源文件,实现应用程序的功能和界面。
2.2. 编译源代码在完成Android项目的配置后,需要编译源代码。
Android项目的源代码通常使用Java编写,可以使用Java开发工具(如JDK)进行编译。
编译后会生成.dex 文件,包含了Java字节码。
2.3. 生成资源文件Android应用程序除了源代码外,还包含了各种资源文件,如图片、XML布局文件等。
这些资源文件需要通过工具进行编译和打包,生成对应的二进制文件。
2.4. 打包生成APK文件在完成源代码编译和资源文件生成后,需要将它们打包生成APK文件。
APK 文件是一个压缩文件,包含了应用程序的所有文件和目录结构。
2.5. 签名APK文件为了保证APK文件的安全性和完整性,需要对APK文件进行签名。
签名APK 文件可以确保APK文件在分发和安装过程中不被篡改。
3. 使用的工具3.1. JDK(Java Development Kit)JDK是Java开发工具包,包含了Java编译器和其他开发工具。
在APK打包过程中,需要使用JDK进行Java源代码的编译。
3.2. Android StudioAndroid Studio是Android官方推荐的集成开发环境(IDE),提供了丰富的开发工具和功能。
【转】提取手游模型
【转】提取⼿游模型----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------王者荣耀使⽤的是【 5.X】开发,可以使⽤Unity3D⼿游通⽤的提取⽅法提取。
本⽂以安卓为例,IOS虽然资源路径,但解包⽅法相同,请⾃⾏探索。
1、找到需要提取的模型包。
1、王者荣耀安装后,就将模型等资源解压到SD卡⽬录⾥,我们需要找到这个⽬录。
2、模型资源存储在SD卡中,路径为: 【/SDCard//data/com.tencent.tmgp.sgame/files/Resources/AssetBundle/】(这⾥⼿机链接电脑(本⼈vivoX9 )会在这个路径⾥:计算机\vivo X9\内部存储设备\Android\data\com.tencent.tmgp.sgame ,进去后什么都看不到 - - 表⽰不懂,已经打开了对隐藏⽂件可见。
只有在⼿机⾥ XXX\Android\data\com.tencent.tmgp.sgame这个⽬录下才能看到)3、所有英雄的资源包都在这个⽬录下,以【.assetbundle】为后缀。
要想找到只要搜索英雄名称的拼⾳即可,我想提取⼤乔的模型,在ES ⽂件浏览器中输⼊”DaQiao”即可找到下列的资源包。
3、切换到【Asset List选项卡】,可以按照类型等⽅法排序,左侧点击的资源,可以在右侧显⽰资源的预览,操作⽅式在软件右下⾓。
Mesh为模型,Texture为贴图。
4、选中资源,选择菜单项【Export->Selected 3D Objects】,导出类型可选择【fbx】或者【dae】格式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【教程】怎样提取安卓软件安装包中的可用资源
在我们使用的软件中有许多图片、声音、或部分配置文件是我们喜欢或需要的,我们可以用第三方工具将其提起出来。
下面介绍提取的方法和步骤:
1.提取工具Re文件管理器(或同类工具)
2.文件图标
下载安装后点击图标进入主界面:
进入主界面后主要操作对象有三个;
1.sdcard是你的TF内存;
2.sdcard-ext是手机内存;
3.system系统文件夹(主要含系统已安装程序和系统媒体库)
如图:
如果你要提取的对象是已安装的可点击上图所示的app文件夹去找对应程序,如图
如果应用安装在SD卡中的请到sdcard目录下的android_secure文件夹中去找(未获取root 不允许操作)如果你要提取的对象是未安装的可以在对应的文件夹下去找。
如图
找到目标后短按如图
如图:
Assets一般文件夹为软件配置文件夹(不同软件目录可能不同请自行尝试)其中含图片、声音,
选定提取内容长按不放弹出界面如图:
点击extract即可提取,提取完后如图:
Stay停留在当前窗口,go to extracted查看已提取内容多个提取:
按手机上的目录键呼出菜单如图
点击multi-select进入多项提取
选钩要提取的内容点击extract即可
操作技巧
若不知道要提取的文件在哪里可以先全部提取后用自带文件管理器查找!
已安装的操作与此相同,也可以利用备份工具将已安装的软件备份成安装包!
——湖月星空。