たくさんの自由帳
Androidのお話
たくさんの自由帳
投稿日 : | 0 日前
文字数(だいたい) : 11180
目次
本題
開発環境をローカルに入れるのは、、、
WSL2
WSL を入れる
Wsl/CallMsi/Install/REGDB_E_CLASSNOTREG エラー
Ubuntu がインストールされる
WSL よく使うコマンド
インストールした Linux の状態
WSL 終了
Cドライブを開けたいので別のドライブに入れたい
引越し準備
引っ越し先
root ユーザーでログインしているのをやめたい
エクスプローラーで Linux のドライブの中身が見れる
デスクトップアプリを入れてみる
Firefox
どういう仕組みでスタートメニューに登録されるの?
Android Studio
ダウンロードする
curl でダウンロード
インストール
毎回 sh コマンドを叩くのはめんどい
WSL2 の中にある Android Studio から実機を繋ぎたい
Windows 側の用意
WSL2 側の用意
実機で動作確認
2回目以降は?
WSL2 の環境を削除したい
おわりに
おわりに2
どうもこんばんわ。
リトルプリンセスGO! 攻略しました。かわいいいい。特にシリアスとかもないのでひたすらかわいかったです。
えちえちも大体網羅されてていい!!!
かわいい、かくかくしかじかだ
><なみだ目だ、かわいい、ちなみに年上ヒロイン
りっかちゃん!!
ここのお話すき、かわいい。最後の方の話、素直でよかった~。
ミーナさん!!まじで顔がいい。
この顔すき
!?!?!?!?
いい!!神ゲーです
主人公冥利につきてそう
ひたすらかわいいのでおすすめです!あまあまだった
ミーナさんのえちえちシーンとくによかった...
ASUS ROG Allyを買った、えちえちゲームようです。Surface壊れたんで。
(なので別にゲーミングな性能は必要なく、ただ大手のUMPCだから買ったってのがデカい)
ゲーミングな性能を持っているので、適当にAndroid Studioを入れてみたら、なんか普通に動いて、メモリこそ足りないものの、結構動いてた。はやい。
先述の通りメモリは足りないし、キーボードないんだけど、それはそうとビルド環境が持ち出せるのはなんかいいなあって。
(いやまあ使うか分からんのに512GBのストレージを無駄にしていいのかは怪しくなってきた。)
でもこれ、えちえちゲーム専用機にしたいからな~~Android Studioやらこのブログの開発環境やらいれたらローカルの環境がぐちゃぐちゃになってしまいそう。。
あと、入れてもいいんだけど容量が足りなくなった時に簡単に消せるようにしたい。
多機能なゆえにAndroid Studioを完全にアンインストールするのはなんか面倒くさい記憶がある。
なんかアップデートしたのに古いバージョンのファイルが残ってたりで、気になる人は気になりそう。
(↑なぜか残り続けるフォルダたち。古参ぶるな)
こんなこと言ってますが、今使ってるデスクトップは特に気にせずしています。
なのでAndroid Studio / Intellij IDEAが作ったGradleのキャッシュがホームディレクトリにあるし(~/.gradle)、npmのグローバルインストールや、pnpmのシンボリックリンクだったりしてローカルを汚しまくってます。手遅れ。
Windows Subsystem for Linux。WindowsでLinuxの仮想マシンを動かせる。VMwareみたいなあれ。
MSが公式で出している方法。これでLinuxにしか無いソフトを使うことが出来ます!!!。
たまによくLinux / macOSのバイナリはあってWindowsだけ無いのを見かける、AnsibleとかRedisとか。
(どっちも使ったこと無いからWindowsで困ってないんだけどさ、、)
ただ、今回はLinuxの仮想マシンが欲しい訳じゃなく、
どっちかというと開発環境をその仮想マシンに閉じ込めてすぐ削除できるようにしたい。
ちなみにfor Androidの方は使ったことないままサービス終了です。
最近?のWSLはLinuxのGUIアプリを動かすことができるようになったそうで、WSL2のLinux環境にAndroid Studioや他の開発環境を入れればローカルは綺麗なまま、すぐ削除もできて素敵なのでは!??!
あと、LinuxのGUIアプリを動かすドキュメント、そんなに難しく無さそう。
アイコンのペンギンがかわいい。
一度も入れたことがないので、ドキュメント通り。PowerShellを管理者権限で起動して、以下のコマンドを叩くだけ。
記憶が正しければ昔はPro エディションの Windowsが必要とかだったような。
wsl --install(もし昔にWSLを使っていた場合はwsl --updateと叩くと更新できます)
一回試した時はなんなくインストールできたのに、クリーンインストールした後もう一回試そうとしたらこのエラーで出来なくなってしまった。
GitHubのリリースからダウンロードして入れ直すのを試します。Releases · microsoft/WSL
Windows Subsystem for Linux. Contribute to microsoft/WSL development by creating an account on GitHub.
https://github.com/microsoft/WSL/releases
WSL自体のインストールから試す。msixの方は失敗したので(同じ ID を持つものの、コンテンツが異なるため、パッケージ...)、msiの方をダウンロードして入れた。Intel / AMD CPUの方はx64って書いてある方を、Snapdragon CPUの方はarm64って書いてある方でいいはず?
ねんのため再起動してみる。
これで晴れてwsl --installができるようになりました。やったぜ
デフォルトのディストリビューションはUbuntuになるそう。Linuxはあんまり触ったことなくDebian系じゃないとわからないので助かった。
(まぁそれすらもよく知らない、ラズパイがこれだった。)
wsl --installが終わると再起動しろって言われたので一旦再起動する。
再起動したらUbuntuがスタートに表示されたので開いてみる。
そしたら処理が進んで、Linuxのユーザー作成に進みました。スクショ取りそこねました。
インストールできました!!!
2回目以降はスタートに表示されるUbuntuを押すことで起動できます。
スタートメニューからUbuntuを起動できる時代かあ。VMware Playerで立ち上がるのを見守ってたあの頃
ちなみに自作PCの人が使うUbuntuとは違うと思いますがこれはデスクトップ環境が無いUbuntuだからですね。ラズパイを画面無しで使ってる気分。
これはWindows側で叩くコマンドです。書くまでもないか。
wsl -l -v
起動しているかとか。exitで抜けただけだと動きっぱなしになってる?
wsl --shutdown
参考にしました、ありざいす

