当前位置: 首页 > news >正文

礼盒包装设计网站net手机网站开发

礼盒包装设计网站,net手机网站开发,alexa,广州免费网站建设Android 提取(备份)apk(安装包) 一、通过安卓代码的方式 主要分三步: 根据应用找到包名根据包名获得apk提取apk 提取apk代码 private static final String BACKUP_PATH "/sdcard/backup1/"; private static final String APK ".apk";pri…

Android 提取(备份)apk(安装包)

一、通过安卓代码的方式

主要分三步:

  1. 根据应用找到包名
  2. 根据包名获得apk
  3. 提取apk

提取apk代码

private static final String BACKUP_PATH = "/sdcard/backup1/";
private static final String APK = ".apk";private void copyApk(String name, String path) {String dest = BACKUP_PATH + name + APK;//path:app程序源文件路径  dest:新的存储路径  name:app名称new Thread(new CopyRunnable(path, dest, name)).start();
}private String getApk(String packageName) {String appDir = null;try {//通过包名获取程序源文件路径appDir = getPackageManager().getApplicationInfo(packageName, 0).sourceDir;} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();}return appDir;
}/*** 将程序源文件Copy到指定目录*/
private class CopyRunnable implements Runnable {private String source;private String dest;private String key;public CopyRunnable(String source, String dest, String key) {this.source = source;this.dest = dest;this.key = key;}@SuppressLint("StringFormatInvalid")@Overridepublic void run() {// TODO Auto-generated method stubtry {int length = 1024 * 1024;if (!new File(BACKUP_PATH).exists()) {boolean mk = new File(BACKUP_PATH).mkdirs();if (mk) {System.out.println("true");}}File fDest = new File(dest);if (fDest.exists()) {fDest.delete();}fDest.createNewFile();FileInputStream in = new FileInputStream(new File(source));FileOutputStream out = new FileOutputStream(fDest);FileChannel inC = in.getChannel();FileChannel outC = out.getChannel();int i = 0;while (true) {if (inC.position() == inC.size()) {inC.close();outC.close();//成功break;}if ((inC.size() - inC.position()) < 1024 * 1024) {length = (int) (inC.size() - inC.position());} else {length = 1024 * 1024;}inC.transferTo(inC.position(), length, outC);inC.position(inC.position() + length);i++;}} catch (Exception e) {// TODO: handle exceptionLog.e("TAG", e.toString());}}
}

调用

CharSequence label = applicationInfo.loadLabel(getPackageManager());
//百度地图_1.0.1
copyApk(label.toString() + "_" + versionName, getApk(applicationInfo.packageName));

二、通过adb的方式

第一步:找到待提取APK的包名

adb shell pm list packages  #打印系统中所有apk的包名
adb shell pm list packages -3 #列出除了系统应用的第三方应用包名

第二步:通过包名,找到对应的apk文件目录

adb shell pm path com.xxx.xxx 	#进入对应包名的apk文件目录
// 成功后会出现:package:data/data/(包名)/.base.apk或者package:/system/app/xxx/xxx.apk 或者 package:/data/app/xxx/xxx.apk 

第三步:将对应的apk提取出来

// 在apk文件目录中将对应apk提取出来
adb pull /system/app/xxx/xxx.apk   或者 adb pull /data/app/xxx/xxx.apk
// 提取出来的文件在adb的配置目录下,一般是在 C:\Users\Administrator> 目录下
// apk文件位置在执行adb命令的目录

或者手机位置复制

cp apk的位置 /sdcard/xxx.apk

三、通过安卓应用的方式

这里推荐几个应用

  1. MT管理器

  2. Skit

​ 其中 免费版 提供安装包提取、分享和应用列表等大部分核心功能,付费版 可以解锁应用统计、分析与界面自定义功能

  1. My APK

  2. ES文件管理器

  3. 手机QQ

等等,好多应用都支持提取apk

四、架构问题

如果出现从模拟器提取的应用在手机上装不上等问题,可能是apk支持的架构不适用。

请参考

五、参考

Android 备份(提取)apk

Android 获取已安装的APP并提取源文件(.apk安装包)

Android开发中,如何从系统固件里提取可用的APK

http://www.yayakq.cn/news/124583/

相关文章:

  • 聊城网站推广软件苏州网页设计培训班
  • 成品网站源码1688自动跳转永州网站建设效果
  • 网站建设主要问题及建议淄博教育学校网站建设
  • 免费的域名网站网站照片上传不了怎么办
  • 深圳龙华网站公司网站开发背景介绍
  • 电子商务网站建设与综合实践建设总承包网站
  • 制定一个网站建设方案什么网站做唱歌主播
  • 微信网站二次开发wordpress页面归档
  • 简易的网站数码网站名
  • 主机屋网站河北网站优化建设
  • 傻瓜使用模板建网站上海注册公司代理记账
  • 网站建设标书模板创意网站展示
  • 制作网站费用怎么做分录专业深圳网站建设公司
  • 有哪些网站用vue做的人人建站
  • 温州企业建站系统南京好的网站制作公司
  • 自己做网站可以赚钱么jsp网站开发分享网站
  • 潍坊个人做网站wordpress文章奇偶循环
  • 限时抢购网站源码免费无网络游戏大全
  • aspcms园林绿化工程网站源码苏州网站开发建设
  • 做网站499常州网上挂号预约平台
  • 网站建设加盟模式网页免费建站
  • 网站ome系统怎么做网站搭建 成都
  • 外贸做网站建设哪家好苏州网站设计选哪家
  • 贷款网站模板一站式网站建设有哪些
  • 企业网站推广的形式有哪些网页设计实训报告的目的
  • 2017网站开发就业前景淮南做网站推广
  • 基于html5的购物商城网站医疗网站搭建
  • 包头网站 建设天津网站建设专家
  • 网站建立平台 cms设计方案网站
  • 网站的底部导航怎么做网站推广软件免费版大全