MIPS Android(JZ4760)用nicoWnnG version 2012.0325.1 独自ビルド版


(2013/06/21 追記 start)
最新版は「MIPS Android(JZ4760)用nicoWnnG version 2013.0425.1 独自ビルド版」にて配布中。

(追記 end)


MIPS Android(JZ4760)用nicoWnnG version 2012.0905.1 独自ビルド版」を公開しました。


MIPS Androidで動作するnicoWnnG
2012/03/27時点での最新版(Version 2012.0325.1)にアップデートしました。

ダウンロード: nicoWnnG-2012.0325.1-mips.apk
ダウンロード: nicoWnnG-2012.0320.2-mips.apk
ダウンロード: nicoWnnG-2012.0305.2-mips.apk

[注意事項]
この独自ビルド版nicoWnnGの配布にあたり、GORRYさんに許可を取っています。

この独自ビルド版nicoWnnGは、ソースの変更を行っていません。コンパイル時にMIPS/MIPS-R2/MIPS-R2 SoftFloat用のバイナリを作成するようにしただけのものです。
このため、前のバージョンからの変更内容については、オリジナル版を参照願います。

オリジナルのnicoWnnGがすでにインストールされていると、こちらの独自ビルド版はインストールに失敗します。
逆に、こちらの独自ビルド版があると、オリジナルのインストールに失敗します。
これは、この独自ビルド版は、オリジナルのnicoWnnGと同じソース・パッケージ名で作成されていますが、署名が異なっていることによるものです。
といっても、現状のオリジナル版はMIPS用のライブラリが内蔵されていないので、そもそものインストールに失敗するので、支障は無いですが・・・

なお、今回の独自ビルド版では、MIPS、MIPS-R2、MIPS-R2 SF用のバイナリのみとし、オリジナル版に含まれるARM,x86用バイナリを削除しています。

ronzi(溶智) A3での動作確認をしました。

それ以外の機種での動作は未確認です。
とりあえずMIPS-R2用バイナリとMIPS-R2 SF用バイナリを追加してはいますが、AMT-7001搭載のICCO T22とかでは動かない可能性は高そうです。

旧バージョン:
2012.0222.1版
2011.1207.1版
2011.1205.1版
2011.1115.1版
2011.0823.2版
2011.0503.1版

独自ビルド版のトピック
・Android NDK for MIPS r7mでコンパイルしています。
・MIPS r1用/MIPS r2用/MIPS r2 SF用の3種類のバイナリが含まれています。
・apk容量削減のため、MIPS用バイナリのみとしました。
・全体の再コンパイルは行わず、libディレクトリのみをapktoolを使って入れ替えるという邪法を使っています。
・署名が当サイトのものとなっています。

perl CGI.pm 渡される引数の取り扱い


perlでCGI.pmを使ってCGIを作る際の話。
・CGIに渡されたパラメータは、別のサーバに対してのコンテンツ取得に使用する
・渡されるパラメータが何がどれくらいあるのかが特定できない
・こちらの内部管理用で不要なパラメータとして特定の文字列があるが、それは引き渡さない

こんな条件がある時に、どーやって、パラメータを取得するか、というところ。

use CGI;
my $q = new CGI;
# 不要なパラメータを消去
$q->delete('sessionid');
# 残ったパラメータを表示
foreach my $name ($q->param) {
    # $nameが持っている値が複数の場合もあるため
    # @_=$q->param($name)に格納して
    # それをforeachする
    foreach my $value ($q->param($name)){
        print "$name=$value <br>\n";
    }
}

perl LWPを使ってcookie必須のページへのPOSTアクセス


うちで主に携帯向けとして提供しているゲームコンテンツのゲートウェイサービスは、内部でHTTP::Liteを使用して、オフィシャルのコンテンツを取りに行っている。

いままでは、それで問題なく利用できていたのだが、今回の動作状況見直しの際に、1点問題となる場面が見つかった。

それは、以下の様に同じ名前のパラメータで値が異なるものを送らなければならないことがある、ということ。

<input type="text" name="param" value="value1">
<input type="text" name="param" value="value2">

HTTP::Liteは、POSTアクセス時のコンテンツのペイロードに連想配列を使うため、同じ名前のものを複数送ることができない。

そんなわけで、LWPを使うように仕様変更を試みた。


HTTP::Liteを使用するもの

use HTTP::Lite;
$http = new HTTP::Lite;
$url="http://~";
$http->add_req_header("Cookie", "cookiename=$cookie");
%vars = ( "param" =>; "value1");
$http->prepare_post(\%vars);
$req = $http->request("$url")
    or $flagerr=1;
$contents=$http->body;

LWP使用に変更したもの

