20210612のAndroidに関する記事は5件です。

android エミュレーター Navigation is blocked

version flutter: 1.22.4 sign_in_with_apple: 3.0.0 Flutter・Firebase で Android アプリの Sign in with Apple 対応をする???? を参考にApple認可サーバーからリダイレクトされるページを自作したところ、以下のエラーがでました。 Navigation is blocked: intent://callback? code=example&id_token=example #Intent;package=example;scheme=signinwithapple;end 原因としては、Android System WebViewのバージョンが低く、リダイレクトうまくできなかったようです。 解決方法としましては、play storeが使用できるandroidエミュレーターを使用し、 Android System WebView をアップデートすると、エラーは解消されました。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Unityで作ったAndoroidアプリをAndroidStudioのプロファイラでCPUや消費電力を調べる

Unity で Android アプリを作ったときに、実機でのCPU使用率や電力消費を調べたくなることありませんか? Android Studio に付属している Profiler を使えば、下のように表示することができます。 ここではその手順を記載しています。 前提 製品 version Windows 10 Unity 2019.4.26f1 Andorid Studio 4.2.1 手順 Unity Android Studio のプロファイラ対象にしたいプロジェクトを開きます。 Export Project にチェックを入れて、Export を押す。 保存場所を指定して保存 Android Studio Open an Existing Project から Unity で Export したフォルダを選択して開きます。開くのに少し時間がかかる可能性があります。右下のほうがロード中みたいになっていると思うので、ただただ待ちます。 View → Tool Windows → Profiler を選択します。 こんな感じで Andorid Profiler が開きます。 検証したい端末が設定されていることを確認して、実行ボタン(緑色の三角)を押します。 こんな感じでデータが表示されていれば成功です。 注意 プロファイラしたデータはファイルで保存することができません CPU/MEMORY に関しては個別にプロファイラと計測することで、ファイルに保存することが可能です MEMORY のデータを取得している、私の実機環境(Pixel4)では、画面がカクつく程度の影響が出ました NETWORK/ENERGY に関しては保存不可です Battery Historian という方法も 別ツールの Battery Historian であればファイル保存が可能です。 こちらで紹介しています。 参考
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Unityで作ったAndoroidアプリを Battery Historian でCPUや消費電力を調べる

Battery Historian とは Android 端末の消費電力などをグラフ化してみることのできるツールです。 実行すると以下のようなグラフをブラウザで確認できるようになります。 以下は、ここを参考に実施した手順などをまとめてあります。 はじめに 以下メリットはありますが、 Browser で確認でき、誰でもデータの取り込みができるようになる ファイルで保存できる 項目が非常に詳細 手軽さで行ったら AndroidStudio のプロファイラのほうが手軽です。 こちらで紹介しています。 前提 Windows 10 Docker 19.03.13 手順 大きく分けて二つあります。 1. docker を含む表示環境の準備 2. データの収集と表示 docker を含む表示環境の準備 docker のインストール(他サイトにたくさんあるので割愛します) コマンド実行 docker -- run -p 8080:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999 エラーが出る場合は参考のエラー箇所を参照 http://localhost:8080/ にアクセスする ↓ が表示されればOK データ収集と表示 以下コマンドを実行。 $ adb shell dumpsys batterystats > batterystats_yyyyMMddHHmmss.txt 以下コマンドを実行。私の環境では2~3分ほどかかりました。 $ adb bugreport > bugreport.zip 2~3分かかった。 2 を実行すると bugreport.zip 以外に、 bugreport-flame-RQ1A.210205.004-2021-04-03-12-25-27.zip が出ていることを確認します。 実行したタイミングで日付などは異なります。 この後このデータを使用して表示します。 Browse を押して、3 のファイルを選択すると、右側に Submit ボタンが出てくるので押す。 正常に取り込まれていれば、こういう感じで表示されるはず。うまくいかない場合は参考のエラー箇所を参照。 参考 docker image が起動できない invalid publish opts format エラー 以下のような docker: invalid publish opts format が出る場合。 docker: invalid publish opts format (should be name=value but got '172.18.111.2:9999'). See 'docker run --help'. 原因 Once you start Docker, it should tell you the IP address of the machine it is using. If, for example, the IP address is 123.456.78.90, Historian will be available at http://123.456.78.90:<port>. とあったので、IP 指定で実行しろという意味なのかと間違えていた。 対応 $ docker --run -p 172.18.112.1:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999 と実行していたのだが、そうではなく、 $ docker --run -p 172.18.112.1:8080:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999 と実行すればいい。 現状の docker では、上記通りIP指定なしでも問題ない。 ファイルが正常に読み込めない out of memory 画面上部に赤いトーストみたいなものが表示されている場合はうまくいっていない。 私の場合は、out of memory が出ていた。これは docker を動かしているターミナル上に表示されていた。 fatal error: runtime: out of memory 原因 読んだ通りメモリ不足。 対応 stackoverflow を基に、512MB しかなかったので4096に変更して、docker 再起動、コマンド再実行で、やり直したところうまくいった。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

今更 android platform build envを構築する

