`
mmdev
  • 浏览: 12933789 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

安装 apk,居然意外收获

 
阅读更多

个人比较喜欢命令行操作,特别是在 android开发的时候,方便!

在终端敲入命令,会出现关于adb工具的使用帮助。

安装 apk,一般都是使用命令:

在 adb -help 可以看到如下帮助:

如果你的手机或者模拟器已经安装了某个 apk,如 my.apk,那么你没有卸载 my.apk 的话,(命令行操作)再次安装该 apk 的话,会包如下错误:

-r 参数表示重新安装 apk,所以加上这个参数就不会有上述错误。

-s 参数表示安装 apk 到 SDcard,好了。郁闷的时刻到来!-l 参数什么意思?

自己做了很多测试,也不是很明白。最后在 sdk api上找到答案。感谢:sdk-path/docs/guide/appendix/market-filters.html

看下面这张截图,也许回得到点启发。大致意思是在发布 apk 到 android market上时,可以设置相关标志位来保护你的 app。

那么,再从 PackageManager.java 源码中寻找一些蛛丝马迹、、、、、、

该类是一个抽象类,声明如下:

PackageManager 主要是用于获得安装在设备上应用的各种信息。看一个常量和一个方法,定义如下:

可以看出,INSTALL_FORWARD_LOCK 常量主要是用来保护自己的 app,installPackage方法的参数 int flags 可以是INSTALL_FORWARD_LOCK。

注意:在 android1.5 源码中,INSTALL_FORWARD_LOCK 常量是ORWARD_LOCK_PACKAGE。

好了,目前为止,-l 参数是用来保护自己的 app,即forward-locked(正向锁定)!平时安装测试 app,该参数没什么作用!




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics