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 后用户下载的输入法均不可用。

相关推荐
诸神黄昏EX5 分钟前
Android 分区相关介绍
android
大白要努力!1 小时前
android 使用SQLiteOpenHelper 如何优化数据库的性能
android·数据库·oracle
Estar.Lee1 小时前
时间操作[取当前北京时间]免费API接口教程
android·网络·后端·网络协议·tcp/ip
Winston Wood1 小时前
Perfetto学习大全
android·性能优化·perfetto
Dnelic-4 小时前
【单元测试】【Android】JUnit 4 和 JUnit 5 的差异记录
android·junit·单元测试·android studio·自学笔记
Eastsea.Chen7 小时前
MTK Android12 user版本MtkLogger
android·framework
长亭外的少年14 小时前
Kotlin 编译失败问题及解决方案:从守护进程到 Gradle 配置
android·开发语言·kotlin
建群新人小猿16 小时前
会员等级经验问题
android·开发语言·前端·javascript·php
1024小神17 小时前
tauri2.0版本开发苹果ios和安卓android应用,环境搭建和最后编译为apk
android·ios·tauri
兰琛18 小时前
20241121 android中树结构列表(使用recyclerView实现)
android·gitee