8 AmazingMQ

尚未进行身份认证

暂无相关简介

等级
TA的排名 3w+

adb shell stop & adb shell start

在调试的过程中,经常遇到需要修改系统属性值:setprop xxx.xxx.xxx,但是修改后,如果重启就没效啦。而且如果没重启,会遇到属性值在代码中不生效,重启后,属性值又还原的矛盾;且有时候又确实需要修改属性值后重启机器的需求,如修改了setenforce的值但是又想系统重启下重启则值会还原。那怎么办呢?使用下面两个命令来解决这个烦恼吧~可以打开新世界哦~adb shell stop...

2019-10-17 16:17:32

uid gid pid appid等的区别

1.uidandroid中uid用于标识一个应用程序。uid在应用安装时被分配,并且在应用存在于手机上期间,都不会改变。一个应用程序只能有一个uid,多个用户可以使用sharedUserId 方式共享同一个uid,前提是这些应用的签名要相同。Uid是在apk安装的时候确认的,具体代码可以参考:frameworks\base\services\core\java\com\android\se...

2019-09-16 16:50:29

应用app把user系统识别为root设备导致不能正常使用

最近遇到的一个比较怪异的问题:中国建设银行app的4.1.6版本开始,把我们的user版本识别为root设备,导致中国建设银行app不能正常使用。(银行类app会比较容易出现这类问题)解决思路:1.对于系统来说,三方应用应该只能是通过判断属性值来确定系统是否是root设备,所以最开始在SystemProperties.java中的get方法都加上log,这样只要应用获取了哪个属性,都会...

2019-06-27 20:34:01

frameworks中引用aar包

在frameworks中引用aar包的步骤(以我需要在PKMS中调用为例):1.在相应的目录中新建一个文件夹,存放test-debug.aar及Android.bp文件。如我在\frameworks\base\services目录下新建一个文件夹:data_test,里面放test-debug.aar及Android.bp.2.Android.bp中的内容android_library...

2019-06-27 13:59:46

编译systemimage并刷到设备中

编译指令:make systemimage编译完后,out\target\product\XXX\system.img会更新。然后刷system.img到机器中:1.进入发开者选项,打开OEM unlocking(如果是userdebug机器,一般OEM已经是解锁状态:OEM unloking是灰显且显示Bootloader is already unlocked)2.进入开发者选项,打...

2019-06-26 14:57:28

Git常用命令

1.配置git configgit config --global user.name mengqin.zhanggit config --global user.email mengqin.zhang@xxx.comgit config --global commit.template /home/mengqin.zhang/commit_template //commit...

2019-06-12 10:31:34

android:launchMode与android:taskAffinity之间的相互影响

最近有处理一个问题是:WPS office分屏状态下新建一个TXT时会在另一个窗口显示编辑界面。分析流程:出现这种问题一般都是新建的界面设置了一些特别的属性导致。通过命令dumpsys window |grep mFocusedWindow 查看新建一个TXT界面对应的Activity是:cn.wps.moffice_eng/cn.wps.moffice.writer.multiactiv...

2019-06-12 10:18:08

执行adb disable-verity提示:Device is locked. Please unlock the device first

有时候需要push应用或是so文件到system目录下,这时候就需要执行adb remount,但是有时候会提示:remount of the / superblock failed: Permission deniedremount failed这时可以通过执行adb disable-verity来解决,正常情况下,执行adb disable-verity成功后会提示:Successfu...

2019-05-06 11:03:36

You have tried to change the API from what has been previously approved

最近在修改frameworks/base目录下代码的时候进行全编译,遇到了如下问题:You have tried to change the API from what has been previously approved.To make these errors go away, you have two choices: 1) You can add "@hide" ...

2019-03-12 14:37:34

Android应用权限相关问题

1.给应用添加默认权限,不再弹出授权提示框如有些应用打开后根本不需要弹出授权添加权限的提示框,而是已经拥有了Calendar、Contact等权限。一般的做法是:在frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java文件grantDefaultSystemHand...

