KidsPOS-for-Androidアプリを実際の現場で展開・運用するための詳細手順です。
- 推奨デバイス: Nexus 7 相当のAndroidタブレット
- OS: Android 7.0 (API level 24) 以上
- RAM: 2GB以上(Nexus 7の場合)
- ストレージ: 1GB以上の空き容量
- カメラ: リアカメラ必須(QRコード読み取り用)
- USB: USBバーコードリーダー接続用
- ネットワーク: WiFi接続必須(イントラネット環境)
- Nexus 7 (2013): 7インチタブレット、2GB RAM
- または同等スペックのタブレット: 7-10インチ画面推奨
- USB Host機能: バーコードリーダー接続のため必須
- USBバーコードリーダー: USB HID対応の汎用バーコードスキャナー
- USB OTGケーブル: タブレットとバーコードリーダーの接続用
# GitHub Releasesからダウンロード
wget https://github.com/KidsPOSProject/KidsPOS-for-Android/releases/latest/download/app-release.apk# リポジトリクローン
git clone https://github.com/KidsPOSProject/KidsPOS-for-Android.git
cd KidsPOS-for-Android
# Android Studioでビルド、または
./gradlew assembleRelease- 設定 → デバイス情報 → ビルド番号を7回タップ
- 開発者オプションが有効になります
- 設定 → セキュリティ
- 提供元不明のアプリを有効化
- または不明なアプリのインストールでブラウザまたはファイルマネージャーを許可
- 設定 → 開発者オプション
- USBデバッグを有効化
# デバイス接続確認
adb devices
# APKインストール
adb install app-release.apk
# 複数デバイスがある場合
adb -s [device_id] install app-release.apk- APKファイルをデバイスに転送
- ファイルマネージャーでAPKファイルをタップ
- インストール画面でインストール実行
# 簡易HTTPサーバーでAPK配布
python3 -m http.server 8080
# デバイスのブラウザで以下にアクセス
# http://[サーバーIP]:8080/app-release.apkアプリ初回起動時に以下の権限を許可:
- カメラ: QRコード読み取り
- ストレージ: データ保存
- ネットワーク: サーバー通信
- アプリ起動後、設定画面を開く
- サーバーURLを入力:
http://[RaspberryPi IP]:8080 - 接続テストを実行して通信確認
-
USB OTGケーブルの接続
- タブレットのmicroUSBポートにOTGケーブル接続
- バーコードリーダーをOTGケーブルに接続
-
デバイス認識確認
# adb経由で確認(開発時) adb shell lsusb # または adb shell cat /proc/bus/input/devices
-
アプリでの設定
- 設定画面で「USBバーコードリーダー」を有効化
- テストスキャンで動作確認
{
"device_id": "tablet-01",
"location": "store-front",
"barcode_reader": "usb_hid"
}# Samsung Knox等のMDMソリューション使用
# または専用ランチャーアプリ使用
# 設定例:
# - ホームボタン無効化
# - 通知パネル無効化
# - 他アプリ起動制限- 画面の向き: 固定(portrait)
- 画面の明るさ: 80%以上
- 画面タイムアウト: 無効または長時間
- メディア音量: 適切なレベル(フィードバック音用)
- 通知音: 必要に応じてオフ
# WiFi接続テスト
ping 8.8.8.8
ping [サーバーIP]
# ネットワーク情報確認
adb shell ip addr show wlan0- 設定 → WiFi
- 接続中のネットワークを長押し
- ネットワークを変更
- 詳細設定 → プロキシで設定
- アプリ起動確認
- サーバー接続確認
- QRコード読み取り確認
- データ送受信確認
- タッチ操作の反応
- 画面遷移の動作
- エラーハンドリング
# メモリ使用量確認
adb shell dumpsys meminfo [package_name]
# CPU使用率確認
adb shell top | grep [package_name]# 署名確認
keytool -printcert -jarfile app-release.apk
# デバイス容量確認
adb shell df -h
# アプリ一覧確認
adb shell pm list packages | grep kidspos# ネットワーク疎通確認
adb shell ping [サーバーIP]
# ポート確認
adb shell nc -zv [サーバーIP] 8080
# DNS設定確認
adb shell nslookup [サーバードメイン]# カメラ権限確認
adb shell dumpsys package [package_name] | grep permission
# カメラデバイス確認
adb shell ls /dev/video*# アプリログ確認
adb logcat | grep [package_name]
# システムログ
adb logcat -b system
# クラッシュログ
adb logcat -b crash#!/bin/bash
# bulk_deploy.sh
DEVICES=$(adb devices | grep -v "List" | grep "device" | cut -f1)
for device in $DEVICES; do
echo "Deploying to device: $device"
adb -s $device install -r app-release.apk
adb -s $device shell am start -n com.kidspos.android/.MainActivity
done# 設定ファイルをデバイスに配布
adb push config.json /sdcard/kidspos/#!/bin/bash
# health_check.sh
adb shell am start -n com.kidspos.android/.MainActivity
sleep 5
adb shell input tap 500 300 # 設定ボタンタップ例
adb shell screencap /sdcard/screenshot.png
adb pull /sdcard/screenshot.png ./screenshots/# バッテリー状態
adb shell dumpsys battery
# ストレージ使用量
adb shell du -sh /data/data/[package_name]
# メモリ使用量
adb shell cat /proc/meminfo# プロセス確認
adb shell ps | grep kidspos
# アプリバージョン確認
adb shell dumpsys package [package_name] | grep versionCodeadb shell am force-stop [package_name]adb shell am start -n com.kidspos.android/.MainActivityadb shell recovery --wipe_data現場展開時の確認事項:
- デバイス要件確認
- 開発者オプション有効化
- 提供元不明のアプリ許可
- WiFi接続設定
- APKファイル準備
- アプリインストール
- 権限許可設定
- サーバー接続設定
- 基本機能テスト完了
- QRコード読み取り確認
- データ同期確認
- エラーハンドリング確認
- キオスクモード設定
- 画面・音量設定
- 監視設定完了
- 緊急時手順書準備
注意: デバイスメーカーやAndroidバージョンにより手順が異なる場合があります。実際の環境に応じて調整してください。