アプリ開発について(回答)

アプリ開発について

Q,作成したアプリをAndroid端末へインストールする方法は?

A,Android実機への転送場合GooglePlayを通さない場合は以下の方法で転送可能です
1. RhoStudioからUSBで実機へ
2. コマンドプロンプトやTerminal.app等のコンソールからUSBで実機へ
3. apkファイルをダウンロードし、実行

■USB転送準備
・Android実機がWindowsまたはOSXが動作しているマシンに認識されている事
・Android実機の「設定」から「アプリケーションの設定」=>「開発」=>「USBデバッグ」の項目を有効にする事
・確認方法
 Android実機を接続下状態でコマンドプロンプトかTerminal.app等で以下のコマンドを発行し、

 

Windows

 {ANDROID_SDKのパス}/platform-tools/adb.exe devices

 

OSX/Linux

 {ANDROID_SDKのパス}/platform-tools/adb devices

 

 listに接続した機器の名前が表示されていれば認識されています。

1. RhoStudioによる転送
転送するプロジェクトのビルド設定を以下の様に変更します。
RhoStudioのメニューから「Run」=>「Run Configurations」を選択し、ビルド対象のプロジェクト設定を開き、
「Simulator type:」の項目に「Device」を設定。
「Apply」を押下し、「Run」を実行すると、ビルドが終了され次第実機に転送がかかります。
2. コマンドプロンプトやTerminal.app等のコンソールによる転送
コンソールから、転送するRhodesプロジェクトに移動し、以下のコマンドを発行

 

rake run:android:device

 

ビルドが終了すると実機に転送されます。

3. apkファイルによる実行
コンソールから、転送するRhodesプロジェクトに移動し、以下のコマンドを発行してください

 

 rake device:android:production

 

途中、組織名などを入力する様メッセージが出る場合がございますが、メッセージに従い半角英数字で英語かローマ字にて入力ください。
ビルドが終了すると、プロジェクトフォルダ内に以下のフォルダが出来ます。 {RHODES_PROJECT}/bin/target/android
このフォルダの中に「**プロジェクト名**_signed.apk」というファイルが出来ますので、USBで実機に転送して頂くか、
Webサーバなどにアップして頂き、Androidのブラウザからダウンロード後、Android実機のエクスプローラ等から実行することでインストール可能となります。

 

Q,アプリアイコン下に表示されるアプリケーション名を任意の文字に変更方法は?

A、アプリケーション名の変更を行う場合は、build.ymlにあります「name: 」項目の値を書き換えることで変更されます。
RhodesではAndroidのアプリケーション名に日本語を使用することが現状できない状態です。
引き続きこちらでも調査をしていきますが、現状は日本語名を設定できないので、英語名で設定してください。

 

Q,プロジェクトのビルド中に「Error in AAPT Error in build application」というエラーが出た時の対処方法は?

A,まず、以下の3点を確認してください。
・AndroidのSDK/NDKが設置されているか

(開発環境構築方法~Mac編~ 第1章 第2節・第3節)

開発環境構築方法~Windows編~ 第1章 第2節・第3節
・AndroidSDKマネージャから各AndroidSDKがインストールされているか

(開発環境構築方法~Mac編~ 第1章 第4節)

開発環境構築方法~Windows編~ 第1章 第4節
・RhoStudioの環境設定からAndroidの環境が設定されているか

(開発環境構築方法~Mac編~ 第1章 第6節)

開発環境構築方法~Windows編~ 第1章 第6節
それでもエラーが出る場合にはRhoStudioの「Run Configurations」で、RhoMobile Applicationの設定から「Clean before build」にチェックを入れてビルドを行うか、コンソールから以下のコマンドを実行してからビルドを行う。

 

rake clean:android

 

Q,Rhodesアプリ内で使用した画像やデータをAndroid端末本体やSDカードに移動させる方法は?

A,RhodesアプリケーションからSDカード内へデータを設置したりする場合は、build.yml内の「capabilities」へ「sdcard」の記述が必要です。
sdcardへのアクセスは「/mnt/sdcard」のパスでアクセス可能となっています。

 

c apabilities:
 - sdcard

 

また、対象をSDカードとするという様なメソッドなどは用意されておりませんので、fileutilsを使用してmvやcpなどを行って頂ければと思います。
build.yml内の「extensions」の項目に以下の様に「fileutils」を追記してください。

 

extensions
- fileutils

 

後はapplication.rbか、各Controllerで

 

require 'fileutils'

 

を記述して頂き、FileUtilsを使用してデータの移動が可能です。
なお、本体内部へのデータの設置はディレクトリよってはパーミッションエラーとなるため、Androidの各キャリアによって注意する必要がございます。
Rhodesアプリケーション内への格納であれば、Rho::RhoApplication::get_blob_pathメソッドなどを使用すると、確実にRhodesアプリ配下のパスを指定できます。

システム工房エムのサイトへのリンク

住所〒690-0017 島根県松江市西津田3-2-3 TEL.0852-23-8590 FAX.0852-23-8591
Copyright 2008-2010 System Maker M,All right reserved