2018-12-19 14:33:46

Android系统中Debug的一些小技巧(二)

java -jar AXMLPrinter2.jarAndroidManifest.xml //把apk解压后查看AndroidManifest.xml文件adb shell pm list package -f |grep "包名或是关键字" //列出指定"包名或是关键字"的packages列表adb shell clear pm clear xxx.xxx.x...

2018-11-06 17:13:34

Failed to load WebView provider: No WebView installed

系统中已经集成了Chrome及WebviewGoogle,但是在打开个别使用到WebView的应用的时候,还是会出现应用FC,如:Setting->System->About phone->Legal information,点击Thirdpart licenses等会出现FC。且在开发者选项中WebView implementation那一条上会显示none,正常来说是...

2018-10-10 11:25:43

android.os.FileUriExposedException异常

话不多说,直接上log:07-24 21:29:44.385 24685 24685 E AndroidRuntime: FATAL EXCEPTION: main07-24 21:29:44.385 24685 24685 E AndroidRuntime: Process: com.android.providers.calendar, PID: 2468507-24 21:29:4...

2018-09-07 16:18:59

GMS包中的应用如Chrome Gmail等出现闪退

最近一个项目测试部门测试的非常仔细,包括Google GMS包中的应用。他们提了case说Chrome应用在使用过程中偶尔闪退,本来也没有太上心,因为Chrome是Google GMS包中的应用,我们没有源码,如果最终确定是Chrome本身的问题我们也没有办法解决。不久,他们又提了case说Gmail也会出现闪退。这下就引起注意了,不会这么巧Google的应用都容易出现闪退吧,肯定是有什么原因引起...

2018-07-18 11:19:22

浏览器下载完成提示框

在项目中(平板)我们自己做了浏览器,本来是有专门团队在开发维护,可是最近由于需求太多等各种原因,直接把源码给到我们自己维护。在维护的过程中遇到一个很有意思的问题,耗费了我不少时间,不过解决后也感到成就感满满。问题是这样:在下载完图片或是视频音乐应用等文件后,会弹出一个Toast来提示用户打开,可以这个提示框显示的时候不完整,还有后面的一小部分没有显示出来,如图所示:通过查看代码,调...

2018-05-29 14:14:24

获取应用包名引出的问题

一般我会采用这种方式来获取应用包名:String packageName = context.getPackageName();但是最近接手了一个应用的源码,在运行过程中发现会出现异常,查看代码才发现在获取包名的时候采用的是:String packageName = R.class.getPackage().getName();Log.d("mengqin.zhang",...

2018-05-29 13:19:40

Apk解压后查看AndroidManifest.xml文件内容

一般对于我来说如果需要知道一个apk的包名的话,有两种比较快速的方式:(1)使用命令:aapt dump badging xxx.apk  ,一般是apk就在电脑上,使用比较方便。(2)使用命令:dumpsys window |grep mFocusedWindow ,通过查看当前window来知道包名,一般是这个apk就在开发平台上,使用比较方便。当然使用dumpsys activity也是一样...

2018-04-01 17:08:46

Android O中使用FileProvider的一个小变化

在Android O中遇到一个比较有意思的bug,大概描述为:应用A中需要打开一张图片,这时候选择机器中图库或者是谷歌自带的相册都会出现黑屏现象。10-23 17:16:58.781 812 2012 W ActivityManager: For security reasons, the system cannot issue a Uri permission grant to co...

2018-03-02 14:50:00

查看APK的签名信息

将apk文件的后缀改为.zip,然后解压。会生成如下一些文件:然后在控制台进入这个目录,使用命令:keytool -printcert -file META-INF/CERT.RSA有时候会出现使用adb install -r xxx.apk 不成功的情况,可以查看下apk的前面是否正确,还是挺方便的。

2016-11-28 17:07:02

Android M中Settings的启动流程

Settings的启动流程       Settings.javaextends SettingActivity   extends  Activity只定义了一些静态类  为了启动特定独立的Settings选项        Se

2016-06-14 18:35:14

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。