「Unity/実機/Android」の版間の差分
提供: 初心者エンジニアの簡易メモ
行54: | 行54: | ||
<manifest package="jp.co.example.hogehoge" | <manifest package="jp.co.example.hogehoge" | ||
以下略 | 以下略 | ||
+ | |||
+ | buildsystemがinternalだとpackage名を省略できたがGradleだと省略できなかった。 | ||
==AndroidManifest.xmlを作成する== | ==AndroidManifest.xmlを作成する== |
2018年6月26日 (火) 10:51時点における版
目次
Android実機で動かす
- File/BuildSettingsを選択
- Androidを選択
- OpenDownloadPageからプレイヤーをDL
- Unityを一度再起動
- Unity/Preference/ExternalTools/Android/SDK・JDK・NDKのpathを入れる
SDK=/Users/[user]/Library/Android/sdk JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/bin/java # 確認 $ locate jdk | grep bin/java$ NDK=/Users/[user]/Library/Android/sdk/ndk-bundle
- PlayerSettingsを選択
- Inspector/端末マーク/OtherSetting
- Bundle Identifierの"com.company.ProjectName"を適宜変更する(デフォから変えないとbuild時にエラーとなる)
- buildボタンを押しapkを作成する
- build&runボタンを押しandroidで動作させる。
- 縦向き・横向きで確認する
向きを固定
- File/BuildSettings
- OriantationをAutoRotationからportrait(縦)へ
ビルドエラー
Bundle Identifier has not been set up correctly
- 上記のBundle Identifierがデフォルトの"com.company.ProjectName"だと起こるエラー。適宜変更する
NDK 13.1.3345770 is incompatible with IL2CPP. IL2CPP requires r10e (64-bit).エラーとなる場合
- NDK欄隣のDownloadボタンを押し、
- android-ndk-r10e-darwin-x86_64.binをDownload
- 適当な場所に移動し、NDKのpathへ入力する
Unable to list target platforms. Please make sure the android sdk path is correct. See the Console for details.エラーの場合
最新の Android Studio に付属している SDK Tools がまずいようなので、25バージョンを使うように
https://dl.google.com/android/repository/tools_r25.2.5-macosx.zip
Library/Android/sdk/toolsを差し替える
gradleで動かす方法
- file/build setting/build systemを"internal"から"gradle"にする
gradleでプロガード設定のないlibsを動かす方法
- file/build setting/build systemを"internal"から"gradle"にする
- file/build setting/PlayerSetting/PublisingSetting/minifyのreleaseを"progurad"から"none"に変更する
gradleのカスタムファイルを作る
- file/build setting/PlayerSetting/PublisingSetting/Build/CustomGradleTemplateにチェックを入れる
- Assets/Plugins/AndroidにmainTemplate.gradleができる
AndroidStudio用ファイルを出力する
- file/build setting/ExportProjectにチェックを入れる
- buildする
Cannot read packageName AndroidManifest.xmlエラーの場合
manifestにpackage名を登録する
<manifest package="jp.co.example.hogehoge" 以下略
buildsystemがinternalだとpackage名を省略できたがGradleだと省略できなかった。
AndroidManifest.xmlを作成する
- 一度ビルドするとTemp/StagingArea/AndroidManifest.xmlができる。
- それをAssets/Plugins/Androidの下にコピー
参考:https://qiita.com/peroon/items/ba55d583a68c58f0faa5
multidex必須と出たとき
Execution failed for task ':transformClassesWithDexForRelease'. > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files
multidexを追加するかライブラリ数orライブラリメソッド数を減らす
multidexのバージョンが存在しないと出たとき
A problem occurred configuring root project 'gradleOut'. > Could not resolve all dependencies for configuration ':_debugApkCopy'. > Could not find com.android.support:multidex:1.0.3.
multidexが適切にインストールされているか確認する
ls ~/Library/Android/sdk/extras/android/m2repository/com/android/support/multidex/1.0.3/multidex-1.0.3.jar
なければsdktoolのandroidSupportRegistryをアンインストールしてインストールする。