Android」タグアーカイブ

AndroidのPlayer Settingsに関するメモ

Android用のPlayer Settingsで設定できる項目の内、個人的に気になったところのメモです。

Multithreaded Rendering

マルチスレッドレンダリングを有効にするかどうか

GPU Skinning

DX11/ES3でGPUスキニングを有効にするかどうか

ボーンに合わせてメッシュを変形させる技術をスキニングというそうです。3Dキャラクターのアニメーションなどで使うみたいです。

Disable HW Statistics

アプリを実行したデバイスのハードウェア情報をUnityに送信するかどうか

収集されたデーターは下記サイトなどで利用されることになるようです。

Unity – Unity Hardware Statistics
http://hwstats.unity3d.com/index.html

Android Game

ビルドしたAPKをゲームとしてマークするかどうか

チェックしない場合は通常のアプリとしてマークされるようです。

Android Gamepad Support Level

ゲームパッドのサポートレベル

Works with D – Padゲームパッド不要
Supports Gamepadゲームパッドでも動作する(必須ではない)
Requires Gamepadゲームパッドが必須

Prebake Collision Meshes

衝突データをビルド時にメッシュへ追加するかどうか

サイズガ若干大きくなるトレードオフ

Unite2015AssetBundle_Final – DAY1_1300_room2_Ito.pdf
http://japan.unity3d.com/unite/unite2015/files/DAY1_1300_room2_Ito.pdf

ということみたいです。

リンク

Unity – マニュアル: Android Player Settings
https://docs.unity3d.com/ja/current/Manual/class-PlayerSettingsAndroid.html

Unity – スクリプトリファレンス: AndroidGamepadSupportLevel
https://docs.unity3d.com/jp/current/ScriptReference/AndroidGamepadSupportLevel.html

LinuxでAndroidアプリをデバッグする手順

Android端末のセットアップ

USB debuggingの有効化

Setting >> About Phone

下にスクロールして、「Build number」と書かれている部分を複数回タップします。

You are now a developer!

と表示され、Settingsに「Developer options」という項目が追加されますので、そこから「USB debugging」をOnに設定します。

PC(Linux)側のセットアップ

udev rulesの設定

rootでログインして、udev ruluesに使いたい端末の情報とデバッグするユーザーの情報を追加します。

# vi /etc/udev/rules.d/51-android.rules
# cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="android"

GROUPはデバッグで使いたいユーザーの所属するグループです。

ATTR{idVendor}ばデバッグで使いたいAndroid端末のVendor IDを設定します。Vendor IDは公開されている情報を参照するか、lsusbなどのコマンドを使って確認できます。

$ lsusb
Bus 001 Device 001: ID 18d1:**** Google Inc. Nexus 4 (debug)

udev rulesが設定できたらリロードします。

# udevadm control --reload-rules

デバッグ

後はプログラムをビルドして、デバッグしていきます。

ビルドとデバッグに必要なAndroid SDKは下記リンクよりダウンロードできます。

Installing the Android SDK | Android Developers
http://developer.android.com/sdk/installing/index.html


以下、よく使うコマンドをいくつかメモしておきます。

adb devices

接続されている端末の表示

$ adb devices
List of devices attached
01234567        device

adb start-server/adb kill-server

adb serverの実行

$ adb start-server

adb serverの停止

$ adb kill-server

apkのインストール

$ adb install bin/yourapp.apk

-rオプションで上書きインストールできます。

$ adb install -r bin/yourapp.apk

adb logcat

ログの表示

$ adb logcat

-cオプションでログ情報のクリアします。

$ adb logcat -c

タグを指定してフィルタリング

$ adb logcat -s "Tag"

screencap(おまけ)

screencapを使うとコマンドラインからスクリーンキャプチャーを取得することができます。

$ adb shell screencap -p /sdcard/example.png

screenrecord(おまけ)

4.4 Kitkat以降のデバイスでは、screenrecordコマンドを使って画面表示を動画で記録できます。

$ adb shell screenrecord /sdcard/example.mp4

記録した動画ファイルをPCへの転送はadb pullで行えます。

$ adb pull /sdcard/example.mp4 /tmp/

Android端末の動画ファイルはshellのrmコマンドで行えます。

$ adb shell rm -i /sdcard/example.mp4

リンク

Using Hardware Devices | Android Developers
http://developer.android.com/tools/device.html

Android Debug Bridge | Android Developers
http://developer.android.com/tools/help/adb.html

SDLでAndroidアプリを作成

SDL(Simple DirectMedia Layer)を使ってAndroidアプリを作成する手順の覚え書き

※事前にAndroid SDK、Android NDKとSDLはインストールしておきます。

1. android-projectを適当なディレクトリにコピー

$ cp -r /path/SDL/android-projec project

2. project/jniディレクトリにSDLへのシンボリックリンクを作成

$ cd project/jni
$ ln -s /path/SDL

3. ソースコードの準備

project/jni/srcにソースコードを作成し、Android.mkLOCAL_SRC_FILESでファイル名を設定します。

$ cd src
$ vi example.cpp
$ vi Android.mk
$ cd ../..

4. ビルドの準備

local.propertiessdk.dirを指定します。

$ vi local.properties
$ cat local.properties
sdk.dir=/path/Sdk

必要に応じて、AndroidManifest.xmlでSDKのversion指定や、jni/Application.mkAPP_PLATFORMを追加したりします。

$ vi AndroidManifest.xml
$ vi jni/Application.mk

5. ndk-buildでビルド

$ ndk-build

6. デバッグ

$ ant debug
$ ant debug install

ログの出力

$ adb logcat

ログのクリア

$ adb logcat -c

以上です。

もう少し簡単にビルドしたい場合はbuild-scripts/androidbuild.shを実行するだけでもアプリを作成できます。

$ ./androidbuild.sh com.yourcompany.yourapp example.cpp

リンク

Simple DirectMedia Layer – Homepage
http://www.libsdl.org/

Mercurial repositories index
https://hg.libsdl.org/

Download Android Studio and SDK Tools | Android Developers
http://developer.android.com/sdk/index.html

Android NDK | Android Developers
http://developer.android.com/tools/sdk/ndk/index.html