WSL の基本的なコマンド
Linux 用 Windows サブシステム (WSL) に含まれている基本的なコマンドのリファレンス。
https://learn.microsoft.com/ja-jp/windows/wsl/basic-commands

Ubuntu(WSL2)をCドライブからDドライブへ引越す
https://zenn.dev/shittoku_xxx/articles/066cfd072d87a1

wsl をDドライブに入れ直してディスク拡張する
WSL で AOSP をビルドしようとしたら容量が足りなかったので、WSL 環境を D ドライブで作り直す。 入れ直しなので wsl コマンドは入っている前提。また移行はせずに作り直す。 OGP は http://tsukuru-hito.com/e2482904.html i…
https://blog.ojisan.io/wsl-reinstall-d/
Cドライブは開けておきたい。ので試しにSD カードにWSL2の環境を移動させたい。
しかし、直接SD カードに入れることは出来ないそうで、代わりにCドライブに入れたものを移動させる手段を皆やっているらしい。
まずはディストリビューション名を調べます。wsl --list --verboseコマンドで見れます。
NAMEの欄にあるものです。今回はUbuntu(そのままだった)ですね。
次にエクスポートします。wsl --export {名前} {ファイル名}。今回の例だとwsl --export Ubuntu ubuntu.tarです。今いるフォルダに出来ます。
エクスポートしたので、次は消します。
あとでエクスポートしたものをインポートするので消して良いはず。wsl --unregister {名前}でできます。
今回の例ではwsl --unregister Ubuntuですね。
はい。消したので、wsl --list --verboseを叩いても何も無いよ!って返ってきます。
エクスポートしたファイルがどこに有るかですが、今のターミナルのパスですね。
馴染みがない場合は、pwdコマンドを叩くと今のパスが分かるので、エクスプローラーでそのパスへ移動するとubuntu.tarがあるはず。
まずは引っ越し先のドライブでPowerShellを開きます。cdで移動してもいいですし、エクスプローラーで開いて空いてる部分を右クリックするとターミナルで開くがあるので押しても良いです。多分PowerShellだと思う。
ターミナルで引っ越し先に移動したら、次に以下のコマンドを叩きます。wsl --import {名前} {フォルダ} {tarファイルのパス}。今回の例ではwsl --import Ubuntu wsl C\Users\takusan23\ubuntu.tarですね。wslフォルダに展開される感じです。
これでwslが戻ってきたはず!wsl -d {名前}コマンドを叩けば起動するはず。今回の例ではwsl -d Ubuntuです。
多分スタートメニューのUbuntuから起動できています。
起動してみるとわかるのですが、rootユーザーになっています。大いなる力には大いなる責任が伴う のあれ。
これは怖いのでできれば初期設定時に作ったLinuxユーザーに戻したいところです。毎回起動したら# su takusan23するのも面倒だし。
というわけで戻します。テキストエディタにvimを使いますが何でも良いです(戦争回避)rootユーザーで叩く必要があるのかは不明ですがそんな気がします。
このコマンドでテキストファイルを開きます。vim /etc/wsl.conf。私の場合は既にありました。
そしたらvimが開くので、iを押して編集モードにし、一番最後の行へ移動し、2行書き足します。
[user]
default={ユーザー名}ユーザー名はUbuntu初期設定時のあれです。
私の場合はdefault=takusan23です。
vimを使っていればEscキーを押し、:wqと入力しエンターを押すことで保存しターミナルへ戻ることが出来ます。
これで一旦閉じて、もう一回スタートメニューからUbuntuを押せば、みごと初期設定時のユーザーで入れるようになりました。
すごい便利、仮想マシンじゃ出来ないんじゃないかなこれ
UbuntuはDebian系列なので、.deb パッケージのやつをやってみる。
が、apt経由で普通に入れることが出来そう。
順番通りにコマンドを叩けば良いはず。
sudo install -d -m 0755 /etc/apt/keyringssudo apt-get install wget
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null↑wgetない場合は一行目も叩く。
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/nullecho '
Package: *
Pin: origin packages.mozilla.org
Pin-Priority: 1000
' | sudo tee /etc/apt/preferences.d/mozilla↑これはまとめて貼り付ける
sudo apt-get update && sudo apt-get install firefox↑YesかNoか聞かれるのでyでエンター。
終わったら、firefoxコマンドで起動できます!!
たしかにデスクトップLinuxアプリがWindowsに表示されている...。謎技術すぎる。
firefoxまた、スタートメニューにもWSL2 Ubuntuの中にあるFirefoxのショートカットが表示されます。
まじで統合されまくっててすごい。
ただし、日本語フォントがないので入れないといけない。
デスクトップエントリと言う機能がLinuxにはあるらしく?、デスクトップ環境ありの Ubuntu(自作PCの人達が使ってる方の Ubuntu)だとアプリ一覧に表示させるのに使われているそう。
そしてWSL2でもデスクトップエントリを認識してLinux GUI アプリのショートカットを作ってくれる、、、らしい。
本題!!!!
UbuntuにAndroid Studioを入れる方法ですが、本家通りでいいはず。
Instalar o Android Studio | Android Developers
Configure e instale o Android Studio no Windows, macOS ou Linux.
https://developer.android.com/studio/install?hl=pt-br
もし↑のFirefoxを既に入れている場合、Android StudioのダウンロードページがLinux用に切り替わるはず。
Firefox入れてない場合は、curlでダウンロードするなり必要。
ただAndroid Studioのダウンロードリンクを調べておく必要があります。調べたらcurlで落とせば。
mkdir ~/Downloads
cd ~/Downloads
curl -OL {ここにダウンロードリンク}このコマンドだと適当にホームディレクトリにDownloadsフォルダを作ってそこにいれるようにしています。
ダウンロードできたら解凍します。sudoなのでパスワードいるかも。
cd /usr/local/
sudo tar zxvf ~/Downloads/android-studio-2024.2.1.12-linux.tar.gz解凍がおわると、android-studioフォルダが出来ているので、android-studioの中のbinの中にあるstudio.shってシェルスクリプトがあるのでそれを実行します。
2回目以降の起動もこの1行を叩けば良いです。
sh /usr/local/android-studio/bin/studio.shいや嘘偽りなくLinux GUI アプリが動いてるんだが、
すごい、謎すぎる。
セットアップを進めます。
がんばれ~。ネタバレするとエミュレータはちょっと試した限り動かないっぽいので(おま環かも)、Customで進めて、Android Virtual Deviceのチェックを外しても良いかもしれません。
適当にプロジェクトを作ってみました!
ビルドは試せてませんがとりあえずは動いてそうです!!!
すげ~~
Firefox (Ubuntu)みたいにスタートメニューにおいて欲しい。
デスクトップエントリと呼ばれるファイルを作ればよいのですが、まず公式で案内されている方法があるので見ます。
ひっそりと、ツールバー > Tools > Create Desktop Entryを実行するとデスクトップエントリが作れるよって書いてあるんですが、WSL2だからなのかデスクトップ環境が無いものだと勘違いされたのか項目がありません。
ので、自分で書きます。
まずは以下のコマンドを叩いてandroid-studio.desktopを作ります。vimを使いますが何でも良いです。(戦争回避)
cd /usr/share/applications/
sudo vim android-studio.desktopそして以下を貼り付けます。
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Android Studio
Comment=Android Studio
Exec=/usr/local/android-studio/bin/studio.sh
Icon=/usr/local/android-studio/bin/studio.svg(↓のスクショは若干間違ってて、↑の文字列が正解です。)
書けたら保存してターミナルに戻ります。VimならEscキーを押し:wqでエンター。
これでスタートメニューに「Android Studio(Ubuntu)」が表示されるようになり、押すとWSL2上でAndroid Studioが起動できます!!
もしアイコンがペンギンのままで、反映されてなかったらWindowsを再起動してみてください。
ターミナルから起動するときと比べて、WSL2のUbuntuが起動していない場合はちょっとだけ時間かかります。
もちろんスタートメニューから押しても起動します。すごい。
ちなみにエミュレータは1時間くらい戦ったけどダメそうでした。またやってみてもいいけど実機のほうが楽だし。。
WSL2でUSBデバイスと接続する方法がちゃんとあります。
USB デバイスを接続する
usbipd-win を使用して、USB デバイスを WSL 2 Linux ディストリビューションに接続する方法について説明します。
https://learn.microsoft.com/ja-jp/windows/wsl/connect-usb
.msiのインストーラーをダウンロードし、ホストのWindows環境へインストールします。Releases · dorssel/usbipd-win
Windows software for sharing locally connected USB devices to other machines, including Hyper-V guests and WSL 2. - dorssel/usbipd-win
https://github.com/dorssel/usbipd-win/releases
次に端末を繋ぎます。UMPCだともうポートが埋まってしまう。。。
そしたらWSL2のUbuntuを起動しておきます。ここから先は多分WSL2を起動しておく必要があると思います。
次に新しくPowerShellを管理者権限で開き、以下のコマンドを叩きます。
usbipd list出てきた一覧から、WSL2で使いたいUSBデバイスを探します。
以下例。
Connected:
BUSID VID:PID DEVICE
3-1 xxxx:xxxx Pixel 8 Pro今回はPixel 8 Proなので3-1ですね。ここは皆さん違うと思う。学校のクラスみたいBUSIDの部分をそれぞれ以下のコマンド置き換えて、叩きます。私の場合は3-1ですね。
usbipd bind --busid {BUSID}
usbipd attach --wsl --busid {BUSID}次にWSL2のUbuntuのターミナルへ切り替え、ADBを使う準備をします。
おそらくこのままadbコマンドを叩いても権限が足りなくてAccess denied (insufficient permissions)みたいなエラーが出ちゃうんじゃないかなと思います。
ちなみにADBの所在は~/Android/Sdk/platform-tools/にadbってあるはず。
01-28 02:16:11.932 510 510 E adb : usb_libusb.cpp:598 failed to open device: Access denied (insufficient permissions)
01-28 02:16:11.932 510 510 I adb : transport.cpp:1153 39171FDJG005SC: connection terminated: failed to open device: Access denied (insufficient permissions)
* failed to start daemon
adb: failed to check server version: cannot connect to daemonユーザーの操作となんかaptから入れないといけない?
เรียกใช้แอปในอุปกรณ์ฮาร์ดแวร์ | Android Studio | Android Developers
ดูวิธีตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์และอุปกรณ์ Android สำหรับการทดสอบและแก้ไขข้อบกพร่องผ่านการเชื่อมต่อ Android Debug Bridge (ADB)
https://developer.android.com/studio/run/device?hl=th
というわけで、公式通りに以下の2つ叩きます。ADBのAccess denied (insufficient permissions)エラーは2行目のaptパッケージをインストールしたら直りました。再起動が必要かもしれません。
sudo usermod -aG plugdev $LOGNAME
apt-get install android-sdk-platform-tools-commonあとはもう一回adbコマンドを叩いてみる。
cd ~/Android/Sdk/platform-tools/
./adb devicesこれで認識される(もしくはAndroid端末側に許可ダイアログが表示される)はずです!!
後はWSL2上のAndroid Studioを起動します。
スタートメニューでも良いですし、以下のコマンドを叩いても良いです。
sh /usr/local/android-studio/bin/studio.shどうでしょうか?Android Studioの実行で実機が選べるようになってますか?ビルドもできるはず
ちなみに使い終わったら引っこ抜けばいいらしい。
だめな場合はUSB ハブを使わないとかしてみてください。
思ったよりもずっと速い。
仮想マシンとは思えない。
もう一回接続したい場合は、端末を繋いで、WSL2のUbuntuを起動した後、WindowsのPowerShellで以下のコマンドを叩くだけでいいはず。これでWSL2側に認識されます。
usbipd attach --wsl --busid {BUSID}あとはWSL2上のUbuntuでAndroid Studioを起動すれば良い。
Windows上のPowerShellで以下のコマンドを叩きます。
wsl -lそしたら消したいLinuxのディストリビューションの名前が出てくるので、消したい名前を覚えて以下のコマンドを叩く。
例えばUbuntuだったらこれです。
wsl --unregister Ubuntuこれで容量が開放されるはずです。
もう一度入れたい場合は以下のコマンドでいいはず。
wsl --install積んでるエロゲやるために買ったのになんですかこの記事は
aptで調べるとショート動画のが出てくる!