新习得的几个命令

  • 输入法相关的命令

Android输入法相关的命令是ime,具体的用法如下:

usage: ime list [-a] [-s]
ime enable ID
ime disable ID
ime set ID

The list command prints all enabled input methods. Use
the -a option to see all input methods. Use
the -s option to see only a single summary line of each.

The enable command allows the given input method ID to be used.
The disable command disallows the given input method ID from use.
The set command switches to the given input method ID.

通过给ime不同的参数,我们可以查看、启用、禁用、设置默认输入法。下面贴一个ime list输出示例:

com.sohu.inputmethod.sogouoem/.SogouIME:
  mId=com.sohu.inputmethod.sogouoem/.SogouIME mSettingsActivityName=com.sohu.inputmethod.sogouoem.SogouIMESettingsLauncher
  mIsDefaultResId=0x7f080000
  Service:
    priority=100 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
    ServiceInfo:
      name=com.sohu.inputmethod.sogouoem.SogouIME
      packageName=com.sohu.inputmethod.sogouoem
      labelRes=0x7f0b0222 nonLocalizedLabel=null icon=0x0 banner=0x0
      enabled=true exported=true processName=com.sohu.inputmethod.sogouoem
      permission=android.permission.BIND_INPUT_METHOD
      flags=0x0

其中mId的值可以作为ime enable的和ime set的参数
链接在What does “adb shell ime list” commands do?

  • SELinux 权限查看与设置

我想把一个App设置为系统App,这在Android 5.0之前很简单,只需要把apk放到/system/app目录下就行了。但是这个办法在5.0上不奏效,原因是:

  1. Android 5.0下系统级的App都以目录的方式呈现。每个系统级apk在/system/app下都有一个专门的目录,目录里面包含实际的apk和其它文件夹。
  2. 以目录的方式放置后,系统并未识别出apk。
    通过相关搜索,怀疑是SELinux权限的问题,继而知道了两个新的命令
    ls -Z 查看SELinux的权限
    chcon 可以修改文件的SELinux context

SELinux的详细介绍

你可能感兴趣的:(新习得的几个命令)