notice https://source.android.com/setup/build/initializing?hl=en によると "Important: Platform development on MacOS isn't supported as of June 22, 2021." とのことで、Mac OSでのAndroid platform buildはサポートされなくなります。。。 というわけで、情報が消えてしまっているので、試しながらまとめます。 なお、16GBのRAMが必要です! how to setup $ xcode-select --install Case sensitive file system: diskutil create volume with APAF, case-sensitive Reserve the size at least 200GB $ ln -s /Volumes/android /Users/xxxx/work $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $ chmod +x ~/bin/repo $ cd ~/work/android $ mkdir r $ cd r $ repo init -u https://android.googlesource.com/platform/manifest -b android11-release $ repo sync -j 16 -c Download old MacOS SDK from https://github.com/phracker/MacOSX-SDKs/releases e.g. https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX10.15.sdk.tar.xz $ tar zxvf MacOSX10.15.sdk.tar.xz $ sudo mv MacOSX10.15.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs $ source build/envsetup.sh $ lunch lunchでは aosp_x86_64-eng にしないと、emulatorが起動しませんので注意・・・ ( aosp_arm-eng は起動せず... ) $ ulimit -n 8192 $ make -j 8 ..snip.. [100% 118384/118384] Create system-qemu.img now removing out/target/product/generic_x86_64/system-qemu.img.qcow2 out/host/darwin-x86/bin/sgdisk --clear out/target/product/generic_x86_64/system-qemu.img #### build completed successfully (13:58:31 (hh:mm:ss)) #### 遅い。。。 $ emulator で起動できます. なお、 の右側のreleaseのtag ( https://github.com/intel/haxm/releases/tag/v7.7.0 など )からinstallしておくと、高速に動作できます. $ adb devices $ adb shell で adb も使えます. FAQ $ adb kill-server; adb start-server; adb devices
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Unity】モバイルアプリのビルド番号を実行時に取得するライブラリを公開しました

はじめに モバイル向けアプリを作っている時、現在実機にインストールされているバージョンを起動画面や設定画面に表示することがあると思います。バージョンの場合はApplication.versionで取得できるので簡単に実装できるのですが、ビルド番号を実機で取得する方法は用意されていません。 そこで、実機でのビルド番号取得を簡単に実現するライブラリを作成したので紹介したいと思います。 ちなみにEditorの場合は下記のように取得できるのですが、もちろん実機では動作しません。 // バージョン PlayerSettings.bundleVersion; // ビルド番号 PlayerSettings.iOS.buildNumber; PlayerSettings.Android.bundleVersionCode; 想定している用途 よくあるパターンとして、CIでビルドするたびにセマンティクスバージョニングのバッチバージョンへビルド番号に反映させることあります(e.g. v1.0.[ビルド番号]) 。この方法ですとバージョン表記だけでどこまでの変更が反映されているか判断できるのでビルド番号は必要ないのですが、アプリバージョンを頻繁に変えたくない場合もあると思います。 バージョン表記を綺麗に保ちたい場合などが多いと思うのですが、今回僕が必要だと思ったきっかけはTest Flightの関係です。Test Flightでは外部テスターにアプリを配布する際に簡易的な審査(1日程度)が挟まるのですが、同一バージョンは審査されない仕様を利用すると即時配布することが可能になります。この仕組みを使うためにバージョンを変えなくなかったのですが、実機にインストールされているバージョンが分からなくなってしまうためビルド番号を併記したいという状況になりました。 免責事項 プラットフォーム毎に呼び方が違いますが、この記事では下記のような使い分けをしています。 バージョン (Version) iOS: CFBundleShortVersionString Android: versionName ビルド番号 (Build Number) iOS: CFBundleVersion Android: versionName 導入方法と使い方 READMEに書いてある通りですが、簡単に日本語でも紹介します。 導入方法 Unity 2019.3.4f1, Unity 2020.1a21以降で使えるPackage Managerの機能を使って配布しています。 Unityプロジェクトを開く Window -> Package Managerを開く 左上の"+"ボタンから"Add package from git URL..."をクリック https://github.com/nkjzm/UniBuildNumber.git?path=Assets/UniBuildNumberを入力し、"Add"をクリック 使い方 下記の3つのstaticなメソッドを用意してあります。iOS/Androidで型が違うので注意してください。 // Get build number in iOS string buildNumber_ios = nkjzm.UniBuildNumber.GetIOSBuildNumber(); // Get build number in Android int buildNumber_android = nkjzm.UniBuildNumber.GetAndroidVersionCode(); // Get build number in current platform (iOS or Android) string buildNumber = nkjzm.UniBuildNumber.GetCurrentBuildNumber(); 僕の場合は下記のように使用しています。 private void Start() { versionLabel.text = $"{Application.version} ({UniBuildNumber.GetCurrentBuildNumber()})"; } 参考 今回のライブラリは下記の記事を参考にライブラリを作成・公開させていただきました。ありがとうございます。 最後に 普段はTwitterでUnityやxR技術の情報発信をしているので、良かったらフォローしていただけると嬉しいです。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む