Android adb ime 调试输入法

目录

前言

安装多个输入法后,可以在设置里进行切换。

既然是开发,能用命令就就命令~

ime 帮助说明:

复制代码
ime <command>:
  list [-a] [-s]
    prints all enabled input methods.
      -a: see all input methods
      -s: only a single summary line of each
  enable [--user <USER_ID>] <ID>
    allows the given input method ID to be used.
      --user <USER_ID>: Specify which user to enable. Assumes the current user if not specified.
  disable [--user <USER_ID>] <ID>
    disallows the given input method ID to be used.
      --user <USER_ID>: Specify which user to disable. Assumes the current user if not specified.
  set [--user <USER_ID>] <ID>
    switches to the given input method ID.
      --user <USER_ID>: Specify which user to enable. Assumes the current user if not specified.
  reset [--user <USER_ID>]
    reset currently selected/enabled IMEs to the default ones as if the device is initially booted w
    ith the current locale.
      --user <USER_ID>: Specify which user to reset. Assumes the current user if not specified.

列出所有输入法

仅列出输入法 id

ime list -s

复制代码
console:/ # ime list -s
com.google.android.tts/com.google.android.apps.speech.tts.googletts.settings.asr.voiceime.VoiceInputMethodService
com.tencent.wetype/.plugin.hld.WxHldService
com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME
com.sohu.inputmethod.sogou/.SogouIME
com.iflytek.inputmethod/.FlyIME

本例中,

这几个是系统自带的输入法,也是默认输入法,

com.google.android.tts/com.google.android.apps.speech.tts.googletts.settings.asr.voiceime.VoiceInputMethodService

com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME

这几个是用户自己下载的输入法

com.tencent.wetype/.plugin.hld.WxHldService

com.sohu.inputmethod.sogou/.SogouIME

com.iflytek.inputmethod/.FlyIME

列出所有输入法的所有信息

ime list -a

结果很长,只列出 微信输入法 的信息,

复制代码
com.tencent.wetype/.plugin.hld.WxHldService:
  mId=com.tencent.wetype/.plugin.hld.WxHldService mSettingsActivityName=com.tencent.wetype.plugin.hld.reactnative.activity.ImeMainSettingActivity mIsVrOnly=false mSupportsSwitchingToNextInputMethod=false mInlineSuggestionsEnabled=false mSupportsInlineSuggestionsWithTouchExploration=false mSuppressesSpellChecker=false mShowInInputMethodPicker=true mSupportsStylusHandwriting=false
  mIsDefaultResId=0x0
  Service:
    priority=0 preferredOrder=0 match=0x108000 specificIndex=-1 isDefault=false
    ServiceInfo:
      name=com.tencent.wetype.plugin.hld.WxHldService
      packageName=com.tencent.wetype
      labelRes=0x7f1102ab nonLocalizedLabel=null icon=0x0 banner=0x0
      processName=com.tencent.wetype:hld
      enabled=true exported=true directBootAware=false
      permission=android.permission.BIND_INPUT_METHOD
      flags=0x0
      ApplicationInfo:
        name=com.tencent.wetype.HldApplication
        packageName=com.tencent.wetype
        labelRes=0x7f1102ab nonLocalizedLabel=null icon=0x7f0e0003 banner=0x0
        className=com.tencent.wetype.HldApplication
        processName=com.tencent.wetype
        taskAffinity=com.tencent.wetype
        uid=10145 flags=0x38b83e44 privateFlags=0xac001100 theme=0x7f12013c
        requiresSmallestWidthDp=0 compatibleWidthLimitDp=0 largestWidthLimitDp=0
        sourceDir=/data/app/~~8c1LJhgD_6HP-G8ZHI-ypA==/com.tencent.wetype-U6heMnke7C3PVtyQud3oAQ==/base.apk
        resourceDirs=[]
        overlayPaths=[/data/resource-cache/com.android.systemui-neutral-VdjM.frro, /data/resource-cache/com.android.systemui-accent-gHXI.frro]
        seinfo=default:targetSdkVersion=33
        seinfoUser=:complete
        dataDir=/data/user/0/com.tencent.wetype
        deviceProtectedDataDir=/data/user_de/0/com.tencent.wetype
        credentialProtectedDataDir=/data/user/0/com.tencent.wetype
        sharedLibraryFiles=[/system/framework/org.apache.http.legacy.jar]
        enabled=true minSdkVersion=24 targetSdkVersion=33 versionCode=28201 targetSandboxVersion=1
        supportsRtl=false
        fullBackupContent=true
        crossProfile=false
        HiddenApiEnforcementPolicy=2
        usesNonSdkApi=false
        allowsPlaybackCapture=true
        nativeHeapZeroInitialized=0
        enableOnBackInvokedCallback=false
        createTimestamp=1320471

启用/禁用 输入法

ime enable <ID>

ime disable <ID>

启用/禁用 不会卸载输入法,只是在切换输入法时是否显示该输入法。

启用输入法

复制代码
ime enable com.tencent.wetype/.plugin.hld.WxHldService

禁用输入法

复制代码
ime disable com.tencent.wetype/.plugin.hld.WxHldService

切换输入法

ime set <ID>

输入法已经 enable 才可以切换。

使输入法 enable 的方法:

  • 用户点开输入法,启动输入法(一般会跳转到设置里启用输入法)。
  • 先 ime enable 输入法ID

切换输入法,

复制代码
ime set com.tencent.wetype/.plugin.hld.WxHldService

还原输入法

ime reset

还原输入法的意思是:

  • disable 用户自己下载的输入法,用户不点开输入法,启动输入法(一般会跳转到设置里启用输入法);
  • 使用系统默认的输入法

操作示例,

复制代码
console:/ # ime reset
Reset current and enabled IMEs for user #0
  Selected: com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME
   Enabled: com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME
   Enabled: com.google.android.tts/com.google.android.apps.speech.tts.googletts.settings.asr.voiceime.VoiceInputMethodService
console:/ # ime list -s
com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME
com.google.android.tts/com.google.android.apps.speech.tts.googletts.settings.asr.voiceime.VoiceInputMethodService

可以看到,reset 后用户下载的输入法均不可用。

相关推荐
二流小码农3 小时前
鸿蒙开发:上架困难?谈谈我的上架之路
android·ios·harmonyos
Propeller3 小时前
【Android】动态操作 Window 的背后机制
android·java
张风捷特烈3 小时前
Flutter&TolyUI#12 | 树形组件 toly_tree 重磅推出!
android·前端·flutter
柯南二号3 小时前
【大前端】【Android】一文详解Android MVVM 模式详情解析
android·前端
feathered-feathered4 小时前
Redis【事务】(面试相关)与MySQL相比较,重点在Redis事务
android·java·redis·后端·mysql·中间件·面试
Kapaseker4 小时前
三分钟搞懂 Kotlin Flow 中的背压
android·kotlin
柯南二号4 小时前
【大前端】【Android】把 Activity 重构成 MVVM 的对比示例
android·状态模式
某空m4 小时前
【Android】Glide的缓存机制
android·缓存·glide
某空m4 小时前
【Android】Glide的使用
android·glide
QING6184 小时前
Jetpack Compose 中的 ViewModel 作用域管理 —— 新手指南
android·kotlin·android jetpack