VS Codeでvenvがうまく動作しなくなった話

結論 venvをあきらめて、Pipenvを導入すればなぜか解決した。 経緯 Pythonの開発環境にVS Codeを使っていましたが、ある日突然、venvで作った環境が見えなくなりました。 PowerShellからは切り替えができるので、venv自体は正しく動いているようでした。 PythonとVS Codeをクリーンインストールしても状況は変わりませんでした[1]。 Pipenvの使い方 最近はPipenvというものがあるらしいので、それを導入することとしました[2][3]。 pip install pipenv 以下のように環境変数を設定することで、プロジェクトのフォルダ直下に仮想環境を構築してくれます。 PIPENV_VENV_IN_PROJECT=true VS Code上にフォルダを作成し、その直下で仮想環境を作成します。 コマンドはVS Code上のPowerShellで行いました。 例えば以下のようになります。パスやPythonのバージョンはご自身の環境に合わせてください。 *pythonの後に半角スペースがあるのでうっかり詰めないでください。 *venvファイルが作成されるという情報もありますが、私の場合はPipfileのみ作られました。 PS PS C:\Users\User Name\Documents\CODE\Python\Test> pipenv install --python 3.8 VS Code上でF1キーを押して、「reload」を検索して実行します。 これで左下のPythonのバージョンセレクトから環境選択できるはずです。 仮想環境から抜けるときは以下のコマンドを使います。 deactivate 参考文献 [1] sota0726 「VScodeを完全にアンインストールする方法(windows10)「拡張機能のホストが予期せずに終了しました。」を改善するために」閲覧日:2020/09/13 https://www.atmarkit.co.jp/ait/articles/1810/12/news026.html [2] KRiver1 「pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。」閲覧日:2020/09/13 h

Xperia acro: SO-02C ビルド番号4.0.1.C.1.24をroot化していろいろいじる

Xperia acroの内部ストレージがついに限界を迎え,アプリが更新できなくなったしまったのでroot化してました.
root化に関してはいろいろな方が情報を公開しているので,苦労せずうまくいきました.
せっかく調べたので,備忘録として記しておきます.

*root化すると無保証になります.いかなる問題が起きても自己責任でお願いします.

この記事で対象とする環境は以下の通りです.

Android端末:
Xperia acro SO-02C
ビルド番号 4.0.1.C.1.24

PC:
Windows 8.1 64bit

参考にさせていただいたサイトは以下の通りです.

・root関連
SkillWorker, 「たった独りのIT革命」: <http://maro2005.blog.so-net.ne.jp/2014-05-06-1>(2014/10/10アクセス)
「スマホ壊れたから」: <http://hato.1ch.nl/test/read.cgi/hurusato/1377576073/l50>(2014/10/10アクセス)

・SDカードのパーティション関連
「食べた料理と呑んだビオワイン(自然派ワイン)をミラーレスカメラ(NEX-5/E-P1)とXperia(エクスペリア)で撮るそんなDay's」: <http://cameme.net/xperia/Article13707/>(2014/10/10アクセス)
「yoshiaki-papaのブログ」<http://ameblo.jp/yoshiaki-papa/entry-11080238044.html>(2014/10/10アクセス)

・ SystemUI関連
「文具屋さんネット」<http://www.bunguyasan.net/dialy/kiji1323.html>(2014/10/10アクセス)
「Android初のPlayStationスマートフォン「XperiaPLAY」のおもしろさを書き綴るブログ」<http://cameme.org/root/Article479/>(2014/10/10アクセス)
「あすのば」<http://asunoba.blogspot.jp/2011/10/blog-post.html>(2014/10/10アクセス)

1. バックアップ

まずは,端末のバックアップを取ります.
私はJSバックアップ[1]を使用しました.
アプリを起動してバックアップをタップしてSDカードに保存します.

[1] JSバックアップ:
https://play.google.com/store/apps/details?id=jp.co.johospace.backup&hl=ja

次に,PC Companion[2]をインストールします.
端末を接続すればPC Companionをインストールするか聞かれますので,インストールボタンをタップします.
この画面が出ない場合は設定>Sony Ericson>接続設定 から,PC Companionのインストールにチェックを入れます.
このとき端末をPCと接続している場合は,一度端末をはずして再度接続してください.

[2] PC Companion
http://www.sonymobile.co.jp/support/software/pcc/2.3/

これでバックアップは終了です.
不安な場合はほかの方法でもバックアップを取っておくとよいと思います.

2. Android SDKのインストール

Android SDK[3]をインストールします.
Download Eclipse ADT をクリックし,自分のPCのOSに合わせたSDKを入手します.
DLできたら適当なところに解凍して環境変数のPathを通します.
通すPathは以下の二つです.

