SL4A-クイックガイド
AndroidはLinuxベースのオペレーティングシステムであり、主にスマートフォンやタブレットなどのポータブルデバイス向けに設計されています。Androidは単なるオペレーティングシステムではありません。これは、ユーザー、開発者、メーカーに多くの機能を提供するソフトウェアスタックです。
Android版 | 特徴 |
---|---|
Android(アルファ)1.0 | Androidの最初のバージョン |
Android 1.5(カップケーキ) | 自動回転オプションを追加し、Webブラウザにコピーアンドペースト機能を追加しました |
Android 1.6(ドーナツ) | 音声検索と検索ボックスが追加されました |
Android 2.0 / 2.1(エクレア) | Bluetooth2.1のサポート |
Android 2.2 / 2.2.3(フローズンヨーグルト) | Adobe Flash10.1のサポート |
Android 2.3 / 2.3.7(ジンジャーブレッド) | インターネット通話、ワンタッチの単語選択、コピー/貼り付け |
Android 3.0 / 3.2.6(Honeycomb) | このバージョンはタブレットでのみ利用可能です。機能には、マルチコアプロセッサのサポート、すべてのユーザーデータを暗号化する機能が含まれます |
Android 4.0 / 4.0.4(アイスクリームサンドイッチ) | UIの仮想ボタン、バックグラウンドでデータを使用しているアプリをシャットダウンする機能 |
Android 4.1 / 4.3.1(Jelly Bean) | Linuxカーネル3.0.31に基づいていますか?よりスムーズなユーザーインターフェース、Androidビーム用のBluetoothデータ転送 |
Android 4.4 / 4.4.4,4.4W / 4.4W.2(キットカット) | クラウドストレージ、内蔵センサー、ロックアートスクリーンとの統合 |
Android 5.0 / 5.1.1(ロリポップ) | RAMとバッテリーの管理の改善、アプリの突然の閉鎖の修正、ワイヤレス接続の問題、通知など。 |
オープンソースでビジネスに優しいです。ユーザーは、組み込みアプリケーションを選択したアプリケーションに置き換えることを選択できます。Androidの多くのバージョンは、最初のリリース以降にリリースされています。
Androidソフトウェアスタックはさまざまなレイヤーで構成されており、各レイヤーは明確に定義された動作を示し、その上のレイヤーに特定のサービスを提供します。次の図は、Androidの幅広いアーキテクチャとその主要コンポーネントを示しています。
Linuxカーネル
Androidは、従来のLinuxシステムとは異なり、組み込みシステムで実行するように変更されたLinuxカーネルコードに基づいて構築されています。多くの一般的なデバイスのハードウェアドライバーがカーネルに組み込まれているため、デバイスの移植性が保証されます。これは、安全なユーザーベースのアクセス許可モデルに基づいており、あるアプリケーションが別のアプリケーションの情報を読み取ったり、その実行(CPU、メモリ、デバイスなど)を妨害したりするのを防ぎます。
ネットワークおよびBluetooth機能、ロガー、アラーム、電源管理、低メモリキラー、バインダーIPCメカニズムへのグループIDベースのアクセスは、カーネルのいくつかの注目すべき拡張機能です。
ライブラリとランタイム
これは、アーキテクチャの第2層を形成します。これには、ハードウェアに最適化されたC、C ++ライブラリのセットが含まれており、ネイティブレイヤーとも呼ばれます。例としては、メディアライブラリ、SQLite、SSL、Bionic、WebKitなどがあります。
Androidランタイムは、DalvikVMとコアライブラリの2つの異なるコンポーネントで構成されています。Dalvik VMは、Androidプラットフォーム上のアプリケーションの実行環境を提供します。コアライブラリのセットは、JavaAPIで利用可能なほとんどの機能を提供します。
アプリケーションフレームワーク
このレイヤーは、ライブラリをアプリケーションへのサービスとして利用できるようにします。このレイヤー内の最も重要なコンポーネントには、Location Manager、Resource Manager、Activity Manager、NotificationManagerが含まれます。
アプリケーション
デフォルトでは、Androidには、ブラウザ、SMSプログラム、カレンダー、連絡先管理ツール、地図などの豊富なアプリケーションセットが付属しています。ユーザーが希望する場合、GooglePlayはこれらのアプリケーションの代替手段を提供します。
ビルディングブロック
アプリケーションは、4つの機能ブロックを使用してシステムとインターフェースできます。それらは次のとおりです-
Activities−アクティビティは、ユーザーが視覚的に表示または操作する単一の画面を表します。たとえば、電子メールアプリには、新しい電子メールのリストを表示する1つのアクティビティ、電子メールを作成するための別のアクティビティ、および電子メールを読むための別のアクティビティがある場合があります。
Services−処理の大部分は、アプリケーションのこれらのサービスによって実行されます。これは、ユーザーインターフェイスの背後にあるロジックです。たとえば、サービスは、ユーザーが別のアプリを使用しているときにバックグラウンドで音楽を再生したり、ユーザーのアクティビティとのやり取りをブロックせずにネットワーク経由でデータをフェッチしたりする場合があります。
Broadcast Receivers−システムまたはアプリケーションのイベントをリッスンし、それらに関する通知を発行するために登録できるコンポーネント。システムから発信されたブロードキャストのインスタンスは 'low battery notification'アプリケーションレベルのブロードキャストは'download successful' お知らせ。
Content Providers−コンテンツプロバイダーは、複数のアプリケーション間でデータを管理および共有するのを支援します。たとえば、コンテンツプロバイダーを使用して連絡先データを共有することができます。
これらのコンポーネントは、 Intents。
Androidスクリプトは、Javaプログラミング言語を使用するのではなく、自動化やプロトタイピングなどの単純なタスクに便利なツールです。Android用スクリプトレイヤー(SL4A)は、Androidプラットフォーム上の複数のスクリプトソリューション用のプラットフォームを提供します。
SL4Aとは何ですか?
Android用スクリプトレイヤー(SL4A)は、JAVA以外の言語を使用してAndroidデバイス上のタスクを自動化するための簡単なスクリプトを作成するためのプラットフォームを提供するライブラリです。
もともとAndroidScripting Environment(ASE)と呼ばれていたSL4Aは、2009年6月にGoogleオープンソースブログで最初に発表されました。このプロジェクトは、主にDamon Kohlerの努力によって日の目を見て、他の開発者の貢献によって成長しました。
最も一般的なスクリプト言語をサポートしています。これらには以下が含まれます-
- Beanshell 2.0b4
- JRuby 1.4
- Lua 5.1.4
- Perl 5.10.1
- PHP 5.3.3
- Python
- Rhino 1.7R2
- Javascript
- TCL
SL4Aが選ばれる理由–スクリプト言語とJAVA
おそらく最初に尋ねる質問の1つは、「Why use SL4A instead of Java?」
まず、誰もがJavaのファンであるとは限りません。スクリプト言語は、Javaと比較して簡単なプログラミング環境を提供します。
次に、この言語では、編集/コンパイル/実行の設計ループを使用する必要があります。つまり、変更が必要になるたびに、アプリケーションを編集、再コンパイルして実行します。それどころか、スクリプトはその場で解釈および実行されます。さらに、SL4Aを使用すると、多くの場合、デスクトップ環境用に記述されたコードを再利用することもできます。
次の図は、それぞれSL4AとJavaを対象とするPythonで記述されたスクリプトを示しています。
SL4Aには3つの主要なコンポーネントがあります。それらは次のとおりです-
- スクリプトインタプリタ
- AndroidRPCクライアント
- Facades
この章では、これら3つのコンポーネントについて詳しく説明します。
スクリプトインタプリタ
SL4Aはスクリプトホストとして機能します。Python、Ruby、Lua、BeanShell、JavaScript、TCLなどの多くのスクリプト言語をサポートしています。SL4Aは、そのスクリプト言語用の新しいSL4Aインタープリターを開発することにより、新しいスクリプト言語を動的に組み込むことによって拡張できます。
各スクリプトは、独自のインタープリターインスタンスで実行されます。したがって、複数のスクリプトを相互に影響を与えることなく同時に実行できます。
AndroidRPCクライアント
インタープリターインスタンス内で実行されているスクリプトは、AndroidプロキシRPCクライアントを介してSL4Aアプリケーションと通信します。クライアントは確立しますRemote Procedure Call (RPC)SL4Aに接続し、スクリプトがAndroidフレームワークと対話できるようにします。SL4Aファサードは、この通信を容易にします。データは次のように送信されますJSON ペイロード。
Android RPCクライアントは、サポートされているすべてのスクリプト言語に対応しています。クライアントモジュールは、SL4AWebサイトから入手できます。https://code.google.com。
ファサード
ファサードは、基盤となるAndroidAPIへのスクリプトのアクセスを簡素化します。SL4Aは、AndroidFacade、BluetoothFacade、ActivityManagerFacade、CommonIntentsFacadeなどの広範なファサードセットを介してAndroid FrameworkAPIをスクリプトに公開します。
SL4A機能は、カメラ、ロケーション、バッテリーマネージャー、メディアプレーヤー、メディアレコーダーなどの豊富な機能のバスケットを提供します。
SL4Aの使用
SL4Aシステムは、次の種類のタスクに適しています-
RAD programming− SL4Aを使用すると、Rapid Application Development(RAD)アプローチを使用して、プロトタイプアプリケーションをすばやく作成できます。アイデアの実現可能性が確認できれば、本格的なAndroidアプリケーションを作成できます。
Test scripts −テストスクリプトの作成に使用できます。
Building Utilities − SL4Aを使用して、小さなタスクを実行したり、反復タスクの特定の側面を自動化したりするユーティリティスクリプトまたはツールを構築できます。
Pythonには標準ライブラリがあり、これらのコードを簡単にコーディングして再利用するのに役立つさまざまなルーチンが含まれています。AModule は、変数の定義と関連するルーチンまたは関数のセットを含むPythonファイルです。
コアのいくつか Modules Pythonライブラリが提供するものは次のとおりです-
Built-in Functions and Exceptions− Pythonは、起動時にこれら両方のモジュールをインポートし、それらのコンテンツをすべてのプログラムで利用できるようにします。組み込みモジュールは、次のような組み込み関数を定義します。len, int, range、exceptionsモジュールは、すべての組み込み例外を定義します。
Operating System Interface Modules − OSモジュールは、スクリプトを介してOSレベルの操作を実行できるようにする機能を利用可能にします。
Type Support Modules−タイプサポートモジュールには文字列モジュールが含まれます-実装するには、一般的に使用される文字列操作。数学モジュールは、数学演算などを提供します。
Regular Expressions−正規表現は、特定の構文で記述された文字列パターンであり、文字列または部分文字列を照合または抽出するために使用できます。reモジュールは、Pythonの正規表現サポートを提供します。
Language Support Modules− sysモジュールを使用すると、モジュールの検索パスやインタープリターのバージョンなど、さまざまなインタープリター変数にアクセスできます。演算子モジュールは、多くの組み込み演算子と同等の機能を提供します。コピーモジュールを使用すると、オブジェクトをコピーできます。最後に、gcモジュールを使用すると、Python2.0のガベージコレクタ機能をより細かく制御できます。
JSONについて
JavaScript Object Notation(JSON)は、データ交換形式です。多くのプログラミング言語はJSONをサポートしていますが、Webサイトやブラウザー拡張機能などのJavaScriptベースのアプリに特に役立ちます。JSONは、数値、ブール値、文字列、null、配列(値の順序付けられたシーケンス)、およびこれらの値(または他の配列とオブジェクト)で構成されるオブジェクト(文字列と値のマッピング)を表すことができます。
この章では、開発環境をセットアップする手順について詳しく説明します。また、SL4Aを使用するようにデバイスを構成する方法についても説明します。
開発環境
SL4Aでの開発を開始する前に、いくつかの前提条件をダウンロードしてインストールする必要があります。
Java Development Kit(JDK)
まず、システムに最新バージョンのJDK(JDK 5以降)がインストールされている必要があります。
インストールされている互換性のあるバージョンのJDKが環境で使用可能であることを確認するには、コマンドラインまたはコンソール端末で次のように実行します。
$javac –version $java –version
Note −PATH環境変数をjdk / binフォルダーに設定します
Python
PythonはデフォルトでMacOSXとLinuxにインストールされている可能性があります。デフォルトでは、WindowsOSにはPythonがインストールされていません。Pythonはからダウンロードできますhttp://python.org。
インストールしたら、Windowsパスを変更してPythonディレクトリを追加します。
Pythonがシステムにインストールされているかどうかを確認するには、ターミナルウィンドウを開いてPythonと入力します。
Android.pyファイル
ダウンロードする必要がある唯一の追加ファイルは、 android.pyファイル。このファイルのコピーをPythonインストールディレクトリの/ Lib / site-packagesに含めます。このファイルには、Android開発用のPythonモジュールが含まれています。
Android SDK
多くのツールが付属しています Android SDK。最初のステップは、オペレーティングシステムに適切なインストールファイルをダウンロードすることです。Mac OS X、Linux、Windows用のインストーラーが利用可能です。SDKインストーラーは次の場所にあります。https://developer.android.com/sdk。
ここで説明する開発環境はWindowsです。Googleは、WindowsにSDKをインストールするためのzipファイルと実行可能ファイルを提供しています。
開発マシンへのEclipseのインストール
Eclipseは、Java言語で記述された拡張可能な統合開発環境(IDE)として開発されました。動作するにはJavaのインストールが必要です。Eclipseには、クラシック、ガレリオ、ルノ、火星、ネオンなど、さまざまなフレーバーがあります。
単一の.zipファイルで配布されます。あなたがしなければならないのは、プログラムの内容を開梱することです。解凍したフォルダーにはEclipse.exeファイルがあります。ファイルをダブルクリックしてプログラムを開始します。
SL4Aのインストール
場合によっては、デバイス上でスクリプトを記述して実行したいことがあります。Android用のスクリプトレイヤーは、同じことを実現するのに役立ちます。SL4Aをデバイスにインストールするには、以下の手順に従います。
ダウンロード SL4A.apk デバイス上のファイル。
を起動します .apk 通知画面からファイル。
選択する Install 次の画面で実際にSL4Aをインストールします。
または、Androidデバイスではなくエミュレーターを使用する場合は、エミュレーター内のブラウザーを使用してSL4Aをインストールします。デバイスへのSL4Aインストールの初期画面を以下に示します。
Pythonインタープリターの追加
Pythonインタープリターをデバイスにインストールするには、以下の手順に従います-
Step 1 −SL4Aアプリケーションを起動します。
Step 2 −をクリックします Menu ボタン。
Step 3−オプションのリストが表示されます。選択するView。
Step 4 −を選択します Interpreterダイアログボックスのオプション。クリックAdd。
Step 5−ダウンロード可能な通訳者のリストが表示されます。選択するPython 2.62 (またはそれ以上)。
エミュレーターにPythonインタープリターをインストールするには、以下の手順に従います。
Step 1 −エミュレータがバックグラウンドで実行されていることを確認します。
Step 2 −python_for_android_rx.apkをダウンロードします。
Step 3 −ターミナルコマンドラインシェルで、apkファイルが保存されている場所に移動し、コマンドラインで次のように入力します−
adb install python_for_android_rx.apk
SL4Aは、複数の言語のスクリプトエンジンをサポートしています。いくつかの言語固有のapkファイルのリストを以下に示します-
- beanshell_for_android_rx.apk
- jruby_for_android_rx.apk
- lua_for_android_rx.apk
- perl_for_android_rx.apk
- python_for_android_rx.apk
- rhino_for_android_rx.apk
WindowsOSへの接続
Step 1 −Windows用のUSBドライバをダウンロードしてインストールします。
Step 2 −デバイスをセットアップします−
デバイスのすべてのアプリ画面からSL4Aを起動します。
をタップします Menu ボタン→ View。
リストから通訳を選択します。
をタップします Menu ボタン→ Start Server。
選択する Public (Wi-Fi経由で接続するため)または Private(USB経由で接続するため)。
Step 3 −環境変数(ユーザー変数)を追加します AP_PORT と価値 9999。
Android SDKとEclipseについては、以降の章で説明します。
開発者がAndroidプラットフォーム用のアプリケーションを作成できるようにするソフトウェア開発キット。Android SDKには、ソースコード、開発ツール、エミュレーター、およびAndroidアプリケーションを構築するために必要なライブラリを含むサンプルプロジェクトが含まれています。この章では、Android SDKと、それを使用してSL4Aを対象とするコードを開発する方法について説明します。
SDKコンポーネント
Android SDKをインストールしたディレクトリツリーには、ドキュメント、サンプルコード、および多数のツールを含むフォルダのリストが含まれています。toolsサブディレクトリに移動すると、多数の実行可能ファイルが表示されます。
以下では、AndroidSDK内のいくつかの重要なコンポーネントについて説明します。
SDKマネージャー
Android SDK Managerは、SDKツール、プラットフォーム、およびその他のコンポーネントをパッケージに分割して、アクセスと管理を容易にします。SDKは、新規または更新されたSDKパッケージとアドオンツールをチェックするように構成できます。
デフォルトでは、AndroidStudioはAndroidSDKの更新をチェックしません。AndroidSDKの自動チェックを有効にするには-
Step 1 −選択 File → Settings → Appearance & Behavior → System Settings → Updates。
Step 2 −チェックしてください Automatically check updates for Android SDK チェックボックスをオンにして、更新チャネルを選択します。
Step 3 −クリック OK または Apply 更新チェックを有効にします。
[SDK更新サイト]タブには、AndroidStudioがAndroidSDKおよびサードパーティの更新を確認するサイトが表示されます。独自のAndroidSDKアドオンをホストする他のサイトを追加し、それらのサイトからSDKアドオンをダウンロードできます。
Androidエミュレーター
ザ・ AVD ManagerAndroidエミュレーターに必要なAndroid仮想デバイス(AVD)を作成および管理できるグラフィカルユーザーインターフェイスを提供します。Android仮想デバイス(AVD)は、エミュレーターに必要な構成や仮想ストレージを含む多数のファイルで構成されています。さまざまなデバイスをシミュレートするために、必要な数のAVDを作成できます。
次の手順を使用して、EclipseでAVDを作成できます-
Step 1 −選択 Window → AVD Manager。
Step 2 −クリック New。
Step 3 − AVDの名前を入力し、ターゲットを選択して、他の機能の値を指定します。
Step 4 −クリック Create AVD。
キーボードを備えたデバイスの場合、ホストキーボードからデバイス上のアクションへのマッピングの標準セットがあります。デフォルトEmulator key mappings は−
エミュレータキー | ホストデバイスでのマッピング |
---|---|
BUTTON_CALL | F3 |
BUTTON_HANGUP | F4 |
BUTTON_HOME | ホーム |
BUTTON_BACK | 逃れる |
BUTTON_MENU | F2、PageUp |
BUTTON_STAR | Shift + F2、PageDown |
BUTTON_POWER | F7 |
BUTTON_SEARCH | F5 |
BUTTON_CAMERA | Ctrl + Keypad_5、Ctrl + F3 |
BUTTON_VOLUME_UP | Keypad_Plus、Ctrl + F5 |
BUTTON_VOLUME_DOWN | Keypad_Minus、Ctrl + F6 |
TOGGLE_NETWORK | F8 |
TOGGLE_TRACING | F9 |
フルスクリーン切り替え | Alt-Enter |
BUTTON_DPAD_CENTER | Keypad_5 |
BUTTON_DPAD_UP | Keypad_8 |
BUTTON_DPAD_LEFT | Keypad_4 |
BUTTON_DPAD_RIGHT | キーパッド_6 |
BUTTON_DPAD_DOWN | キーパッド_2 |
TOGGLE_TRACKBALL | F6 |
SHOW_TRACKBALL | 削除 |
CHANGE_LAYOUT_PREV | Keypad_7、Ctrl + F11 |
CHANGE_LAYOUT_NEXT | Keypad_9、Ctrl + F12 |
ONION_ALPHA_UP | Keypad_Multiply |
ONION_ALPHA_DOWN | Keypad_Divide |
これらの設定を変更するには、 default.keyset 内のファイル。android サブディレクトリ。
Androidデバッグブリッジ
ADB(Android Debug Bridge)は、GoogleのAndroidSDKに含まれているコマンドラインユーティリティです。ADBは、コンピューターからUSB経由でデバイスを制御したり、ファイルを前後にコピーしたり、アプリをインストールおよびアンインストールしたり、シェルコマンドを実行したりできます。
エミュレーターを実行していて実際のデバイスが接続されている場合は、ADBコマンドを実際のデバイスに送信する場所を指定する必要があります。オプション-を使用します。 dエミュレーターの場合は、–eを使用します。以下は、ADBのフラグとコマンドのリストです。
S.No. | ADBフラグと説明 |
---|---|
1 | -d 接続されている唯一のUSBデバイスにデバイスを転送します。複数のUSBデバイスが接続されている場合はエラーを返します。 |
2 | -e 実行中の唯一のエミュレーターにコマンドを送信します。複数のエミュレータが実行されている場合はエラーを返します。 |
3 | -s <serial_number> 指定されたシリアル番号でUSBデバイスまたはエミュレーターにコマンドを送信します。 |
4 | devices 接続されているすべてのデバイスを一覧表示 |
5 | connect <host>:<port> TCP / IP経由でデバイスに接続する |
6 | disconnect <host>:<port> TCP / IPデバイスから切断します |
S.No. | ADBコマンドと説明 |
---|---|
1 | adb push <local> <remote> ファイル/ディレクトリをデバイスにコピーします |
2 | adb pull <remote> [<local>] デバイスからファイル/ディレクトリをコピーします |
3 | adb sync [<directory>] <directory>が指定されていない場合、/ systemパーティションと/ dataパーティションの両方が更新されます。「システム」または「データ」の場合、対応するパーティションのみが更新されます。 |
4 | adb shell リモートシェルをインタラクティブに実行する |
5 | adb emu <command> エミュレータコンソールコマンドを実行する |
6 | adb logcat デバイスログを表示する |
7 | adb forward <local> <remote> フォワードソケット接続 |
8 | adb install [-l] [-r] [-s] <file> このパッケージファイルをデバイスにプッシュしてインストールします。(-lアプリをフォワードロック) (-rデータを保持したまま、アプリを再インストールします) (-sは内部ストレージではなくSDカードにインストールします) |
9 | adb uninstall [-k] <package> このアプリパッケージをデバイスから削除します。-kは、データとキャッシュディレクトリを保持することを意味します |
10 | adb bugreport バグレポートに含める必要があるデバイスからのすべての情報を返します。 |
11 | adb help このヘルプメッセージを表示する |
12 | adb version バージョン番号を表示する |
シェル
シェルは、ユーザーからのキーボード入力をリッスンし、ユーザーの指示に従ってアクションを実行するプログラムです。ザ・adbshell commandは、エミュレータまたは接続されたデバイスにシェルコマンドを送信し、結果を表示するためのUnixを提供します。また、インタラクティブシェルをローカルで起動するために使用することもできます。
リモートシェルを入力せずに単一のコマンドを発行するには、次のようなシェルコマンドを使用します-
adb [-d|-e|-s <serialNumber>] shell <shell_command>
または、エミュレーター/デバイスでリモートシェルに入る-
adb [-d|-e|-s <serialNumber>] shell
リモートシェルを終了する準備ができたら、を押します CTRL+D またはタイプ EXIT。
Dalvikデバッグモニターサービス
Androidには、デバッグツールであるDalvik Debug Monitor Service(DDMS)が付属しています。このツールは、ポート転送サービス、デバイスでの画面キャプチャ、着信コール、SMSスプーフィングなどの追加サービスを提供します。
DDMSが起動すると、に接続します adb。デバイスが接続されると、VM監視サービスがadbとDDMSの間に作成されます。このサービスは、デバイス上のVMが開始または終了したときにDDMSに通知します。
VMの実行が開始されると、そのプロセスIDが経由でDDMSに送信されます。 adb そしてその adbデーモンは、VMのデバッガーへの接続を開きます。DDMSは、カスタムワイヤプロトコルを使用してVMと通信できるようになりました。
この章では、Eclipse IDEの基本と、Android用のPythonスクリプトを開発するためのEclipseIDEの構成について説明します。
日食の基本
Eclipseは、多くの機能とオプションを備えたアプリケーションです。プログラムを初めて起動すると、ウェルカム画面が表示されます。Eclipseは、プログラムのさまざまな機能と操作に対処するために、いくつかの基本的な概念と用語を使用しています。
これらの用語のいくつかはここで説明されています-
Workbench−Eclipseアプリケーションのウィンドウ全体を識別します。複数の子ウィンドウが含まれ、各ウィンドウには複数のタブが含まれます。
Workspace −Eclipseを使用して作成されたプロジェクトが保存されるシステムのファイルシステム上の場所を指します。
Perspective−メニューとウィンドウを一度に開くのは個人的な好みです。Eclipseには、コードの記述、デバッグなど、一般的な使用法用に構成された多くのパースペクティブがあります。アクティビティが変更されたときに、別のパースペクティブに切り替えることもできます。パースペクティブもカスタマイズ可能です。
Eclipse用プラグインのインストール
SL4Aアプリケーションを開発できるようにEclipseを構成する必要があります。前提条件がホストに正常にインストールされたら、Eclipse用の次のプラグインを追加する必要があります-
Eclipse用のADTプラグイン(で入手可能 http://dl-ssl.google.com/android/eclipse/ )
Eclipse用のPythonプラグイン(で入手可能 http://pydev.org/updates )
次の手順を使用して、Eclipseにプラグインをインストールできます-
Step 1 −クリック Help。
Step 2 −選択 Install New Software。
Step 3 −クリック Add。
Step 4−プラグインにアクセスするための名前とURLを指定します。クリックOK。
Step 5 −すべてのツールを選択し、をクリックします Next。プラグインのインストールが開始されます
EclipseのPythonインタープリター
与えられた手順に従って、EclipseでPythonインタープリターを構成します。
Step 1 −選択 Windows → Preferences。
Step 2 −に移動 PyDev → Interpreter → Python。
Step 3 −をクリックします New ボタン。
Step 4−インタプリタの名前を指定します。[場所]フィールドに、python.exeへのパスを入力します。例:C:\ Python26 \ python.exe
Step 5 −クリック OK。
SL4Aは、基盤となるAndroidAPIと通信するためのファサードデザインパターンに基づいています。この章では、ファサードデザインパターンとさまざまなSL4AAPIファサードの動作について説明します。
ファサードデザインパターンとは何ですか?
ファサードは、アプリケーション内の関連するインターフェイスへのアクセスを簡素化するインターフェイスを提供するオブジェクトです。言い換えると、ファサードはライブラリの動作をクライアントから隔離し、各サブシステムレベルへのエントリポイントとして機能します。したがって、クライアントはファサードを介してのみ通信します。次の図は同じことを説明しています。
SL4AおよびAndroidAPIファサード
SL4Aは、サポートする各言語のインタープリターをホストします。インタプリタは、ファサードと呼ばれるインターフェースを介して、基盤となるAndroidAPIにアクセスします。
次の表に、トップレベルのファサードとそれらが提供する機能を示します。
S.No. | AndroidAPIのファサードと説明 |
---|---|
1 | ActivityResultFacade スクリプトが情報をアクティビティとして返す方法を設定します。このメソッドは、スクリプトが何らかの結果を返すことを意味します。結果タイプは、RESULT_CANCELED(0)またはRESULT_OK(-1)のいずれかに設定できます。 |
2 | AndroidFacade 入力の読み取り、通知、アプリケーションコンポーネントの起動などの一般的なAndroid機能へのアクセスを提供します。 |
3 | ApplicationManagerFacade 使用可能な実行中のパッケージをすべて一覧表示し、アクティビティを起動し、タスクマネージャーを作成するか、特定のパッケージセットを終了します。 |
4 | BatteryManagerFacade バッテリーマネージャーを公開し、バッテリーの状態、状態、タイプレベル、電圧などを追跡できるようにします。 |
5 | BluetoothFacade 基本的な接続機能からASCIIデータとバイナリデータの両方の送受信まで、Bluetooth機能へのアクセスを提供します。このファサードには、少なくともAPIレベル5が必要です。 |
6 | CameraFacade このメソッドは、すべてのカメラ関連機能へのアクセスを提供します。デバイスのカメラを使用して写真を撮り、指定したパスに保存できます。それは2つの機能、すなわちcameraCapturePictureとcameraInteractiveCapturePictureを提供します。これらの機能は、デバイスの背面にあるレンズを使用するためのものです。 |
7 | CommonIntentsFacade 連絡先のリストを開く、地図検索を行う、アクションごとにアクティビティを開始するなど、一般的なAndroidインテントへのアクセスを提供します。 |
8 | ContactsFacade 連絡先を選択するための連絡先リストの提供、属性による連絡先リストのクエリ、IDと属性を持つすべての連絡先のリストの取得などの連絡先へのアクセスを許可します。ファサードによって提供されるいくつかのメソッドには、contactsGet、pickContact、contactsGetByIdなどが含まれます。 |
9 | EventFacade Android OSは、アプリケーション間で情報を非同期的に渡すためのイベントキューを維持します。このファサードは、既存のイベントのクリア、新しいイベントの投稿、ブロードキャスト信号の一覧表示、登録、登録解除などのイベントキューを管理する機能を提供します。メソッドの例には、eventPost、eventClearBufferなどがあります。 |
10 | EyesFreeFacade APIレベル4未満のデバイスで使用できます。これにより、スクリプトはテキスト読み上げテクノロジーを使用して話すことができます。このファサードは、TextToSpeechFacadeに置き換えられました。使用可能な関数はttsSpeakのみです。 |
11 | LocationFacade GPSまたは現在使用しているセルタワーの情報を使用して現在地を追跡できる機能を提供します。この機能を使用するには、実際のルックアップを実行するためにアクティブなインターネット接続が必要です。ファサードは、getLastKnownLocation、startLocating、stopLocating、readLocationなどのメソッドを提供します。 |
12 | MediaPlayerFacade メディアファイルの再生、メディアプレーヤーの制御、メディアプレーヤーの現在のステータスの照会、およびメディアファイルに関する情報の取得を許可します。mediaIsPlaying、mediaPlayInfo、mediaPlayListは、メディアプレーヤーの現在の状態を返します。startActivity関数を呼び出すと、メディアプレーヤーが起動します。mediaPlay、mediaPlayPause、mediaPlayClose、mediaPlaySeek、mediaPlayStart、mediaPlaySetLoopingなどの機能は、メディアプレーヤーを制御するために使用されます。 |
13 | MediaRecorderFacade このファサードは、オーディオおよびビデオの記録機能を提供します。startInteractiveVideoRecording、recorderStartMicrophone、recorderCaptureVideo関数は、それぞれオーディオ/ビデオ録画を起動および開始するために使用されます。以前に開始した録音を終了するには、recorderStop関数を呼び出します。 |
14 | PhoneFacade 電話の状態の追跡、ローミングステータス、通話の開始、SIM情報などの基本的な電話操作をプログラムで利用できるようにします。メソッドの例には、phoneCallNumber、phoneDialNumber、getCellLocationなどがあります。 |
15 | PreferencesFacade 既存の設定のリストの取得や、新しい設定の読み取り、変更、追加などの共有設定へのアクセスを許可します。SL4A r4リリースでサポートされている関数は、prefGetAll、prefGetValue、およびprefPutValueの3つです。 |
16 | SensorManagerFacade 光、加速度、磁場、向きなどのセンサーデータを追跡できます。センシングを開始/停止するには、startSensing(廃止され、SL4r4によってstartSensingThresholdおよびstartSensingTimedに置き換えられました)およびstopSensing関数呼び出しを使用します。readSensors、sensorsGetLight、sensorsReadAccelerometer、sensorsReadMagnetometer、sensorsReadOrientationは、このファサードによって提供される関数です。 |
17 | SettingsFacade 呼び出し音の音量、画面の明るさ、機内モード、バイブレーション、メディアの音量など、さまざまな電話設定へのアクセスを提供します。このファサードが提供する機能は、checkAirplaneMode、checkRingersilentMode、checkScreenOn(少なくともAPIレベル7)、getVibrateMode、setScreenTimeout、toggleVibrateModesetRingerVolumeなどです。 |
18 | SignalStrengthFacade 電話の信号強度を監視できます。startTrackingSignalStrengths関数を呼び出して、データの収集を開始します。readSignalStrengths関数を呼び出して、データの収集を開始します。プロセスをシャットダウンするには、stoptrackingSignalStrengths関数を呼び出します。少なくともAPIレベル7が必要です。 |
19 | SmsFacade SMSメッセージの削除、読み取り、マーキング、送信の機能があります。このファサードによって提供される関数の例には、smsMarkMessageRead、smsDeleteMessage、smsSendなどがあります。 |
20 | SpeechRecognitionFacade スクリプトに音声認識機能を追加できるようにします。これには、recognizeSpeechという名前の関数が1つだけあります。 |
21 | TextToSpeechFacade API4以降のTTSサービスを提供します。デバイスに発言させるには、ttsSpeak関数を使用します。話す機能が完了したかどうかを判断するには、ttsIsSpeaking関数を使用します。 |
22 | ToneGeneratorFacade 指定されたディジットのDTMFトーンを生成します。これを使用するには、generateDtmfTones関数を呼び出す必要があります。 |
23 | UiFacade テキストボックス、チェックボックス、日付ピッカーなどのユーザーインターフェイス要素を作成するための関数を提供します。また、HTMLページのインタラクティブな使用を可能にします。 |
24 | WakeLockFacade wakeLockAcquireBright、wakeLockAcquireDim、wakeLockAcquireFull、wakelockAcquirePartialなどのウェイクロックを作成するための関数を提供します。 |
25 | WebCamFacade このファサードには、少なくともAPIレベル8が必要です。これにより、正面のデバイスカメラからネットワークにMJPEGストリームをストリーミングできます。Webカメラを開始/停止するには、それぞれwebcamStart関数とwebcamStop関数を使用します。ストリーミング中にビデオの品質を調整するには、webcamAdjustQuality関数を使用します。 |
26 | WifiFacade デバイスのWi-Fi無線を制御するのに役立ちます。これにより、スクリプトはWi-Fi接続のステータスを照会し、アクセスポイントを検索し、WiFiネットワークに接続および切断し、スクリプトの実行中にWi-Fiロックを保持できます。 |
参照 https://code.google.comこれらのファサードによって提供されるメソッドの完全なリストについては。以降の章では、AndroidFaçadeAPI関数を使用してユーティリティを作成する方法を説明します。
グラフィカルユーザーインターフェイス(GUI)は、ユーザーがアプリケーションの機能を参照、アクセス、および操作できるようにする一連のグラフィカルコンポーネントを表します。
SL4Aとのユーザーインタラクションには2つの基本的なアプローチがあります。
などのダイアログボックス Alerts。
HTMLとJavaScriptを使用してUIを構築し、舞台裏でPythonを使用して追加の処理を処理します。
この章では、両方のアプローチについて説明します。
Pythonダイアログボックス–ベースのGUI
SL4Aには、AndroidAPIによって提供される基本的なUI要素にアクセスするためのUIファサードが含まれています。これらの関数は、呼び出されると、名前付きタプルとして結果オブジェクトを返します。各結果には、追跡のために一意のIDが割り当てられます。2番目の要素は結果です。これは、ユーザーの入力を表します。タプルには、発生した可能性のあるエラー状態について呼び出し元にフィードバックを提供するための3番目の要素エラーも含まれています。エラーが発生しなかった場合、この要素は「なし」に設定されます。
S.No. | UiFacadeの機能と説明 |
---|---|
1 | dialogGetInput テキスト入力についてユーザーに問い合わせます。 title (String) 入力ボックスのタイトル(デフォルト=値) message (String) 入力ボックスの上に表示するメッセージ(デフォルト=値を入力してください:) defaultText (String) 入力ボックスに挿入するテキスト(オプション) 結果はユーザーの入力であり、キャンセルがヒットした場合はNone(null)です。 |
2 | dialogShow ダイアログを表示 |
3 | dialogCreateAlert アラートダイアログを作成します。 title (String)(オプション) message (String) (オプション) |
4 | dialogDismiss ダイアログを閉じる。 |
5 | dialogCreateDatePicker 日付ピッカーダイアログを作成します。 year (Integer) (デフォルト= 1970) month (Integer) (デフォルト= 1) day (Integer) (デフォルト= 1) |
6 | dialogCreateTimePicker タイムピッカーダイアログを作成します。 hour (Integer) (デフォルト= 0) minute (Integer) (デフォルト= 0) is24hour (Boolean) 24時間制を使用する(デフォルト= false) |
7 | dialogGetPassword ユーザーにパスワードを問い合わせます。 title (String) パスワードボックスのタイトル(デフォルト=パスワード) message (String) 入力ボックスの上に表示するメッセージ(デフォルト=パスワードを入力してください:) |
8 | dialogGetResponse ダイアログの応答を返します。 |
9 | dialogSetPositiveButtonText アラートダイアログのポジティブボタンのテキストを設定します。テキスト(文字列) |
10 | dialogSetNegativeButtonText アラートダイアログボタンのテキストを設定します。テキスト(文字列) |
11 | dialogSetNeutralButtonText アラートダイアログボタンのテキストを設定します。テキスト(文字列) |
12 | dialogSetSingleChoiceItems これにより、ラジオボタンのリストが作成されます。 |
13 | dialogSetMultiChoiceItems これにより、チェックボックスが作成されます |
14 | dialogCreateHorizontalProgress 水平進行ダイアログを作成します。 title (String) (オプション) message (String) (オプション) maximum progress (Integer) (デフォルト= 100) |
15 | dialogCreateSpinnerProgress スピナーの進行状況ダイアログを作成します。 title (String) (オプション) message (String) (オプション) maximum progress (Integer) (デフォルト= 100) |
16 | addContexMenuItem コンテキストメニューに新しい項目を追加します。 label (String) このメニュー項目のラベル event (String) メニュー項目のクリックで生成されるイベント eventData (Object) (オプション) |
17 | addOptionsMenuItem オプションメニューに新しい項目を追加します。 label (String) このメニュー項目のラベル event (String) メニュー項目のクリックで生成されるイベント eventData (Object) (オプション) iconName (String) |
18 | webViewShow 指定されたURLでWebViewを表示します。 url (String) wait (Boolean) ユーザーがWebViewを終了するまでブロックします(オプション) |
19 | clearContextMenu 以前にコンテキストメニューに追加されたすべてのアイテムを削除します。 |
20 | clearOptionsMenu 以前にオプションメニューに追加されたすべてのアイテムを削除します |
21 | makeToast 通知を作成する |
例
A simple Toast Example
import android
droid = android.Android()
uname = droid.getInput("Enter your name")
print uname
droid.makeToast("Hello %s" %uname.result)
A Horizontal Progress Bar
import android
droid = android.Android()
title = "Progress"
str = "Loading..."
droid.dialogCreateHorizontalProgress(title,str,100)
droid.showDialog()
for x in range(0,99)
time.sleep(0.1)
droid.dialogSetCurrentProgress(x)
droid.dialogDismiss()
モーダルと非モーダルのダイアログボックス
モーダルダイアログボックスまたはウィンドウは、別のプロセスまたはウィンドウの子です。モーダルダイアログボックスを使用すると、ユーザーが新しいダイアログボックスを操作するまで、処理は待機またはブロックされます。
この場合の典型的な例は、アラートダイアログボックスです。ユーザーがアクションを実行するまで、アラートは閉じません。
次の画像は、モーダルダイアログボックスの例です。
要約すると、実行を続行する前にユーザーからの入力が必要な場合は、モーダルダイアログボックスを使用します。
HTMLを使用したPythonGUI
SL4Aを使用すると、CSS、HTML、JavaScript、およびPythonに基づいたグラフィカルユーザーインターフェイス(GUI)を構築できます。このアプローチでは、HTMLとJavaScriptを使用してUIを構築し、CSSを使用してHTML要素とフォントの外観と一貫性を強化し、Pythonを使用して追加の処理を処理します。
次の例は、基本的なHTMLGUIの例を示しています。
1. Speech.html
<html>
<head>
<title>Text To Speech</title>
<script>
var droid = new Android();
var speak = function(){
droid.postEvent("say",document.getElementById("say").value);
}
</script>
</head>
<body>
<form onsubmit = "speak()";return false;”>
<label for = "say">What is your message?</label>
<input type = "text" id = "say"/>
<input type = "submit" value = "Speak"/>
</form>
</body>
</html>
2. txtToSpeech.py
import android
droid = android.Android()
droid.webViewShow(‘file:///sdcard/sl4a/scripts/Speech.html’)
while True:
result = droid.waitForEvent(‘say’).result
droid.ttsSpeak(result[‘data’])
両方のファイル- Speech.html and txtToSpeech.py、に存在する必要があります /sdcard/sl4a/scriptsデバイス上のディレクトリ。Pythonスクリプトを実行して、HTMLファイルを起動します。
このファイルはによって起動されます webViewShowAPI呼び出し。イベントは、Speak ボタンがクリックされます。
電子メールベースのアプリケーション
電子メールベースのアプリケーションは、モバイルデバイスで利用できる最も一般的なユーティリティの1つです。1つを使用することができますsendEmail SL4AAndroidファサードから利用可能なAPI呼び出し。
この関数は3つのパラメータを取ります-
to_address −受信者のコンマ区切りリスト。
title −電子メールメッセージのタイトルを表します。
message −送信するメッセージを表します。
import android,datetime,smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
droid = android.Android()
serv = ’smtp.gmail.com’
port = 587
mailto = ’chris’
mailfrom = ’charley’
pass = ’pass@123’
msg = MIMEMultipart()
msg[‘Subject’] = ’Tes Mail’
msg[‘To’] = mailto
msg[‘From’] = mailfrom
body = ’This is a test mail!!’
msg.attach(MIMEText(body,’plain’))
smtpCon = smtplib.SMTP(serv,port)
smtpCon.starttls()
smtpCon.login(mailfrom,pass)
smtpSendmail(mailfrom,mailto,msg.as_string())
smtpCon.close()
電子メールプログラムの構築に使用されたPythonライブラリは smtplib。さらに、メールライブラリを使用しました。このライブラリには、メッセージを正しい形式で作成できるようにする多数のヘルパー関数が含まれています。ザ・mimetypes ライブラリは、メッセージのエンコードに役立ちます。
Wifiスキャナー
次のコードは、利用可能なすべてのWi-Fiアクセススポットを示しています-
import android, time
def main():
global droid
droid = android.Android()
while not droid.wifiStartScan().result:
time.sleep(0.25)
networks = {}
while not networks:
for ap in in droid.wifiGetScanResults().result:
networks[ap[‘bssid’]] = ap.copy()
droid.dialogCreateAlert(‘Access Points’)
droid.dialogSetItems([‘%(ssid)s,%(level)s,%(capabilities)s’ %
ap for ap in networks.values() ])
droid.dialogSetPositiveButtonText(‘OK’)
dorid.dialogShow()
if __name__=’__main__’:
main()
コールログ
通話履歴のコードを以下に示します。
import android
droid = android.Android()
mylog = droid.getConstants("android.provider.Calllog$Calls").result
calls = droid.queryContent(mylog["CONTENT_URI"],["name","number","duration"]).result
for c in calls:
print c
サービスは、ユーザーと直接対話することなく、バックグラウンドで実行されるコンポーネントです。UI(ユーザーインターフェイス)はありません。アプリケーションが破棄された場合でも、サービスはバックグラウンドで無期限に実行されます。
この章では、バックグラウンドで特定のタスクを実行するスクリプトの記述について説明します。
バックグラウンドタスク
SL4Aを使用すると、スクリプトを端末またはバックグラウンドで実行できます。バックグラウンドでスクリプトを起動するには、歯車のようなアイコンを選択します。スクリプトはバックグラウンドで無限に実行されます。ただし、そのようなサービスを明示的にシャットダウンすることを選択することもできます。
ブートスクリプトで起動
これらのスクリプトは、デバイスが起動するたびに起動されます。Launch on Boot設定画面は、デバイスの起動設定を指定できるアプリケーションです。ユーティリティは、マスタースクリプトを介した複数のスクリプトの実行をサポートします。マスタースクリプトは他のスクリプトを起動します。
トリガー
トリガーは、アクション/イベントに応答して実行する必要がある一連のアクションを定義します。トリガーは追加および削除できます。/ sdcard / sl4a / scriptsディレクトリでは、イベントがトリガーされたときに実行するスクリプトを選択できます。スクリプトをトリガーする可能性のあるオプションのリストには、バッテリー、場所、電話、センサー、信号強度が含まれます。
オリエンテーションベースのアクション
SL4Aを使用すると、デバイスの向きと動きに応じてスクリプトを実行できます。startSensingTimedAPIは、デバイスの向きと動きを決定するために使用されます。
次のスニペットは、TTS機能を使用して、電話が裏向きに置かれたときにユーザーに通知します-
import android,time
droid = android.Android()
droid.startSensing()
while True:
res = droid.sensorsGetLight().result
if res is not None and res <=10:
droid.ttsSpeak("Device faced down!!")
time.sleep(5)
ロケーションベースのアクション
図書館、教会はあなたが頻繁に訪れるかもしれない場所であり、あなたがそこにいるときあなたは間違いなくあなたの電話を沈黙させたいです。SL4Aを使用すると、現在地を追跡して特定のアクションを実行するスクリプトを作成できます。
時間ベース/経過時間ベースのトリガー
これらのトリガーは、特定の時刻にアクションを実行するために使用されます。時刻の指定には、24時間形式を使用する必要があります。例には、アラーム、リマインダーなどを設定するスクリプトが含まれます。時間ベースのトリガーとは異なり、経過時間ベースのトリガーは、経過時間の後にスクリプトを実行します。アラームアプリケーションのスヌーズオプションは、この概念に基づいています。
この章では、EclipseおよびQRコードを使用してスクリプトをパッケージ化および配布する方法について説明します。
クイックレスポンス(QR)コード
ほとんどのAndroidデバイスには、ネイティブのバーコードスキャナーが含まれています。SL4Aは、QRコードをエディターに直接インポートすることをサポートしています。QRコードは4,296文字のコンテンツしかエンコードできません。したがって、この配布方法は短いスクリプトに適しています。
テキストを貼り付けてQRコードを作成できるウェブサイトがいくつかあります。ただし、参照しますhttp://zxing.appspot.com/generator この図のQRコードを生成します。
手順を以下に説明します-
Step 1 −を開きます Contents ドロップダウンして選択します Text。
Step 2 −の最初の行 Text Content、スクリプトの名前を入力します(例:greet.py)。
Step 3 −その下にスクリプトの内容を貼り付けます。
Step 4 − [サイズ]ドロップダウンからバーコードサイズを選択します。
Step 5 − [生成]をクリックします。
Step 6 −結果のバーコード画像を埋め込むか、共有します。
したがって、QRコードは、ブログやWebサイトを通じて短いスクリプトを共有するための効果的な方法です。
アプリケーションパッケージの構築– Eclipse
Androidアプリケーションは、が付いた単一のファイル/パッケージで配布されます。apk拡張。Androidパッケージ(.apk).jarまたは.zipファイルに似ています。それぞれ。apk存在しなければならないいくつかの必須ファイルが含まれています。最も重要なファイルはAndroidManifest.xml。
マニフェストファイルは多くのことを行います-
アプリケーションコンポーネントを宣言します。
アプリケーションに必要なユーザー権限を特定します。
カメラ、Bluetoothサービスなど、アプリケーションで使用または必要とされるハードウェアおよびソフトウェアの機能を宣言します。
Google Maps Libraryなど、アプリケーションをリンクする必要のあるAPIライブラリを指定します。
配布可能なプロジェクトを構築するための手順 .apk 日食で以下に示されています-
MercurialからHgをダウンロードしてインストールします- http://mercurial.selenic.com/wiki/Download。PATH変数をインストールフォルダーに設定します。
最新のSL4Aリポジトリのクローンを作成します。ターミナルを開き、クローンを作成する必要のあるディレクトリに移動します。次のHgクローンを入力します:https://android-scripting.googlecode.com/hg/android-scripting。
Eclipseを開き、をクリックします File/Import/General/Existingワークスペース/次へプロジェクトを作成し、複製されたディレクトリを参照します。Android / OKをクリックし、すべてを選択して、[完了]をクリックします。
含める ANDROID_SDK[クラスパス変数]リストで、[Windows] / [設定] / [Java] / [BuildPathVariables] / [新規]をクリックします。名前にANDROID_SDKを、フォルダーにSDKディレクトリ(おそらくc:\ ProgramFiles \ Android \ android-sdk-windows)を入力します。
[プロジェクト] / [自動ビルド]をクリックしてから、[プロジェクト] / [クリーン] / [すべてのプロジェクトをクリーンアップ] / [OK]をクリックします。
スクリプトをに変換するには APK、のコピーを作成します ScriptForAndroidTemplate(右クリック/コピーしてから右クリック/同じ領域に貼り付けます)。Copyofという名前の新しいプロジェクトが表示されますScriptForAndroidTemplate。
このプロジェクトをSL4Aのクローンに接続するには、プロジェクトをダブルクリックし、build.xml / Run As / AntBuildを右クリックします。リファクタリング/名前の変更を使用してプロジェクトの名前をプロジェクトに選択した名前に変更し、プロジェクトを更新/クリーンアップ/ビルドします。
次に、rawとRefactor / Renameをダブルクリックして、script.pyの名前をに変更します。 your_script_name.py 次に、src / com.dummy.fooforandroid / Script.javaをダブルクリックし、R.raw.scriptをR.raw.your_script_nameに変更して保存します。
をダブルクリックします srcパッケージ名com.dummy.fooforandroidをyour.package.nameに変更するには、リファクタリング/名前の変更を行います。genについても同じようにします。
次に、プロジェクトを強調表示してから、[プロジェクト] / [プロパティ] / [Android]をクリックします。あなたのAndroidターゲットを選択してクリックOK。
プロジェクトリストの下部にあるAndroidManifest.xmlをダブルクリックします。マニフェストのパッケージ名をcom.dummy.fooforandroidからyour.package.nameに変更します。minSdkVersionを「4」からAndroidターゲットに合わせて変更します(これは、Project / Preferences / Androidに表示されるAndroidターゲットのAPIレベルです)。アプリケーションに必要なアクセス許可のコメントを解除します(最初に<!-を、最後に->を外します)。デバッグをに設定False。
右クリック your_script_nameテキストエディタで開きます。デフォルトのスクリプトを削除し、独自のスクリプトに置き換えて保存します。次に、プロジェクトをクリーン/ビルド/リフレッシュして実行します。すべてうまくいったら、ファイル/エクスポートをクリックしてアプリケーションをapkとしてエクスポートします。
クリック Next。
すべてのAndroidアプリケーションは、インストールする前にデジタル署名する必要があります。選択するCreate new Keystore、これがこのプロセスを初めて実行した場合。
キーストアを保持するファイルを選択し、パスワードで保護する必要があります。
クリック Next。有効性フィールドに注意してください。1から99までの任意の年数で有効なキーを作成できます。
最後のダイアログボックスでは、.apkファイルを配置する場所を指定できます。[完了]をクリックします。
EclipseまたはADBツールを使用して.apkファイルをテスト/インストールできます。を使用してインストールするにはADB、ターミナルウィンドウを開き、.apk宛先ディレクトリに移動して、次のように入力します-
adb install distributable_file.apk