场景:实现安装一个apk应用程序的过程.界面如下: 编写如下应用,应用结构如下: <RelativeLayout   编写activity_main.xml布局: <RelativeLayout 版本开始的 .setContentText("我是内容") .setSmallIcon(R.drawable.notification) .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable…
[原文] 来自华为内部资料 应用安装是智能机的主要特点,即用户可以把各种应用(如游戏等)安装到手机上,并可以对其进行卸载等管理操作.APK是Android Package的缩写,即android安装包.APK是类似Symbian Sis或Sisx的文件格式.通过将APK文件直接传到Android模拟器或Android手机中执行即可安装. Android应用安装有如下四种方式 1.系统应用安装――开机时完成,没有安装界面 2.网络下载应用安装――通过market应用完成,没有安装界面 3.ADB工…
Android安装器学习笔记(一) 一.Android应用的四种安装方式: 1.通过系统应用PackageInstaller.apk进行安装,安装过程中会让用户确认 2.系统程序安装:在开机的时候自动进行安装/system/app下面的APK文件,没有安装界面 3.通过Google 的Android market进行安装,安装界面就是Market的界面,APK从网络获得 4.使用adb(Android Debug Bridge)进行安装,没有用户界面 二.PackageInstaller应用剖析…
在每个项目中,拦截器都是我们经常会去使用的东西,基本上任一一个项目都缺不了拦截器的使用. 如日志记录.登录验证,session验证等,都需要拦截器来拦截URL请求,那springboot中的拦截器是如何去使用的呢,我们一起试试. 首先,我们去创建一个名为LoginInterceptor的拦截器,来过滤请求,我们创建的拦截器要去实现HandlerInterceptor接口,然后定义我们的方法 public class LoginInterceptor implements HandlerInter…
问题:项目中不同的分发渠道可能须要打包多种APK(相同的代码),包名可能是不一样的,假设一个一个改动包名又一次编apk是非常麻烦,能够參考下列步骤在Android Studio上操纵Gradle来打包不同包名的apk. 这里样例的目标是.相同的代码,打包成com.example.android.newsreader和com.example.android.newsreaderdev两个不同包名的apk 1. 首先在build.gradle的android节点中增加下列代码 productFlav…
本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/80982869 Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应用程序就是Launcher了.Android系统的Home应用程序Launcher是由ActivityManagerService启动的,而ActivityManagerService和Pack…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 实际项目开发中可能碰到项目名称写错了或者需要修改,而且包名可能也想要修改,那么如何操作呢. 本文是在Android Studio3.0.1版本上操作的,不同版本可能操作步骤不同. 在 Studio 里面我们的 getPackageName 对应的是 build.gradle文件中的applicationId : 而AndroidManifest.xml的那个package,在这里的作用其实是为了引用内部资源文件,以及保证 Act…
在 Linux 中自动生成 Cordova/Phonegap for Android 的 APK 安装程序 本贴首发于: http://xuekaiyuan.com/forum.php?mod=viewthread&tid=15 准备环境 本脚本依赖 p7zip,OpenJDK,PHP 代码说明 设置已编译的不包含网页的 APK 安装程序的路径 SOURCEAPK="./AxureViewer.apk" 设置网页的路径 SOURCEWWW="./www" 设…
众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下 PackageManager packageManager = this.getPackageManager(); List<PackageInfo> packageInfoList = packageManager.getInstalledPackages(0); 通过以上方法,可以得到手机中安装的所有应用程序,既包括了手动安装的apk包的信息,也包括了系统预装的应用软件的信息,要区分这两类软件可…
原文地址:http://blog.csdn.net/jinzhuojun/article/details/25542011 事实上对于apk包的安装.4.4和之前版本号没大的区别. Android中app安装主要有下面几种情况:系统启动时安装,adb命令安装,Google Play上下载安装和通过PackageInstaller安装. 安装的最核心方法是scanPackageLI().以上几个安装方式最后都是调用这个函数完毕主要工作的,差别在于在此之前的处理过程不同.本文曾经两种为主,简要介绍这…
众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下: PackageManager packageManager = this.getPackageManager(); List<PackageInfo> packageInfoList = packageManager.getInstalledPackages(0); 通过以上方法,可以得到手机中安装的所有应用程序,既包括了手动安装的apk包的信息,也包括了系统预装的应用软件的信息,要区分这两类软件…
#1 安装方式 1 安装系统APK和预制APK时,通过PMS的构造函数中安装,即第一次开机时安装应用,没有安装界面. 2 网络下载安装,通过应用商店等,即调用PackageManager.installPackages(),有安装界面. 3 通过adb工具安装,没有安装界面,它通过启动pm脚本的形式,然后调用com.android.commands.pm.Pm类,之后调用到PMS.installStage()完成安装. 4 安装本地apk,有安装界面,由PackageInstaller系统应用安…
周末闲来无事,把Android的基础知识拿出来复习复习,今天主题是<获取未安装的APK图标.版本号.包名.名称.是否安装.跳转安装.打开> 一.获取APK图标 通常读取APK的图标能够用,PackageManager里面的getApplicationIcon(ApplicationInfo)来得到一个drawable.但实际使用的时候常常仅仅能得到一个默认的图标.根本不是APK的图标. 參考小米开源文件管理器,结合实践,代码例如以下: /* * 採用了新的办法获取APK图标.之前的失败是由于a…
转载请标明出处:一片枫叶的专栏 上一篇文章中给大家分析了一下android系统启动之后调用PackageManagerService服务并解析系统特定文件夹.解析apk文件并安装的过程,这个安装过程实际上是没有图形界面的,底层调用的是我们平时比較熟悉的adb命令,那么我们平时安装apk文件的时候大部分是都过图形界面安装的,那么这样的方式安装apk详细的流程是如何的呢? 本文我们就来详细看一下apk的详细安装过程,通过本文的学习希望帮助大家大概的了解到Android系统安装Apk文件的基本流程.好…
1.Activity启动流程 (7.0版本之前) 从startActivity()开始,最终都会调用startActivityForResult() 在该方法里面会调用Instrumentation.execStartActivity()执行(Instrumentation主要用来监控应用程序和系统的交互)启动,execStartActivity()方法里面有2个方法,一个是ActivityManagerNative.getDefault().startActivity()这个方法是执行act启…
pre { background: none left top repeat scroll rgba(0, 0, 0, 0); border: 1px solid rgba(0, 0, 0, 1); padding: 0.04cm; direction: ltr; color: rgba(0, 0, 0, 1) } pre.western { font-family: "Liberation Mono", "Courier New", monospace } pre…
首先,来弄两个服务,一个叫“飞机”,一个叫“火车”. public class FeiJiService : ServiceBase { public FeiJiService() { ServiceName = "Fei_ji"; } } public class HuoCheService : ServiceBase { public HuoCheService() { ServiceName = "Huo_che"; } } 用于演示,服务很单,接着,匹配安装…
写在前面: 1. 我装的是ubuntu 13.10 64位,不一样的地方是,从casper文件夹复制出来的文件不是vmlinuz,而是vmlinuz.efi,相应的,menu.lst里也要将vmlinuz改为vmlinuz.efi. 2. 下载镜像有个更全的站点,中科大的http://mirrors.ustc.edu.cn/ 3. 感谢原作者,这篇文章讲得很详细.尤其是在“win7引导ubuntu” 还是 “ubuntu引导win7”的问题上讲得很清楚.关于怎么分区讲得较少,简单的方法是现在wi…
apk安装在sd卡上时,如果把sd卡拿下安在另一个手机B上,那么apk的数据就可以被B里的恶意应用访问了. 下面是android解决这个问题的方案: 绑定设备 1,绑定perDevice使得应用以及应用数据防止Export 2,加密应用数据,把它们放在SD卡的加密隐藏目录 .Android_Secure中 下面是为如何 禁止访问 .Android_Secure 的方法.…
在加载阶段,虚拟机需要完成以下三件事情: 1.通过一个类的全限定名来获取其定义的二进制字节流. 2.将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构. 3.在Java堆中生成一个代表这个类的java.lang.Class对象,作为对方法区中这些数据的访问入口. 类加载器(class loader)是 Java中的一个很重要的概念.Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件).类加载器负责读取 Java 字节代…
VMware虚拟机中如何安装VMWare-Tools详解 好处:可以支持图形界面,可以支持共享文件功能等 VMware虚拟机中如何配置显 VMware作为一款虚拟机利器,很多人都利用它来实现Linux与Windows的和平共处.相对于普通的多重引 导,有了VMware,Linux对磁盘空间变得不再挑剔,不需要像多重系统那样要求独霸某个分区,随便在哪个Windows分区都可以落脚,并且可以实 现Windows与Linux同时运行.下面就以Red Hat 7.3为例,介绍在虚拟机中如何配置显卡. 加…
课题路径:从Myfile中点击应用进行安装,到安装完成,过程分析 思想方法:在研究PreloadInstaller的时候我们直接从整个apk的文件结构入手,由整体到部分的分析:但现在整个PMS非常庞大.我们采取抓住某个功能点分析,由点到面,直到掌控全部 目录现象    1log分析    3PackageInstaller 功能的提取    4PackageInstaller/AndroidManifest.xml    4PackageInstallerActivity.java    4In…
把Apk 作为asset 资源编译进去,运行的时候释放出来再安装. dexclassloader加载. 动态加载. 把一个apk写成安装器,默认安装的话,需要root或者需要漏洞利用.…
scrapy中的下载器中间件 下载中间件 下载器中间件是介于Scrapy的request/response处理的钩子框架. 是用于全局修改Scrapy request和response的一个轻量.底层的系统. 编写下载器中间件 1. process_request(request, spider) 当每个request通过下载中间件时,该方法被调用. process_request() 必须返回其中之一: 返回 None .返回一个 Response 对象.返回一个 Request对象或rais…
1 安装入口PackageInstallerActivity,这个类只是在安装前做准备.通过各种校验,然后弹出被安装应用的权限框,等待用户安装.具体的流程如下 1.1  求mSessionId 如果是已经存在的则判断对应的SessinInfo是否存在,否则默认一个-1 if (PackageInstaller.ACTION_CONFIRM_PERMISSIONS.equals(intent.getAction())) { //可能是系统级别的应用安装时,需要授权走这个流程 final int s…
前面的话 修饰器(Decorator)是一个函数,用来修改类的行为.本文将详细介绍ES2017中的修饰器Decorator 概述 ES2017 引入了这项功能,目前 Babel 转码器已经支持Decorator 首先,安装babel-core和babel-plugin-transform-decorators.由于后者包括在babel-preset-stage-0之中,所以改为安装babel-preset-stage-0亦可 $ npm install babel-core babel-plug…
前言 在上一篇文章使用AspectCore动态代理中,简单说明了AspectCore.DynamicProxy的使用方式,由于介绍的比较浅显,也有不少同学留言询问拦截器的配置,那么在这篇文章中,我们来详细看一下AspectCore中的拦截器使用. 两种配置方式 在AspectCore中,提供拦截器的特性配置和全局配置两种使用方式,并且分别提供AbstractInterceptor(可用于全局拦截器配置)和AbstractInterceptorAttribute(可同时用于全局配置和特性配置)两个…
如何使用ZOL一键安装器下载中关村在线的源安装包 马根峰               (广东联合电子服务股份有限公司, 广州 510300) 摘要    中关村在线最近开始推出ZOL一键安装器,用户直接下载的并不是别人发布的安装包,而是带有安装包编码的ZOL一键安装器. 这样,对于那些想直接下载安装包,安装在与互联网隔离的内部网内PC机的用户来说,如何才能直接下载安装包呢? 本人以一个具体的实例,来讲述了一种方法,来实现使用ZOL一键安装器来下载中关村在线的<万能数据库查询分析器>的中文版本源…
作者:匿名用户链接:https://www.zhihu.com/question/57468448/answer/153000587来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 先说Google 服务框架Google 服务框架全称 Google Mobile Service,其中包括了应用包,也就是我们希望用到的各种 Google 应用.Android 虽然开源且自由,但 Google 的应用程序并不包含其中,它们都属于 Google 的知识产权.所以厂家们预装…
环境介绍: 1.appium版本:1.4.16.1 2.真机运行 实现结果: 运行appium第一次运行则安装Appium settings和Unclock的apk,再次之后的运行则无需手动卸载,再次安装. 问题描述: 第一次:Android手机运行appium,自动安装Appium settings和Unclock的apk, 第二次:第一次运行完毕,若不手动删除已经安装的Appium settings和Unclock,将会提示报错信息如下,提示:Appium settings和Unclock不…