<解凍した場所>\adt-bundle-windows-x86_64-20140702\sdk\tools;
<解凍した場所>\adt-bundle-windows-x86_64-20140702\sdk\platform-tools;

[3] Android SDK
https://developer.android.com/sdk/index.html?hl=i#download

次に,Android端末の 設定>アプリケーション設定>開発 からUSBデバッグにチェックを入れます.
端末をPCにつなぎ,以下のコマンドプロプ上で次のコマンドを実行します.

>adb  devices

このとき,以下のような出力がでればADBと,端末が正常に接続できていることを確認できます.

List of devices attached
434235413146474B3147    device 


3. ルートを取得する

まずは,rootkitacro_4.0.1.C.24.zip[4]をDLし,保存します.
保存したZIPファイル解凍します.
今回は,Cドライブ直下に配置したとします.

[4] rootkitacro_4.0.1.C.24.zip
https://www.copy.com/s/fLWNWdC9AVoB/rootkitacro_4.0.1.C.1.24.zip

Android端末の電源をきり,PCとUSBケーブルで接続します.
次に,コマンドプロンプトを起動し,rootkitacroのinstall.batまで移動します.

>cd C:\rootkitacro_4.0.1.C.1.24

移動後に以下のコマンドを入力しますが,まだ実行はしません.

>install.bat

Android端末の電源をいれ,起動時のアニメーションである赤い靄のようなものが見えたところでコマンドプロンプト上でEnterを押してBatファイルを実行します.
あとは自動的に処理が始まります.
以下のようなメッセージが表示されれば成功です.
私の場合は電源ボタンを押しても何も反応はありませんでしたが,うまくいきました.

■■■Xperia acro SO-02C rootkit■■■

端末の準備待ちです。
db server is out of date.  killing...
 daemon started successfully *
12 KB/s (9496 bytes in 0.013s)
2 KB/s (170 bytes in 0.013s)
388 KB/s (1165484 bytes in 0.819s)
344 KB/s (380532 bytes in 0.276s)
433 KB/s (1468798 bytes in 1.000s)
8 KB/s (566 bytes in 0.007s)

oot取得処理を開始します。
ait a minutes...

電源キーで画面を消灯・点灯させてみてください。
(電源キーを押さなくても、しばらく待っていると処理が進む場合があります。)

一時的にrootがとれました。
各種ファイルをインストールします。
43+1 records in
43+1 records out
80532 bytes transferred in 0.626 secs (607878 bytes/sec)
868+1 records in
868+1 records out
468798 bytes transferred in 2.104 secs (698097 bytes/sec)
276+1 records in
276+1 records out
165484 bytes transferred in 1.980 secs (588628 bytes/sec)
一時ファイルを削除します。

再起動します。
端末の準備待ちです。

■■■完了しました■■■
続行するには何かキーを押してください . . .



再起動後にSuperUserというアプリがインストールされていれば成功です.

4. 内部ストレージを拡張する

Link2SDで内部ストレージにインストールされたアプリケーションをSDに移動させ,内部ストレージの空き容量を増やします.
まずは,Partition Wizard Home[5]というソフトを使用して,SDカードのパーティションを切ります.
ソフトをDLしてインストールしたら,Android端末をPCに接続してソフトを起動します.

[5] Partition Wizard    
http://www.partitionwizard.com/download.html

Andorid端末内のSDカード上で 右クリック>Move/Resize をクリックします.
Move/Resize Partitionウィザードがはじまりますので,Unllocate Space After.に任意のMBを指定して,OKを押してください.
私は4096MBとしました.
分割した領域上で 右クリック>Create をクリックします.
WaringダイアログのYesボタンを押すと,Create New Partitionウィザードが起動します.
Partition lavelに適当な名前を付け,各項目を以下のように設定します.

Creatge As: Primary
File System:Ext3
Cluster Size: Default

OKを押すとウィザードが終了するので,メインのUI上の左上にあるApplyボタンを押します.

Apply Changes?ダイアログのYesボタンを押すと,作業が始まります.
その後,Successfulというダイアログが出現すれば成功です.

最後に,Link2SD[6]をGoogle playからDLしてインストールします.

[6] Link2SD
https://play.google.com/store/apps/details?id=com.buak.Link2SD&hl=ja

アプリを起動し,必要のないアプリをアンインストールし,必要なアプリはリンクを作成してSDカードに移動します.
アプリ上で長押してアンインストールやリンクの作成できます.
または,アプリをタップすれば実行内容ボタンからアンインストール,下のリンクを作成からリンクを作成できます.
これで不要なアプリを消し,必要なアプリを移動することで内部ストレージの容量を増やすことができます.
*調子にのって必要なアプリまで消さないよう十分注意して作業を行ってください.

