文章目录

  • ~~系统应用卸载的方式(无需root)~~
  • 应用降级安装的方式
  • pk8和x509.pem转换为jks
  • adb链接设备


系统应用卸载的方式(无需root)

后来在一些设备上使用时候发现会报错,提示说 --user 是无效的选项,所以该方案仅供参考

系统应用无法通过常规方式卸载,具体方式参考以下链接
 [https://www.jianshu.com/p/f39291c34424](https://www.jianshu.com/p/f39291c34424)
 这个卸载命令是:
 pm uninstall -k --user 0 com.qihoo.appstore
 其中 -k 是保存应用信息的意思。
应用降级安装的方式

在测试系统升级的时候有时候需要把升级到最新版本的应用还原到旧版本再进行升级流程,这时候卸 载再安装流程比较麻烦,可以采用以下方式覆盖安装。

上述命令少了一个解释:
 -r:强制安装
 以下为 其余命令:
 -l :锁定应用程序
 -t :允许测试包
 -d :允许降级覆盖安装
 -p :部分应用安装
 -g :为应用程序授予所有运行时的权限
pk8和x509.pem转换为jks

有些比较旧的项目使用pk8和x509.pem对apk文件进行系统签名的。这种方式比较麻烦而且不利于管理。所以下面提供一种转换的方式.
注意: 如果配合pk8和x509.pem文件应该由设备厂商提供
参考链接:

使用的工具:http://slproweb.com/products/Win32OpenSSL.htmlWin32OpenSSL官网是在国外,国内不一定下载的下来,这里提供一个网站,版本比较旧,不过也能用(不用账号登录).
https://www.jb51.net/softs/561776.html 环境变量配置为在Path后面添加如下的路径:

C:\OpenSSL-Win64\bin;

另外由于keytool不知道怎么配置环境,所以只能去到jdk/bin目录下面运行,如果jdk目录是在c盘下面(所以JDK最好装在其他盘),那么windows命令行就无法直接写入文件。这里提供以下几种解决方案:

https://zhidao.baidu.com/question/584658317.html 提示:在win+e 打开文件管理器后,进入到某个目录下,可以直接在上面的导航栏中输入cmd打开命令行,该命令行会直接导航在当前目录下,该导航栏在搜索旁边

Android 覆盖安装 权限问题 手机应用覆盖安装_Android 覆盖安装 权限问题


这里对上述内容进行整理给出下面生成jks的执行步骤:

  1. 第一步生成p12文件,这一步需要在下载安装openssl 后并配置openssl 环境,注意,秘钥的别名和密码可以自定义
openssl pkcs8 -inform DER -nocrypt -in testkey.pk8 -out testkey.pem
openssl pkcs12 -export -in testkey.x509.pem -inkey testkey.pem -out platform.p12 -password pass:12345678 -name testkey
  1. 第二步切换到jdk/bin目录下面,顺便把之前生成的签名文件放到该目录下面,或者以上操作步骤就在该目录下面执行,注意密码可jks的文件名字可以自定义
keytool -importkeystore -deststorepass 12345678 -destkeystore testkey.jks -srckeystore platform.p12 -srcstoretype PKCS12 -srcstorepass 12345678

然后就拿到了生成的testkey.jks文件.

adb链接设备

由于盒子、屏幕、手表等设备无法直接通过usb链接,所以这里提供adb链接方式:

adb connect <ip>:<port>  进行链接

注意:
1、设备需要在同一局域网下面
2、除了手机,一般都默认端口号为5555
3、手机也可以用wifi链接,不过需要先用usb提前开启端口号,开启后就可以在所有电脑上用wifi链接这个端口了
参考链接:
https://developer.android.google.cn/studio/command-line/adb

这里根据官网提供一种Mac下面链接设备的操作方式(没有配置系统变量,所以每次启动电脑都要执行一次,感兴趣自己配置下全局变量):

export HTTP_PROXY=myserver:1981
source ~/.bash_profile
adb connect <ip>:<port>
adb install test.apk