これは少し精神的なことですが、Jelly Bean 4.2を実行しているGalaxy S4にRubyをインストールできますか?ジェムをインストールし、ルートをレーキし、Railsサーバーを実行し、0.0.0.0.3000をChromeに入れてアプリケーションを参照できるコンソールですか?
外出先で私が持っている小さなアイデアやコンセプトをテストするのに最適でしょう!
AndroidはUNIXではないことを認識していますが、Windowsにインストールできれば、どこにでもインストールできます。
これは少し精神的なことですが、Jelly Bean 4.2を実行しているGalaxy S4にRubyをインストールできますか?ジェムをインストールし、ルートをレーキし、Railsサーバーを実行し、0.0.0.0.3000をChromeに入れてアプリケーションを参照できるコンソールですか?
外出先で私が持っている小さなアイデアやコンセプトをテストするのに最適でしょう!
AndroidはUNIXではないことを認識していますが、Windowsにインストールできれば、どこにでもインストールできます。
回答:
Android Scripting Environment はRubyを計画していると述べました。彼らがどこまで到達したかを確認する価値があるかもしれません。少なくともGoogle Codeでは「JRuby」というタグが付けられています。彼らのプロジェクトページによると:
スクリプトは、ターミナル、バックグラウンド、またはロケールを介してインタラクティブに実行できます。Python、Perl、JRuby、Lua、BeanShell、JavaScript、Tcl、およびシェルが現在サポートされており、さらに追加する予定です。
ただし、次の点にも注意してください。
SL4Aは開発者向けに設計されており、アルファ品質のソフトウェアです。
このトピックに関する興味深い記事は、休暇中にAndroidをハッキングすることです。SL4Aをao Rubyで使用するようにセットアップして使用する(成功した)試みについて説明しています。
理論的には、そうすることができますが、いくつかの重要な制限があります。あなたはほぼ確実に根ざした Androidデバイスを必要とするでしょう。
たとえば、あなたはそれを正しく機能させることはできませんgem install anything。問題は、電話のリソースが限られているためコンパイラを実行できないため、Rubyもネイティブライブラリを必要とするgemもコンパイルできないことです。
したがって、私がこれに取り組む最初の方法は、Android NDKを使用してルビーとRubyGemsをクロスコンパイルし、それらをデバイスにサイドロードすることです。この時点で、あなたはそれを手に入れruby、gemそして実験を始めることができます。
実際、CyanogenModを変更して空の「/ bin、/ lib、/ usr、/ var、/ svr、/ home、/ mediaなど」を作成し、「$ {source_root} / system / core / include / private」を変更しました/android_filesystem_config.h "ディレクトリのルールを含め、外部sdcardを変更して、ヒューズとして、またはスティッキービットセットでマウントされないようにし(root:sdcard_rwの所有権をすべてのファイルに設定します)、起動後に実行しました外部sdcardのLinuxアームルートディレクトリをAndroidのルートの空のバージョンにマウントするスクリプト。glibcの埋め込みバージョンは、私が作成したKali Linux armhf chrootイメージで使用されましたが、ルビまたはメタスプロイトはありませんでした。だから私はsvnか何かでruby 1.9.3をコンパイルすることについていくつかの指示に従い、それを使ってmetasploitをインストールしました、唯一のことはpostgresqlがしなかったことです ソケットとファイルの作成は非常に権限に敏感であり、ソケットが関係している可能性があるため、機能しますが、postgresデータベースはまだ別のホストのデータベースに接続する必要がありません。Apache2が機能し、/ etc / init.d / apache2の起動とビオラ「It Works!」全体を実行しました あなたがそれを見たならば、あなたはそれを知っています。
つまり、簡単に言えば、Androidでrubyやその他の多くのプログラムをコンパイルできます。glibcは、Linuxの/ libディレクトリとコンテンツで利用できる必要があります。
補足として、2GBのRAMを搭載したGalaxy S III Sprintを使用しました。Pythonはうまく機能し、PythonでUnixソケットの実験を開始しました。/sdcardに接続されていますが、メタスプロイトを取得してAndroidで動作するデータベースを操作する前に、ソケットとデータベースの作成に関するAndroidのセキュリティポリシーについて詳しく知る必要があります。 + glibc。