5. SDのキャッシュを拡張する

SDカードに移動したアプリを快適に動かすために,SDのキャッシュを増やします.
SD-Booster[7]をGoogle playからDLしてインストールします.

[7] SD-Booster
https://play.google.com/store/apps/details?id=de.mehrmann.sdbooster&hl=ja

アプリを起動し,Preferencesの設定が出現したら,任意のボタンにチェックをいれます.
私は,Background updates and notificationsとNotification on bootにチェックしました.
次に,右上の設定ボタン(歯車型のボタン)を押しSetupでCache sizeを指定します.
私は2048kbとしました.
ここのチェックボタンも好みのものをいれればいいと思います.
私はSet this device on bootにチェックを入れています.
緑のボタンを押してCacheが無事変更されれば成功です.

6. 通信領域を変更する

ここまででも十分使いやすくなったと思いますが,せっかくrootを取ったのでもう少しこったことをしてみます.
通信領域に最近のAndroidであれば,BluetoothやGPSのON/OFFスイッチがついています.
これをacroにもつけてみましょう.

まずは,SystemUI-with-brightness-bar for 2.3.4[8]をDLして,保存します.
SystemUI-with-bar.zip\system\appの中にあるSystemUI.apkを適当なところに保存します.
今回は,C:\Users\<ユーザー名>\Documents\SystemUI.apkにあるとします.
 
[8] SystemUI-with-brightness-bar for 2.3.4
http://forum.xda-developers.com/showthread.php?t=1306044

コマンドプロンプトを起動し,Android端末をPCに接続します.
最初にSystemUI.apkをAndroid端末のSD領域にコピーします.

> adb push C:\Users\Hiroaki\Documents\SystemUI.apk /mnt/sdcard
2507 KB/s (290398 bytes in 0.113s)

コピーできたらadb shellを起動してファイルを入れ替えます.

> adb shell

スパーユーザーになります.
$ su
su

systemファイルを変更できるようにします.
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

systemフォルダ内のappフォルダまで移動します.
# cd /system/app
cd /system/app
 

オリジナルのSystemUI.apkファイルをリネームしてバックアップをとります.
# mv SystemUI.apk SystemUI.apkOld
mv SystemUI.apk SystemUI.apkOld

新しいSystemUI.apkファイルをコピーします.
# cp /mnt/sdcard/SystemUI.apk SystemUI.apk
cp /mnt/sdcard/SystemUI.apk SystemUI.apk

権限を変更します.
# chmod 644 SystemUI.apk
chmod 644 SystemUI.apk

odexファイルをリネームします.
# mv SystemUI.odex SystemUI.odexSleep
mv SystemUI.odex SystemUI.odexSleep

権限を確認します.
# ls -l System*
ls -l System*
-rw-r--r-- root     root       290398 2014-10-10 18:08 SystemUI.apk
-rw-r--r-- root     root       253151 2012-08-17 19:54 SystemUI.apkOld
-rw-r--r-- root     root       113176 2012-08-17 19:53 SystemUI.odexSleep


再起動します.
# reboot
reboot

これで通信領域にトグルスイッチが表示されるはずです.


以上で,Xperia acroのroot化は終わりです.
root化は本来高度な技術ですが,いろいろな技術者の方のおかげで私のような素人でも簡単に行うことができました.
また,素晴らしいアプリのおかげで難しい作業はほとんど必要ありませんでした.
感謝してもしたりないですね.

参考にさせていただいたサイトのように,この記事が他の誰かの役に立てば幸いです.

コメント

  1. いろいろひっかかりましたが
    この方法でできました。
    感謝!!!

    返信削除
  2. Hi, I need that post but I dont speech Japaneese. Please to write in english. Thanks

    返信削除
  3. Merci pour ce site.
    J'ai un Xperia acro so-02 c qui ne reste allumé que sur le logo Sony Ericsson. Comment faire pour le réparer ? Aidez moi. Adressnumerique@gmail.com

    返信削除
  4. Merci pour ce site.
    J'ai un Xperia acro so-02 c qui ne reste allumé que sur le logo Sony Ericsson. Comment faire pour le réparer ? Aidez moi. Adressnumerique@gmail.com

    返信削除
  5. Hi, I need that post but I dont speech Japaneese. Please to write in english. Thanks

    返信削除

コメントを投稿

このブログの人気の投稿

C++11のためにGCCの最新版をインストールする

分解:Logicool M570

MOCO'Sキッチンのフォントに似せるβ版