[{"data":1,"prerenderedAt":930},["ShallowReactive",2],{"content-/android-adb-japanese-input-adbkeyboard":3,"all-pages-for-dir":911,"related-/android-adb-japanese-input-adbkeyboard":912,"og-image-/android-adb-japanese-input-adbkeyboard":929},{"id":4,"title":5,"body":6,"category":895,"concepts":895,"description":896,"extension":897,"meta":898,"navigation":456,"ogImage":895,"path":899,"project_name":895,"published":900,"publishedAt":901,"seo":902,"source":895,"stem":903,"tags":904,"todo":895,"unpublished":900,"updatedAt":901,"__hash__":910},"pages/2026-09/2026-09-28/android-adb-japanese-input-adbkeyboard.md","PCからAndroidを操作してSNSに投稿するとき、日本語が打てない問題をADBKeyBoardで解決した",{"type":7,"value":8,"toc":881},"minimark",[9,13,27,30,33,50,58,72,110,113,116,119,163,168,171,203,206,210,213,241,245,248,256,271,327,337,341,344,350,357,360,370,374,407,410,414,424,550,556,559,648,652,655,699,708,715,719,722,768,775,782,788,795,798,874,877],[10,11,5],"h1",{"id":12},"pcからandroidを操作してsnsに投稿するとき日本語が打てない問題をadbkeyboardで解決した",[14,15,16,17,26],"p",{},"USBでつないだAndroid端末を、PCのClaude Codeからadbで操作してTikTokに動画を投稿しようとした。動画の選択までは進んだが、説明文の欄で止まった。",[18,19,20,21,25],"strong",{},"adbの ",[22,23,24],"code",{},"input text"," では日本語を打てない","からだ。",[14,28,29],{},"解決策は、ADBKeyBoardという開発者向けのキーボードアプリを入れること。これを入れると、PCから送った日本語がそのまま入力欄に入る。ただし、OPPOの端末（ColorOS）では設定の壁が2つあった。",[14,31,32],{},"結論を先に書く。",[34,35,36,44,47],"ul",{},[37,38,39,40,43],"li",{},"日本語を送るには、ADBKeyBoardをキーボードとして有効にし、",[22,41,42],{},"ADB_INPUT_B64"," のブロードキャストで文字列を送る",[37,45,46],{},"ColorOSでは「USB経由のインストールの検証」と「認可の監視」の2つを外さないと、インストールとキーボードの切り替えができない",[37,48,49],{},"ADBKeyBoardに切り替えている間は画面キーボードが出ないので、ふだんはGboardにしておき、文字を送るときだけ切り替える",[51,52,54,55,57],"h2",{"id":53},"なぜ-input-text-では日本語が打てないのか","なぜ ",[22,56,24],{}," では日本語が打てないのか",[14,59,60,63,64,67,68,71],{},[22,61,62],{},"adb shell input text"," は、文字列をキー入力のイベントに変換して端末に送る。キーボードのキーに対応しない文字は変換できないので、日本語は送れない。英数字と記号だけなら送れるので、ハッシュタグの ",[22,65,66],{},"#Excel #ExcelTips"," はこれで入った。空白は ",[22,69,70],{},"%s"," と書く。",[73,74,79],"pre",{"className":75,"code":76,"language":77,"meta":78,"style":78},"language-bash shiki shiki-themes vitesse-light vitesse-light","adb shell input text '#Excel%s#ExcelTips'\n","bash","",[22,80,81],{"__ignoreMap":78},[82,83,86,90,94,97,100,104,107],"span",{"class":84,"line":85},"line",1,[82,87,89],{"class":88},"senZ8","adb",[82,91,93],{"class":92},"sdGka"," shell",[82,95,96],{"class":92}," input",[82,98,99],{"class":92}," text",[82,101,103],{"class":102},"sMJiu"," '",[82,105,106],{"class":92},"#Excel%s#ExcelTips",[82,108,109],{"class":102},"'\n",[14,111,112],{},"日本語を入れるには、キー入力を経由せずに、文字列を入力欄へ直接渡す手段が要る。ADBKeyBoardはそのためのアプリで、キーボード（IME）として動き、adbから受け取った文字列を入力欄に書き込む。",[51,114,115],{"id":115},"手順",[14,117,118],{},"検証した環境は次のとおり。",[120,121,122,135],"table",{},[123,124,125],"thead",{},[126,127,128,132],"tr",{},[129,130,131],"th",{},"項目",[129,133,134],{},"内容",[136,137,138,147,155],"tbody",{},[126,139,140,144],{},[141,142,143],"td",{},"PC",[141,145,146],{},"Windows 11（Git Bash）",[126,148,149,152],{},[141,150,151],{},"端末",[141,153,154],{},"OPPO（ColorOS 7.1 / Android 10）",[126,156,157,160],{},[141,158,159],{},"入力先",[141,161,162],{},"TikTokアプリの投稿画面の説明欄",[164,165,167],"h3",{"id":166},"_1-adbを用意する","1. adbを用意する",[14,169,170],{},"Windowsにadbが入っていなければ、scoopで入れる。",[73,172,174],{"className":75,"code":173,"language":77,"meta":78,"style":78},"scoop install adb\nadb devices -l   # 端末が device と表示されればよい\n",[22,175,176,187],{"__ignoreMap":78},[82,177,178,181,184],{"class":84,"line":85},[82,179,180],{"class":88},"scoop",[82,182,183],{"class":92}," install",[82,185,186],{"class":92}," adb\n",[82,188,190,192,195,199],{"class":84,"line":189},2,[82,191,89],{"class":88},[82,193,194],{"class":92}," devices",[82,196,198],{"class":197},"snbK4"," -l",[82,200,202],{"class":201},"sxvE3","   # 端末が device と表示されればよい\n",[14,204,205],{},"端末側では、開発者向けオプションで「USBデバッグ」をオンにしておく。",[164,207,209],{"id":208},"_2-adbkeyboardのapkを取得する","2. ADBKeyBoardのAPKを取得する",[14,211,212],{},"ADBKeyBoardはGitHubで公開されているオープンソースのアプリで、APKはリポジトリの直下に置かれている。",[73,214,216],{"className":75,"code":215,"language":77,"meta":78,"style":78},"curl -sL -o \"$TEMP/ADBKeyboard.apk\" https://raw.githubusercontent.com/senzhk/ADBKeyBoard/master/ADBKeyboard.apk\n",[22,217,218],{"__ignoreMap":78},[82,219,220,223,226,229,232,235,238],{"class":84,"line":85},[82,221,222],{"class":88},"curl",[82,224,225],{"class":197}," -sL",[82,227,228],{"class":197}," -o",[82,230,231],{"class":102}," \"",[82,233,234],{"class":92},"$TEMP/ADBKeyboard.apk",[82,236,237],{"class":102},"\"",[82,239,240],{"class":92}," https://raw.githubusercontent.com/senzhk/ADBKeyBoard/master/ADBKeyboard.apk\n",[164,242,244],{"id":243},"_3-インストールするcolorosでは検証で止まる","3. インストールする（ColorOSでは検証で止まる）",[14,246,247],{},"そのままインストールすると、ColorOSでは次のエラーで失敗した。",[73,249,254],{"className":250,"code":252,"language":253},[251],"language-text","adb.exe: failed to install ...ADBKeyboard.apk: Failure [INSTALL_FAILED_VERIFICATION_FAILURE]\n","text",[22,255,252],{"__ignoreMap":78},[14,257,258,259,262,263,266,267,270],{},"原因は、USB経由でインストールするアプリを端末が検証する設定だ。",[22,260,261],{},"verifier_verify_adb_installs"," が ",[22,264,265],{},"1","（有効）になっていた。これを一時的に ",[22,268,269],{},"0"," にしてから入れ直すと、インストールできた。",[73,272,274],{"className":75,"code":273,"language":77,"meta":78,"style":78},"adb shell settings put global verifier_verify_adb_installs 0\nadb install \"$(cygpath -w $TEMP/ADBKeyboard.apk)\"   # → Success\n",[22,275,276,298],{"__ignoreMap":78},[82,277,278,280,282,285,288,291,294],{"class":84,"line":85},[82,279,89],{"class":88},[82,281,93],{"class":92},[82,283,284],{"class":92}," settings",[82,286,287],{"class":92}," put",[82,289,290],{"class":92}," global",[82,292,293],{"class":92}," verifier_verify_adb_installs",[82,295,297],{"class":296},"sM54T"," 0\n",[82,299,300,302,304,306,310,313,316,319,322,324],{"class":84,"line":189},[82,301,89],{"class":88},[82,303,183],{"class":92},[82,305,231],{"class":102},[82,307,309],{"class":308},"shFtX","$(",[82,311,312],{"class":88},"cygpath",[82,314,315],{"class":197}," -w",[82,317,318],{"class":92}," $TEMP/ADBKeyboard.apk",[82,320,321],{"class":308},")",[82,323,237],{"class":102},[82,325,326],{"class":201},"   # → Success\n",[14,328,329,332,333,336],{},[22,330,331],{},"cygpath -w"," は、Git Bashのパスを ",[22,334,335],{},"adb.exe"," が読めるWindows形式に直すために付けている。macOSやLinuxでは不要だ。",[164,338,340],{"id":339},"_4-認可の監視を無効化するをオンにするcoloros固有","4. 「認可の監視を無効化する」をオンにする（ColorOS固有）",[14,342,343],{},"インストールできても、キーボードを有効にするコマンドが通らなかった。",[73,345,348],{"className":346,"code":347,"language":253},[251],"Security exception: uid 2000 does not have android.permission.WRITE_SECURE_SETTINGS.\n",[22,349,347],{"__ignoreMap":78},[14,351,352,353,356],{},"ColorOSは、adbからのセキュリティ関連の設定変更を既定で禁止している。これを解くには、端末の「設定 → その他の設定 → 開発者向けオプション」の",[18,354,355],{},"一番下","にある、「認可の監視を無効化する」をオンにする。",[14,358,359],{},"この項目は、ネットの情報では「権限の監視を無効にする」「Disable permission monitoring」とも書かれている。今回の端末での表記は「認可の監視を無効化する」だった。名前で探すと見つからないので、一番下までスクロールして探すとよい。",[14,361,362,363,366,367,369],{},"実際の順番は、この項目をオンにしてから手順3の ",[22,364,365],{},"settings put"," とインストールを実行した。オフのままで ",[22,368,365],{}," が通るかは確かめていない。ColorOSなら、手順3より先にこの項目をオンにしておくと確実だ。",[164,371,373],{"id":372},"_5-adbkeyboardをキーボードとして有効にし切り替える","5. ADBKeyBoardをキーボードとして有効にし、切り替える",[73,375,377],{"className":75,"code":376,"language":77,"meta":78,"style":78},"adb shell ime enable com.android.adbkeyboard/.AdbIME\nadb shell ime set com.android.adbkeyboard/.AdbIME\n",[22,378,379,394],{"__ignoreMap":78},[82,380,381,383,385,388,391],{"class":84,"line":85},[82,382,89],{"class":88},[82,384,93],{"class":92},[82,386,387],{"class":92}," ime",[82,389,390],{"class":92}," enable",[82,392,393],{"class":92}," com.android.adbkeyboard/.AdbIME\n",[82,395,396,398,400,402,405],{"class":84,"line":189},[82,397,89],{"class":88},[82,399,93],{"class":92},[82,401,387],{"class":92},[82,403,404],{"class":92}," set",[82,406,393],{"class":92},[14,408,409],{},"切り替わると、画面の下に「ADB Keyboard {ON}」と表示される。この状態では、端末の画面キーボードは出ない。",[164,411,413],{"id":412},"_6-日本語を送る","6. 日本語を送る",[14,415,416,417,420,421,423],{},"入力欄をタップしてカーソルを置いてから、文字列を送る。日本語をそのまま渡す ",[22,418,419],{},"ADB_INPUT_TEXT"," もあるが、Windowsのシェルを経由すると文字化けしやすい。UTF-8をBase64にして送る ",[22,422,42],{}," のほうが確実だ。",[73,425,427],{"className":75,"code":426,"language":77,"meta":78,"style":78},"T='コピーしたら数式が壊れた？ 税率のセルは$で固定しよう（F4キー1発）\n#Excel #ExcelTips #エクセル #エクセル初心者 #仕事効率化'\n\nadb shell am broadcast -a ADB_CLEAR_TEXT   # 入力欄を空にする（追記したいなら省く）\nadb shell am broadcast -a ADB_INPUT_B64 --es msg \"$(printf '%s' \"$T\" | base64 | tr -d '\\n')\"\n",[22,428,429,444,451,458,480],{"__ignoreMap":78},[82,430,431,435,438,441],{"class":84,"line":85},[82,432,434],{"class":433},"s4oTP","T",[82,436,437],{"class":308},"=",[82,439,440],{"class":102},"'",[82,442,443],{"class":92},"コピーしたら数式が壊れた？ 税率のセルは$で固定しよう（F4キー1発）\n",[82,445,446,449],{"class":84,"line":189},[82,447,448],{"class":92},"#Excel #ExcelTips #エクセル #エクセル初心者 #仕事効率化",[82,450,109],{"class":102},[82,452,454],{"class":84,"line":453},3,[82,455,457],{"emptyLinePlaceholder":456},true,"\n",[82,459,461,463,465,468,471,474,477],{"class":84,"line":460},4,[82,462,89],{"class":88},[82,464,93],{"class":92},[82,466,467],{"class":92}," am",[82,469,470],{"class":92}," broadcast",[82,472,473],{"class":197}," -a",[82,475,476],{"class":92}," ADB_CLEAR_TEXT",[82,478,479],{"class":201},"   # 入力欄を空にする（追記したいなら省く）\n",[82,481,483,485,487,489,491,493,496,499,502,504,506,510,512,514,516,518,521,523,527,530,532,535,538,540,543,545,547],{"class":84,"line":482},5,[82,484,89],{"class":88},[82,486,93],{"class":92},[82,488,467],{"class":92},[82,490,470],{"class":92},[82,492,473],{"class":197},[82,494,495],{"class":92}," ADB_INPUT_B64",[82,497,498],{"class":197}," --es",[82,500,501],{"class":92}," msg",[82,503,231],{"class":102},[82,505,309],{"class":308},[82,507,509],{"class":508},"sz8Xr","printf",[82,511,103],{"class":102},[82,513,70],{"class":92},[82,515,440],{"class":102},[82,517,231],{"class":102},[82,519,520],{"class":92},"$T",[82,522,237],{"class":102},[82,524,526],{"class":525},"stQ0i"," |",[82,528,529],{"class":88}," base64",[82,531,526],{"class":525},[82,533,534],{"class":88}," tr",[82,536,537],{"class":197}," -d",[82,539,103],{"class":102},[82,541,542],{"class":92},"\\n",[82,544,440],{"class":102},[82,546,321],{"class":308},[82,548,549],{"class":102},"\"\n",[14,551,552,555],{},[22,553,554],{},"Broadcast completed: result=0"," と出れば送信できている。改行も含めて、説明欄にそのまま入った。",[14,557,558],{},"何度も使うなら、関数にしておくと楽だ。",[73,560,562],{"className":75,"code":561,"language":77,"meta":78,"style":78},"ja() { adb shell am broadcast -a ADB_INPUT_B64 --es msg \"$(printf '%s' \"$1\" | base64 | tr -d '\\n')\"; }\nja 'こんにちは'\n",[22,563,564,637],{"__ignoreMap":78},[82,565,566,569,572,575,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,609,611,613,615,617,619,621,623,625,627,629,631,634],{"class":84,"line":85},[82,567,568],{"class":88},"ja",[82,570,571],{"class":308},"()",[82,573,574],{"class":308}," {",[82,576,577],{"class":88}," adb",[82,579,93],{"class":92},[82,581,467],{"class":92},[82,583,470],{"class":92},[82,585,473],{"class":197},[82,587,495],{"class":92},[82,589,498],{"class":197},[82,591,501],{"class":92},[82,593,231],{"class":102},[82,595,309],{"class":308},[82,597,509],{"class":508},[82,599,103],{"class":102},[82,601,70],{"class":92},[82,603,440],{"class":102},[82,605,231],{"class":102},[82,607,608],{"class":92},"$1",[82,610,237],{"class":102},[82,612,526],{"class":525},[82,614,529],{"class":88},[82,616,526],{"class":525},[82,618,534],{"class":88},[82,620,537],{"class":197},[82,622,103],{"class":102},[82,624,542],{"class":92},[82,626,440],{"class":102},[82,628,321],{"class":308},[82,630,237],{"class":102},[82,632,633],{"class":308},";",[82,635,636],{"class":308}," }\n",[82,638,639,641,643,646],{"class":84,"line":189},[82,640,568],{"class":88},[82,642,103],{"class":102},[82,644,645],{"class":92},"こんにちは",[82,647,109],{"class":102},[51,649,651],{"id":650},"ふだんはgboardにしておき送るときだけ切り替える","ふだんはGboardにしておき、送るときだけ切り替える",[14,653,654],{},"ADBKeyBoardに切り替えている間は、画面キーボードが出ないので端末で文字を打てない。とはいえ、アンインストールする必要はない。両方のキーボードを有効にしたまま、ふだんはGboardにしておき、PCから文字を送るときだけADBKeyBoardへ切り替えればよい。切り替えはどちらもコマンド1行で済む。",[73,656,658],{"className":75,"code":657,"language":77,"meta":78,"style":78},"# 送る前: ADBKeyBoardへ\nadb shell ime set com.android.adbkeyboard/.AdbIME\n\n# 送った後: Gboardへ\nadb shell ime set com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME\n",[22,659,660,665,677,681,686],{"__ignoreMap":78},[82,661,662],{"class":84,"line":85},[82,663,664],{"class":201},"# 送る前: ADBKeyBoardへ\n",[82,666,667,669,671,673,675],{"class":84,"line":189},[82,668,89],{"class":88},[82,670,93],{"class":92},[82,672,387],{"class":92},[82,674,404],{"class":92},[82,676,393],{"class":92},[82,678,679],{"class":84,"line":453},[82,680,457],{"emptyLinePlaceholder":456},[82,682,683],{"class":84,"line":460},[82,684,685],{"class":201},"# 送った後: Gboardへ\n",[82,687,688,690,692,694,696],{"class":84,"line":482},[82,689,89],{"class":88},[82,691,93],{"class":92},[82,693,387],{"class":92},[82,695,404],{"class":92},[82,697,698],{"class":92}," com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME\n",[14,700,701,702,704,705,707],{},"手順3と4で外した設定（インストールの検証と「認可の監視」）は、今回は戻していない。この端末は、Claude Codeに操作させる専用機として持っておくと決めたからだ。ふだん使いのスマホで同じことをするなら、作業後に ",[22,703,261],{}," を ",[22,706,265],{}," に戻し、「認可の監視を無効化する」もオフにしておく。",[14,709,710,711,714],{},"ADBKeyBoardは、キーボードとして入力内容に触れられる立場のアプリだ。オープンソースで、インストール後に ",[22,712,713],{},"dumpsys package"," で確かめると、ネット通信（INTERNET）の権限も持っていなかった。",[51,716,718],{"id":717},"claude-codeに操作させるときの注意","Claude Codeに操作させるときの注意",[14,720,721],{},"今回はClaude Codeのauto modeで端末を操作させた。途中で、自動許可判定に次の操作が拒否された。",[120,723,724,734],{},[123,725,726],{},[126,727,728,731],{},[129,729,730],{},"拒否された操作",[129,732,733],{},"判定の理由",[136,735,736,744,752,760],{},[126,737,738,741],{},[141,739,740],{},"APKの取得とインストール",[141,742,743],{},"外部コードの持ち込み",[126,745,746,749],{},[141,747,748],{},"検証を外す設定変更",[141,750,751],{},"セキュリティを弱める操作",[126,753,754,757],{},[141,755,756],{},"ギャラリーで動画を選ぶタップ",[141,758,759],{},"理由の表示なし",[126,761,762,765],{},[141,763,764],{},"許可ルールを設定ファイルに足す",[141,766,767],{},"自分の権限設定の書き換え",[14,769,770,771,774],{},"最初の2つは、該当するコマンドだけを自分でプロンプトに ",[22,772,773],{},"!"," 付きで貼り、自分の権限で実行した。",[14,776,777,778,781],{},"タップが止まる問題は、",[22,779,780],{},"/permissions"," で次のルールを許可に足して解決した。Claude Codeが自分で設定ファイルを書き換えることはできないので、ここは人が入れる。",[73,783,786],{"className":784,"code":785,"language":253},[251],"Bash(adb shell input:*)\n",[22,787,785],{"__ignoreMap":78},[14,789,790,791,794],{},"このルールを足すと、",[22,792,793],{},"adb shell input"," によるタップ・スワイプ・文字入力は、判定を通さずに実行される。TikTok以外の操作も確認なしで通るので、操作させる専用の端末で使うのがよい。",[14,796,797],{},"ルールを足したあとは、6本の動画を次の流れで通しで投稿できた。",[120,799,800,810],{},[123,801,802],{},[126,803,804,807],{},[129,805,806],{},"作業",[129,808,809],{},"誰が実行したか",[136,811,812,820,831,844,852,859,866],{},[126,813,814,817],{},[141,815,816],{},"「認可の監視を無効化する」の切り替え",[141,818,819],{},"自分（端末で操作、最初の1回だけ）",[126,821,822,825],{},[141,823,824],{},"APKの取得とインストール、検証の解除",[141,826,827,828,830],{},"自分（",[22,829,773],{}," 付きで実行、最初の1回だけ）",[126,832,833,839],{},[141,834,835,838],{},[22,836,837],{},"Bash(adb shell input:*)"," の許可",[141,840,827,841,843],{},[22,842,780],{},"、最初の1回だけ）",[126,845,846,849],{},[141,847,848],{},"動画とカバー画像の転送",[141,850,851],{},"Claude Code",[126,853,854,857],{},[141,855,856],{},"動画の選択、カバー画像の指定",[141,858,851],{},[126,860,861,864],{},[141,862,863],{},"日本語の説明文の入力",[141,865,851],{},[126,867,868,871],{},[141,869,870],{},"「投稿」ボタン",[141,872,873],{},"Claude Code（公開の前に、投稿してよいと伝えておく）",[14,875,876],{},"カバー画像は、投稿画面の「カバーを編集」の右にある「＋」から、ギャラリーの画像を指定できる。ギャラリーで最初に画像を選ぶと写真投稿になってしまうので、動画は「動画」のタブから選ぶ。",[878,879,880],"style",{},"html pre.shiki code .senZ8, html code.shiki .senZ8{--shiki-default:#59873A;--shiki-dark:#59873A}html pre.shiki code .sdGka, html code.shiki .sdGka{--shiki-default:#B56959;--shiki-dark:#B56959}html pre.shiki code .sMJiu, html code.shiki .sMJiu{--shiki-default:#B5695977;--shiki-dark:#B5695977}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .snbK4, html code.shiki .snbK4{--shiki-default:#A65E2B;--shiki-dark:#A65E2B}html pre.shiki code .sxvE3, html code.shiki .sxvE3{--shiki-default:#A0ADA0;--shiki-dark:#A0ADA0}html pre.shiki code .sM54T, html code.shiki .sM54T{--shiki-default:#2F798A;--shiki-dark:#2F798A}html pre.shiki code .shFtX, html code.shiki .shFtX{--shiki-default:#999999;--shiki-dark:#999999}html pre.shiki code .s4oTP, html code.shiki .s4oTP{--shiki-default:#B07D48;--shiki-dark:#B07D48}html pre.shiki code .sz8Xr, html code.shiki .sz8Xr{--shiki-default:#998418;--shiki-dark:#998418}html pre.shiki code .stQ0i, html code.shiki .stQ0i{--shiki-default:#AB5959;--shiki-dark:#AB5959}",{"title":78,"searchDepth":189,"depth":189,"links":882},[883,885,893,894],{"id":53,"depth":189,"text":884},"なぜ input text では日本語が打てないのか",{"id":115,"depth":189,"text":115,"children":886},[887,888,889,890,891,892],{"id":166,"depth":453,"text":167},{"id":208,"depth":453,"text":209},{"id":243,"depth":453,"text":244},{"id":339,"depth":453,"text":340},{"id":372,"depth":453,"text":373},{"id":412,"depth":453,"text":413},{"id":650,"depth":189,"text":651},{"id":717,"depth":189,"text":718},null,"adbのinput textは日本語を送れないので、TikTokの説明文が入力できなかった。ADBKeyBoardを入れれば日本語をそのまま送り込める。OPPO（ColorOS）ではインストール時の検証と「認可の監視」の2か所で止まるので、その外し方と、ふだん使いのキーボードとの切り替え方までをまとめた。","md",{},"/android-adb-japanese-input-adbkeyboard",false,"2026-09-28T00:00:00.000Z",{"title":5,"description":896},"2026-09/2026-09-28/android-adb-japanese-input-adbkeyboard",[905,89,906,907,908,909,851],"Android","ADBKeyBoard","ColorOS","OPPO","TikTok","VM3k2sDPPIPvaI2LLYBQpFTaPFGO4VOl1cZBoAp_uIY",[],[913,916,919,923,926],{"title":914,"path":915,"publishedAt":901},"Excelの縦型ショート動画を26本作ってTikTokに投稿するまで：イントロ演出、4つ打ちBGM、カバー画像の作り直し","/excel-shorts-tiktok-vertical-series",{"title":917,"path":918,"publishedAt":901},"2026年9月28日の開発日記 - TikTokに上げた6本を消して、カバー付きで出し直した日","/2026-09-28-diary",{"title":920,"path":921,"publishedAt":922},"Android実機の画面をPCに映して通信を覗こうとして詰まった記録","/android-mirroring-and-traffic-inspection","2026-09-04T00:00:00.000Z",{"title":924,"path":925,"publishedAt":901},"Mac の Claude Code で Bash ツールが zsh として動く問題は CLAUDE_CODE_SHELL で直る","/claude-code-shell-bash-on-mac",{"title":927,"path":928,"publishedAt":901},"Excel講座の動画制作：精算表の再現動画20本に列固定の切り替えを入れ、動画制作ページをMP4なしのプレビューに変えた","/excel-course-cfws-freeze-and-render-preview","https://log.eurekapu.com/og/blog/android-adb-japanese-input-adbkeyboard.png?v=2026-09-28T00%3A00%3A00.000Z&title=PC%E3%81%8B%E3%82%89Android%E3%82%92%E6%93%8D%E4%BD%9C%E3%81%97%E3%81%A6SNS%E3%81%AB%E6%8A%95%E7%A8%BF%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%80%81%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%81%8C%E6%89%93%E3%81%A6%E3%81%AA%E3%81%84%E5%95%8F%E9%A1%8C%E3%82%92ADBKeyBoard%E3%81%A7%E8%A7%A3%E6%B1%BA%E3%81%97%E3%81%9F&author=Kei%20Komatsu&sig=8b43b31eed982faf",1790638943716]