Nexus5をAndroid10で動かす

Android6で見捨てられたNexus5。でもまだまだ現役で使えるのでAndroid6で止めとくのはもったいない。
なのでNexus5を最新のAndroid10で動かすようにします。
※僕の場合はTWRPが再起動ループに入って2度チャレンジしましたがダメでしたので元に戻しました

【事前準備】

Android StudioをPCにインストールする

TWRPの最新版をDLする

カスタムROMのAndroid 10のROMをDLする

GAAPSもDLします

で、Nexus5の設定から「バックアップとリセット」

をタップして「データの初期化」をします。

※セキュリティのパスワードがONになっているとダメなのでセキュリティはOFFにします

初期化されるのでしばらくお待ちください。

※初期化されるのでデータのバックアップは取っておきます

初期化されたら起動して「開発者モード」の「USBデバッグ」をONにします。

PCとNexus5をUSBケーブルで繋ぐ。

adb devices

とcmdに打ち込み、PCからNexus5が見えるか確認する。

確認できたらNexus5をbootloaderでリブートする

adb reboot bootloader

で、bootloaderをアンロックする

fastboot oem unlock

lineage-16.0-20190926-UNOFFICIAL-hammerheadをflashします

fastboot flash recovery lineage-16.0-20190926-UNOFFICIAL-hammerhead.zip

これでTERPがインストールされたはずです。rebootします

fastboot reboot

これでTWRPの画面になるはずです

で、まず、Nexus5ROMのバックアップを取っておきます

crDroidAndroid-10.0-20200315-angler-v6.4をインストールして、

open_gapps-arm-10.0-pico-20200311をインストールすれば終わりです。

再起動します。Android10のNexus5が起動します。

※うまくいかなかったら元に戻せます。

こちらからNexus5のイメージをDLしときます。

DLしたら展開してflash-all.batを実行します。

これで元に戻ります。

でも、元に戻すのに時間がかかるのでもう一回チャレンジ。あきらめたらBootloaderをロックしなおすのをお忘れなく

 

WordPressプラグインを作ってみる:第一回

【第一回】WordPressの機能を追加するものにプラグインがありますが今回はこのプラグインの作り方を解説します。

WordPressの管理画面にrootでログインして「プラグイン」>「インストール済みプラグイン」で表示されているプラグインを「showDB.php」として作成します。

【解説】

プラグインはインストール済みプラグインに表示される概要説明を作る場所と一回だけ実行されるコンストラクタという場所と実行される関数部で構成されます。今回試作するプラグインはwordpressのDBを全て読み込んで表示するだけのプラグインです。

プラグインは

/wordpress/wp-content/plugins

にディレクトリを作ってshowDB.phpを入れると表示されます。

↑こんな感じ

【プラグイン全体のコード】

<?php
/*
Plugin Name: Show WordPress DataBase
Plugin URI: https://wspri.dip.jp/?p=155
Description: wordpress.*データベースを読んで一覧を表示するプラグイン
Author: jack.Amano
Version: 0.0
Author URI:https://wspri.dip.jp
*/

//オブジェクトを作成
new showtables;

//クラスを作る
class showtables{
    //コンストラクタ
    function __construct(){
        global $wpdb;//インスタンスを呼んでログイン
        $this->tables=$wpdb->get_results("SHOW TABLES FROM wordpress");//テーブルを呼び出して$thisの中に格納しとく
        add_action('admin_menu', array($this, 'add_admin'));//管理者メニューに追加する準備
    }
    //メニューを追加する関数
    function add_admin(){
        //level_8から10が管理者
        add_menu_page('DB一覧表示','DB一覧表示','level_9', __FILE__, array($this,'show_DB'));
    }
    //DBを表示する関数
    function show_DB(){
        $tables=$this->tables;//$thisからテーブルを取り出しておく
        echo <<<TABLE
        <h1>Show WordPress All Table<h1>
        <hr width="98%">
        <table width="98%" cellpadding="10" cellspacing="4" border="0" bgcolor="#888888">
TABLE;
        for ($i=0;$i<count($tables);$i++){//カウントアップしながら配列を分解
            echo <<<TABLE
            <tr><td bgcolor="#ffffff">{$i}</td><td bgcolor="#ffffff">{$tables[$i]->Tables_in_wordpress}</td></tr>
TABLE;
        }
        echo <<<TABLE
        </table>
TABLE;
    }
}

【各部解説】

<?php
/*
Plugin Name: Show WordPress DataBasePlugin 
URI: https://wspri.dip.jp/?p=155
Description: wordpress.*データベースを読んで一覧を表示するプラグイン
Author: jack.Amano
Version: 0.0
Author URI:https://wspri.dip.jp
*/

↑がインストール済みプラグインで表示される場所

//クラスを作る
class showtables{
    //コンストラクタ
    function __construct(){
        global $wpdb;//インスタンスを呼んでログイン
        $this->tables=$wpdb->get_results("SHOW TABLES FROM wordpress");//テーブルを呼び出して$thisの中に格納しとく
        add_action('admin_menu', array($this, 'add_admin'));//管理者メニューに追加する準備
}

↑がコンストラクタ

    //メニューを追加する関数
    function add_admin(){
        //level_8から10が管理者
        add_menu_page('DB一覧表示','DB一覧表示','level_9', __FILE__, array($this,'show_DB'));
    }

↑が管理者メニューに追加している

    //DBを表示する関数
    function show_DB(){
        $tables=$this->tables;//$thisからテーブルを取り出しておく
        echo <<<TABLE
        <h1>Show WordPress All Table<h1>
        <hr width="98%">
        <table width="98%" cellpadding="10" cellspacing="4" border="0" bgcolor="#888888">
TABLE;
        for ($i=0;$i<count($tables);$i++){//カウントアップしながら配列を分解
            echo <<<TABLE
            <tr><td bgcolor="#ffffff">{$i}</td><td bgcolor="#ffffff">{$tables[$i]->Tables_in_wordpress}</td></tr>
TABLE;
        }
        echo <<<TABLE
        </table>
TABLE;
    }
}

↑が実際に表示する関数。$thisからtablesオブジェクトを取り出して配列に格納。配列分だけloopしてカウントアップしている。->Tables_in_wordpressはvar_dump()で配列の中身をみたらテーブル名はTables_in_wordpressに格納されていたから。

↑こんな感じで一覧で所得できるんで応用すればいろいろ出来ます。

WSPRIについて

WSPRIはWEBサーバプログラミング研究所でしたが、特定のカテゴリにとらわれずUE4やサーバ関連の管理者の備忘録として情報を掲載していきます。
普段はあまり時間がないので応答が悪いですがその点はご理解ください。