拿到了一个apk文件,怀疑不安全,在安装到手机之前,想分析下这个apk有没有恶意行为,或者,反汇编这个文件,求指教应该用什么分析工具?如果可以,最好可以附上可靠的下载链接。...知乎:android项目用eclipse生成apk包,eclipse完成了哪七个步骤? 前两天去面试,面试官问的,小菜表示不知道。当时他提示了一个签名。...第二步:处理AIDL文件,生成对应的.java文件(当然,有很多工程没有用到AIDL,那这个过程就可以省了) 【输入】源码文件、aidl文件、framework.aidl文件 【输出】对应的.java文件...使用adb(android debug briage)工具上传并安装apk E:\adt-bundle-windows\sdk\platform-tools>adb install E:\adt-bundle-windows...6. apk在手机上的安装过程 拷贝xxx.apk 到 /data/app/xxx-1.apk(系统应用存在/system/app/目录下) ?
本文主要内容 静默安装 apk安装流程简析 installd进程意义 最近工作上遇到静默安装相关的内容,顺便学习一下apk安装的知识 静默安装 静默安装是指apk无感安装,不需要用户确认。...有一点需要注意,在安装中pms会检查另一种权限,类似于应用能否发通知,如果isUserRestricted返回为true,安装会失败,那么需要调用相关接口,重新设置下 if (isUserRestricted...安装流程简析 PackageManager是一个抽象类,应用调用pm安装apk,这中间会发生跨进程调用,因为pms是运行在system进程中的。...,调用startCopy方法,完成apk的拷贝。...之前绑定的服务,在此处主要有两个功能,一是解析apk中的基本信息,比如包名、版本号、安装位置等 pkgLite = mContainerService.getMinimalPackageInfo(origin.resolvedPath
签名过程 Android 应用程序以 Android 应用包文件(.apk文件)的形式分发到设备上。...在应用程序签名过程中,jarsigner创建META-INF目录,在 Android 中通常包含以下文件:清单文件(MANIFEST.MF),签名文件(扩展名为.SF)和签名块文件(.RSA或.DSA)...根据所使用的算法(RSA 或 DSA),它有不同的扩展名。 相同的apk文件有可能签署几个不同的证书。...这种行为允许系统安装升级,即使它们已经使用原始应用程序的证书子集签名[2]。 在几种情况下,需要同一开发人员的应用程序之间的信任关系。...第二种情况与 Android 运行具有相同 UID 或甚至在相同 Linux 进程中运行不同应用程序的能力有关。 在这种情况下,请求此类行为的应用程序必须使用相同的签名进行签名。
前言 阅读本文前最好阅读Android PMS处理APK的复制这篇文章,因为它和本篇文章本来是一篇文章,由于公号文章的字数限制,被拆分为了两篇文章,这一篇我们接着来学习PMS处理APK的安装。...1.安装APK 照例先来查看安装APK的时序图。 ?...安装APK的过程就讲到这里,就不再往下分析下去,有兴趣的同学可以接着深挖。...2.总结 本文和上一篇文章Android PMS处理APK的复制主要讲解了PMS是如何处理APK复制和安装的,主要有几个步骤: 1....复制APK完成后,会开始进行安装APK的流程,包括安装前的检查、安装APK和安装后的收尾工作。
设置相关配置 ① 启动Mac自带的终端Terminal ② 输入命令:echo $HOME(进入Home目录) ③ 输入命令:touch .bash_profile(创建.bash_profile文件...=${PATH}:/Users/wei/Library/Android/sdk/tools:/Users/wei/Library/Android/sdk/platform-tools 注意:中间需要使用...: 分隔符 /Users/wei/Library/Android/sdk/tools:android sdk tools的目录 /Users/wei/Library/Android/sdk/platform-tools...:android sdk platform-tools的目录 ⑥ 保存文件.bash_profile:直接关闭.bash_profile即可自动保存 ⑦ 更新.bash_profile文件 输入命令...Mac查看sdk的安装路径 ? 第一步.png ? 第二步.png
在8.0的系统版本中,安装apk时有一层膜,现在就要捅了它,不然就是一闪而过,安装不上。...这层膜就是允许安装未知应用 在8.0中这个选项默认是false,只需要打开一次即可 1、manifest中添加权限 安装未知应用来源 --> android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>...boolean b = context.getPackageManager().canRequestPackageInstalls(); if (b) { installApk();//安装应用...} else { //请求安装未知应用来源的权限 ActivityCompat.requestPermissions(ActivityUtil.getCurrentActivity
// 该属性如果设置了 false,则系统在安装系统的时候不会把so文件从apk中解压出来了 // 同时修改了System.loadLibrary 直接打开调用apk中的.so文件。...: 将目录视为一个单独的APK安装包,解析这个目录下的所有APK安装包。...同样也执行例行检查,比如检查"base APK"和"拆分APK"是否有相同的安装包包名和版本号。...这里大家重点关注下 addAssetPath 方法,在Android系统中安装包路径和AssetManager的关联是使用AssetManager#addAssetPath(String) 十六、PackageParse...二十、总结 最后,我们结合上图回忆一下整个扫描过程: PackageParser首先解析出了ApkLite,得到每个Apk文件的简化信息(对于具有多个Apk文件的Package来说,将得到多个ApkLite
安装之前判断是否有root权限,如果有root权限就静默安转,如果没有就利用意图进行安装。...return false; Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW..."); intent.addCategory("android.intent.category.DEFAULT"); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK...); intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive");...return true; } } } return false; } } 获取手机安装的非系统应用
大家好,又见面了,我是你们的朋友全栈君。 如果有人发送一个apk安装包给你安装,普通人都是先把apk文件拷到手机存储内,然后在手机存储找到该安装包,点击安装。...但是这样太麻烦了,而且对我们程序猿来说不够逼格,其实我们可以通过adb命令,一行搞定 adb install apk安装包路径 C:\Users\Him>adb install d:/app-debug.apk...d:/app-debug.apk: 1 file pushed. 4.5 MB/s (1716428 bytes in 0.365s) pkg: /data/local/tmp/app-debug.apk
作为一名程序员,遇到了这样简单的问题,肯定要想办法解决,经过google和百度,查得android上所有已安装的应用都会做一个备份,分别存放在三个地方: 1、系统签名的软件:/system/app...2、安装到内存上的非系统签名软件:/data/app 3、安装到sd卡上的非系统签名软件:/mnt/asec/包名-数字/pkg.apk 我们可以使用re浏览器查看和分享这些apk,本人已确认过,...这些应用都是可用的,但是这样子相当麻烦,因为你自己必须记得这三个位置,以及这三个位置对应的存放的应用,否则每次都要把三个文件夹浏览一次,多麻烦呀,程序就是为了让人们偷懒而生的,因此废话不多说,下面贴出我自己写的可列出所有安装应用并能够通过蓝牙分享的代码...packageInfo.applicationInfo.sourceDir); File sourceFile=new File(packageInfo.applicationInfo.sourceDir); //调用android...我使用的是gridview把所有已安装的用户应用列出来,但是没有做搜索,以后有时间肯定会加上,相信肯定会为你带来方便的。
大家好,又见面了,我是你们的朋友全栈君。 介绍 要测试apk程序必须和我们编写的测试程序拥有相同的签名(signature)。...如果没有apk程序的签名秘钥,就要去除apk程序的签名,然后再使用自己的key对其签名(这一步中,我们可以使用debug key),已经有现成的工具可用,下载地址re-sign.jar,这个工具可以去掉...apk程序的原签名,然后使用我们自己的debug key对其签名。...详细 编写测试用例之前,我们需要知道apk程序的包名(package name)和启动页面名称(launcher activity name),这两个名称我们可以通过程序启动时的日志(adb logcat...上面的日志表明程序包名为:com.example.android.notepad、启动activity名为:com.example.android.notepad.NotesList,这里的activity
Android N 7.0 上安装apk android.os.FileUriExposedException问题 android.os.FileUriExposedException: file://.../storage/emulated/0/trgis/1511427343635.apk exposed beyond app through Intent.getData() 今天做自动更新的时候,自己下载好的...apk安装包调用系统的安装服务就报错,很是郁闷,因为之前的代码是好着的,后来查了下资料,原来是Android N 7.0版本之后不支持之前的写法了,好了直接上解决方案。...xml/file_paths是我们接下来要添加的文件 2.在res/xml下新建file_paths.xml Android N之前的老版本写法*/ intent.setDataAndType(Uri.fromFile(new File("apk地址")), "application/vnd.android.package-archive
有时候我们需要查看打出的apk包中AndroidManifest.xml文件,但是打开之后发现是一大堆的乱码,这个时候就需要用工具来解决这个乱码问题了,下面介绍一下使用AXMLPrinter2.jar工具转码流程...: AXMLPrinter2.jar工具下载(底部公众号回复 "转码工具" 即可获取) 将要查看的AndroidManfist.xml文件拷贝至与工具相同文件夹下 在当前文件夹打开DOS窗口 执行如下命令...AXMLPrinter2.jar AndroidManifest.xml >> AndroidManifest.txt 执行完该命令后会在该文件夹生成AndroidManifest.txt文件,该文件便是解码后的文件
shell pm list package package:com.github.shadowsocks package:com.android.cts.priv.ctsshim package:com.huawei.camera...-4GroMvI7GGj.... 19.2 MB/s (22216476 bytes in 1.103s) 最后导出apk,导出的APK名叫 base.apk,存放的路劲在你的系统主目录中,比如windows...如果你要指定目录存储可以用 adb pull **.apk /home/data 这样apk就会保存到home目录的data目录下 三、安装apk 安装命令为 adb install-multiple...-r -t [apk的位置] 或者使用 adb install [apk的位置] root@lvi166-CN15S:/home/lvi166# adb install-multiple -r -...t /home/lvi166/base.apk Success 如果出现 Success 则表示安装成功 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/141632
大家好,又见面了,我是你们的朋友全栈君。...众所周知,有时候我们只有apk安装包不一定可以直接在AS跑起来,所以有了adb命令安装 使用adb命令的前提: 1.你的首先配置adb的环境变量查看环境变量配置方法 2.配置好后请检查是否配置成功?...如下图看到Android Debug Bridge version 1.0.39即可配置成功 3.开始使用adb命令安装apk 打开cmd,输入adb install apk所在路径即可,输入回车即可安装...还可以使用这个命令强制覆盖安装 adb install -r apk所在路径即可,输入回车即可安装 注意事项apk所在目录不能包含中文 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn
也就是说,一个完整的APK 虽然不经过安装过程,但使用了插件化技术后却可以在宿主中使用其功能。 那么对应的,一个APK的完整安装过程是怎样的呢?...用户通常能体验到的安装过程有两种: 在手机厂商的应用市场中 选择目标App自动安装; image.png 先下载APK,然后是安装过程,过程中没有跳转到其他页面,可以说是一键安装。...好了,APK安装过程 就讲完了! —— 并没有,APK安装具体过程是怎样的?我们是Android应用开发者,read the source code!...三、APK的安装过程 上面提到,普通的应用安装过程 是执行在小米系统miui的"com.miui.packageinstaller"中,安装过程涉及几个Activity,我们来看看 如何使用代码 安装一个...到这里,APK的安装过程 就梳理完毕了,来回顾下: APK用写入Session且包信息和APK安装操作 都提交到了PMS; PMS中先把APK拷贝到 /data/app,然后使用PackageParser2
1.相关软件包及文件下载 下载地址:adb软件包及批量安装apk包的py文件.zip 2.测试环境 Win7 64位 Python 3.3.2 3.用法及代码show 用法: 把.apk...包放入apk目录下,然后进入到install_apk_once_many.py所在目录,运行程序: python install_apk_once_many.py 运行结果: ?...) fail_cnt = 0 # 统计安装成功的包数 pass_cnt = 0 # 统计安装失败的包数 fail_list = [] # 存放安装失败的包文件名 for...filename in filename_list: if os.path.splitext(filename)[1] == '.apk': # 判断是否是apk包 print('正在安装...:', fail_cnt) print ('安装失败的文件有:', fail_list) 注: adb root 以root权限重新启动 adb的守护进程
如果当前扫描的系统APK版本比已经安装的系统APK版本要低,则中断扫描过程,直接抛出异常。如果当前扫描的系统APK版本比已经安装的系统APK版本要高,则需要重新将系统APK设置为Enable状态。...第五步:处理系统APK已经被安装过的场景。已经被安装过的APK位于data分区。...的成员变量mAndroidApplication用于保存此Package中的ApplicationInfo 2、这里先说一下framework-res.apk,它的包名为"android"。...其中shouldCheckUpgradeKeySetLP方法可以参考APK安装流程详解15——PMS中的新安装流程下(装载)补充 中二、PackageManagerService#shouldCheckUpgradeKeySetLP...这里具体请参考APK安装流程详解15——PMS中的新安装流程下(装载)补充 中 五、PackageDexOptimizer#performDexOp(PackageParser.Package, String
1.前往maven的官网下载,点击左侧的download下载maven http://maven.apache.org/ 如下图 需要注意的是3.3以上版本需要jdk1.7及以上,如果...jdk版本比较低请下载低版本的maven或者安装高版本的jdk。...2.将下载之后的apache-maven-3.3.9文件夹解压到某个位置,作者习惯将Java相关的文件统一放在D:\Java的目录下,个人爱好。...apache-maven-3.3.9 计算机上右键属性,高级系统设置,环境变量在系统变量上添加变量: 变量名:M2_HOME 变量值:D:\Java\apache-maven-3.3.9(即为刚才解压的目录...打开命令行提示符,输入 mvn -v 如果看到类似于如下的即为安装成功。
Android 7.0 上安装apk android.os.FileUriExposedException问题 如果你的系统版本是 8.0+,那你需要多加一个权限,否则无法跳转到安装页 android:name="android.permission.REQUEST_INSTALL_PACKAGES"/> 如果安装报错,可能是临时文件访问路径没有配置,或者百度上找到的安装代码是旧版本的...app through Intent.getData() 今天做自动更新的时候,自己下载好的apk安装包调用系统的安装服务就报错,很是郁闷,因为之前的代码是好着的,后来查了下资料,原来是Android...2.在res/xml下新建file_paths.xml Android N之前的老版本写法*/ intent.setDataAndType(Uri.fromFile(new File("apk地址")), "application/vnd.android.package-archive
领取专属 10元无门槛券
手把手带您无忧上云