use LWP::UserAgent;
use HTTP::Headers;
use HTTP::Request;
$lwpua = LWP::UserAgent->new;
$url="http://~";
$lwpreq = HTTP::Request->new(POST => $url);
$lwpreq->content_type('application/x-www-form-urlencoded');
$lwpreq->header("Cookie"=>"cookiename=$cookie");
$lwpreq->content("param=value1&param=value2");
$lwpres= $lwpua->request($lwpreq);
$contents=$lwpres->as_string;

細かい点はいくつかあるものの、こんな感じで移行はできた。

失敗した点

最初「$lwpreq = HTTP::Request->new(POST => $url);」を「$lwpreq = HTTP::Request->new(POST => ‘$url’);」としていた。
この場合、「400 URL must be absolute」というエラーメッセージが出力されていた。
$urlにつけていたシングルクォーテーションを外したところ、正常動作した。

参考にしたLWP cookbookのサンプルは固定URLであるので、シングルクォーテーションで良いが、変数を使う場合にシングルクォーテーションを使うと駄目、という基本を忘れていたために食らいました。

もう1点、サーバに対して、Cookieの値を送る方法がよくわからなかった。
HTTP::Liteの時の例とかを考え、headerにCookieという名前で値を追加すればいい、と思い当たったので、それでやってみたところ、期待通りに動作した。

JUSTインターネットセキュリティのパターンファイルが更新されない



先日インストールしたJUSTインターネットセキュリティ
予備機と化しているノートパソコンにインストールしてみただけなので、インストール以後、全然起動していませんでした。

で、しばらくぶりに起動してみると・・・起動後30分経過しても、まだパターンファイル未更新状態のまま。

で、40分目。
非常に邪魔な広告が登場。
1024×600の画面だと↓な感じで表示されます。

そんなことがあったのが2月26日。(インストールは2月16日)
今日、2月28日、2日ぶりに起動してみた。
すると今度は5分程度で更新された。

いったい、どういう違いで、こんな時間差が生まれるのか、不明。

しかし、セキュリティセンターは「最新の状態ではありません」のまま。

手動でパターンファイルを更新してみても、そのまま。
またも再起動しないと警告が消えない、という状態。

だいじょぶか、これ。

Rstream A1類似機種海外のフォーラム便り 2012/02/23版



久々に海外フォーラムからのネタによる更新

というか、Bonston Maniaの更新がえらく中途半端なのでそれを補完するような感じ

[DEV ONLY][WIP][ICS][KERNEL] AOSP Ice Cream Sandwich for Commtiva Z71 variant
Rstream A1で動くICSの配布の大元。
といっても、書かれているスペック上だけでも通信機能全滅というばかりではなく、
Rstream A1に入れるとタッチパネルの動作も微妙と、現状ではとても使い物にならない。
まさにデモンストレーションonly。

・Droidsans.com: [ROM CM7.2] ROM CM7.2 RC0 “KANG” 2.3.7+kernel PlayOSS v6.3 [Build 18-02-2012]
タイ語のフォーラムDroidsans.comが公開元のようだ。
CynanogenMod 7.2RC0の2012/02/18付けソースを元に作成しているらしい。
KANGについては後述。
kernel PlayOSSについての実体がよくわからない。
たぶん、タイのPlayOSSなんだろうけど、kernelを公開している形跡が無い。

・PlayOSS: [Dev Guide] Build Android ICS 4.0 on Ubuntu
で、そのPlayOSSにあるタイ語の記事から1例。
タイで販売しているWellcoM A88向けに手順を解説している。
Android 2.3のコンパイル手順も別途あるが、バイナリを配布している様子がない?
(それとも見落とし?)

・Android Devil: [ROM][MOD]OptimusXperia 2.3.7 for Commtiva z71, Optimus Boston and other clones
Xperia2011年モデルの見た目をほとんど持ってきました!という感じのカスタムROM。
なので標準のランチャーはXperia ARC Launcher。
配布形式がupdate.zipではなく、ClockworkModRecoveryのBackupでバックアップしたディレクトリをzipしたものになっている。
このため、microSD上の/clockworkmod/backup以下に解凍して、ClockworkModRecoveryの「Restore」にてそのディレクトリを指定してリストアを実施する必要がある。(実施すると、いままでの設定が初期化されます)

Horizon 2.3.7
ここのフォーラムはログインしないと内容が見れないので注意。
Cyanogenmod 7 2.3.7 aPT をベースに改造しているカスタムROM。
こっちは、Xperia ARC Launcherだけを持ってきてる。

・おまけ、KANGとは?
Android Open Kang Projectらしい。(旧サイト)
現在は、Android 4.0.3ベースに開発している。
ただ、「Kang」とは何か解説は見当たらない。
Githubあり