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

相关推荐
- 羊羊不超越 -15 分钟前
App渠道来源追踪方案全面分析(iOS/Android/鸿蒙)
android·ios·harmonyos
wk灬丨1 小时前
Android Kotlin Flow 冷流 热流
android·kotlin·flow
千雅爸爸1 小时前
Android MVVM demo(使用DataBinding,LiveData,Fresco,RecyclerView,Room,ViewModel 完成)
android
晨曦_子画2 小时前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin
孤客网络科技工作室2 小时前
AJAX 全面教程:从基础到高级
android·ajax·okhttp
Mr Lee_3 小时前
android 配置鼠标右键快捷对apk进行反编译
android
顾北川_野4 小时前
Android CALL关于电话音频和紧急电话设置和获取
android·音视频
&岁月不待人&4 小时前
Kotlin by lazy和lateinit的使用及区别
android·开发语言·kotlin
Winston Wood6 小时前
Android Parcelable和Serializable的区别与联系
android·序列化
清风徐来辽6 小时前
Android 项目模型配置管理
android