0.结果


1.需求

迫于每次都要打开 Powershell 手动敲 adb install xxx.apk 太麻烦,就想通过注册表搞一个右键菜单,实现快捷安装 apk 的功能。

最后决定先实现三个功能:

  • adb install -r
  • adb install -t
  • 使用 jarsigner 重签名

可是对 windows 一窍不通,只能去网上抄代码。


2.抄代码

照着几个现成的代码抄,又测了半天,最后发现无论是注册HKEY_CLASSES_ROOT\.apk\还是HKEY_CLASSES_ROOT\apk_auto_file\、无论配置SubCommands还是直接在\.apk\shell下面增加条目,都没办法在apk文件的右键中展示。

反正也是自己用,图方便就直接对HKEY_CLASSES_ROOT\*\进行注册了。

调用的代码是Powershell -noexit 'command',第一次写 shell 代码,这个-noexit还查了老半天。


3.代码

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\Shell\ApkHelper]

"MUIVerb"="APK Helper"

"SubCommands"=""

"Position"="Center"

[HKEY_CLASSES_ROOT\*\shell\ApkHelper\Shell]

[HKEY_CLASSES_ROOT\*\shell\ApkHelper\Shell\InstallR]

@="adb install -r"

[HKEY_CLASSES_ROOT\*\shell\ApkHelper\Shell\InstallR\command]

@="PowerShell -noexit adb install -r \"%1\" "

[HKEY_CLASSES_ROOT\*\shell\ApkHelper\Shell\InstallT]

@="adb install -t"

[HKEY_CLASSES_ROOT\*\shell\ApkHelper\Shell\InstallT\command]

@="PowerShell -noexit adb install -r -t \"%1\" "

[HKEY_CLASSES_ROOT\*\shell\ApkHelper\Shell\SignNew]

@="Jarsigner"

[HKEY_CLASSES_ROOT\*\shell\ApkHelper\Shell\SignNew\command]

@="PowerShell -noexit jarsigner -verbose -keystore F:\Decompile\windows签名工具\Test.keystore -storepass 123456 -signedjar \"%1.signed.apk\"  \"%1\"  test -digestalg SHA1 -sigalg MD5withRSA  "


4.Todo

  • 1.只为 apk 文件注册右键菜单组
  • 2.配置命令执行 python 脚本对重签名的文件名进行优化
  • 3.为 apk 文件增加常用的 apktool 命令
  • 4.为 dex 文件增加常用的 d2j 命令

为 APK 文件增加右键菜单组实现快捷安装的更多相关文章

  1. 基于nginx实现二维码下载安装apk文件

    将apk文件置于nginx目录下 <!--进入nginx安装路径--> /usr/local/nginx <!--新建放apk的目录--> mkdir -p resources ...

  2. [Tricks] 为文件夹右键菜单增加 【使用VS Code 打开】

    传统的IDE安装之后都会在文件夹的右键菜单中增加如[Open in Visual Studio]或者[Open Folder as IntelliJ IDEA Project]这样的选项 但VS Co ...

  3. robotium—只有apk文件的测试

    把ppt的内容总结一下,并把问题说明一下: 把基本步骤搞出来,用notepad的程序吧,直接安装apk,就当做是不知道源码就好啦! 直接用自己的手机上就行啦!! 一.重签名: 步骤: 1.直接运行re ...

  4. 构建-13 Analyzer APK文件分析

    官方文档 使用APK Analyzer分析您的构建  [Analyze your build with APK Analyzer] Android Studio包含一个APK分析器,可在构建过程完成后 ...

  5. HBuilder 云打包生成 .apk 文件所需的安卓证书如何获取以及文件打包前必须的设置

    在 HBuilder 云打包功能中,生在 .apk 文件虽然平台提供了免费的 安卓证书,但如果有其它需求,比如想发布,那么就需要自己去申请各种类型的证书了,这里介绍几个工具,方便在线生成证书并配置到打 ...

  6. Android源码中内置包含so文件的APK文件

    方法一: 在packages/apps下面以需要预置的APK名字创建文件夹,以预置一个名为Test的APK为例 将Test.apk放到packages/apps/Test下面 在packages/ap ...

  7. 解决MVC4发布在IIS7后,路径无法访问.apk文件的解决方法

    随着智能手机的普及,越来越多的人使用手机上网,很多网站也应手机上网的需要推出了网站客户端,.apk文件就是安卓(Android)的应用程序后缀名,默认情况下,使用IIS作为Web服务器的无法下载此文件 ...

  8. 如何设置让iis服务器支持.apk文件的下载

    随着智能手机的普及,越来越多的人使用手机上网,很多网站也应手机上网的需要推出了网站客户端,.apk文件就是安卓(Android)的应用程序后缀名,默认情况下,使用IIS作为Web服务器的无法下载此文件 ...

  9. 初级——程序如何打包成apk文件

    将Eclipse Android项目打包成APK文件是本文要介绍的内容,主要是来了解并学习Eclipse Android打包的内容,具体关于Eclipse Android内容的详解来看本文.Eclip ...

随机推荐

  1. hdu3652B-number (数位dp)

    Problem Description A wqb-number, or B-number for short, is a non-negative integer whose decimal for ...

  2. 安装python的selenium库和驱动

    对于使用selenium来进行python爬虫操作可以简化好多操作,它实际上的运行就是通过打开一个浏览器来一步一步的按照你的代码来执行 如果安装过python编译器后应该pip工具也是有的,验证pyt ...

  3. poj2411 Mondriaan's Dream (用1*2的矩形铺)

    Description Squares and rectangles fascinated the famous Dutch painter Piet Mondriaan. One night, af ...

  4. Codeforces Round #656 (Div. 3) B. Restore the Permutation by Merger (模拟)

    题意:有两个完全相同的排列,将其中一个的元素按相对顺序插入另外一个排列中,给你操作完的排列,求原排列. 题解:感觉看看样例就能直接写了啊,直接遍历,用桶存数字个数,如果桶为空,直接输出即可. 代码: ...

  5. CF1462-D. Add to Neighbour and Remove

    codeforces1462D 题意: 给出一个由n个数组成的数组,现在你可以对这个数组进行如下操作:将数组中的一个元素加到这个元素的两边中的一边,然后将这个元素删掉.若该元素在最左边,那么该元素不能 ...

  6. 基于Vue的单页面应用的Markdown渲染

    之前渲染 Markdown 的时候, 笔者使用的是 mavonEditor 的预览模式, 使用起来比较爽, 只需要引入组件即可, 但是在最近的开发中, 遇到了困难. 主要问题在于作为单页面应用, 站内 ...

  7. cookie,session,token之间的联系与区别

    发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, 不需要记录谁在某一段时间里都浏览了什么文档,每次请求都是一个新的HTTP协议, 就是请求加响应,  尤其是我不用 ...

  8. mysql(二)--mysql索引剖析

    1.1. 索引是什么 1.1.1.索引图解 维基百科对数据库索引的定义: 数据库索引,是数据库管理系统(DBMS)中一个排序的数据结构,以协助快速查询.更新数据库表中数据. 怎么理解这个定义呢?  首 ...

  9. OpenCV3.2+Python3.5+Ubuntu16.04+缺少boostdesc和vgg_generated

    问题: OpenCV3.2在cmake通过https无法获取boostdesc和vgg_generated2类文件 可尝试的解决方法: 参考, 依其方法至这里做调整, 最后注释xfeatures2d/ ...

  10. webpack async load modules & dynamic code splitting

    webpack async load modules & dynamic code splitting webpack 按需/异步加载/Code Splitting webpack loade ...