Cordovaで作成したandroidアプリのアイコン設定をした時のメモ
デフォルトのアイコンが表示される
以下、Cordovaで作成したandroidアプリのアイコンが未設定の場合
アイコン設定手順
cordova create hogehoge
のコマンド実行後に作成される、config.xmlでの設定が必要。
config.xml内の<platform name="android">
タグ内に以下を追加
<icon src="res/android/ldpi.png" density="ldpi" /> <icon src="res/android/mdpi.png" density="mdpi" /> <icon src="res/android/hdpi.png" density="hdpi" /> <icon src="res/android/xhdpi.png" density="xhdpi" /
src-cordova/res
配下に該当メニューアイコンを作成して置いておく。
再度デバッグして確認して、アイコンが指定したものが表示されていればok
粗いけどok。笑
参考記事
メニューアイコンサイズのガイドラインについて
blog.excite.co.jp
cordovaの導入メモ
cordovaのどおうにゅう
node環境 v12.10.0
対象プロジェクト配下にて
npm install -g @vue/cli vue add cordova
※vue add cordova
にてsrc-cordovaが作成されず、エラーが発生する場合がある
error: ENOENT: no such file or directory, open '/Users/hogehoge.../src-cordova/www/.gitignore'
ビルド手順
対象プロジェクト配下にて
cordova create src-cordva npm run cordova-build-android
警告が出力される
No platforms added to this project. Please use
cordova platform add <platform>
.
src-cordova配下で
cordova platform add android
再度、対象プロジェクト配下にて
npm run cordova-build-android
ビルド完了時にapkファイルが作成される
BUILD SUCCESSFUL in 30s 43 actionable tasks: 43 executed Built the following apk(s): ...
デバック手順
実機をUSB接続した状態で以下のコマンドを実施
npm run cordova-serve-android
アイコンはcordovaのマークだが実機にandroidアプリとしてインストールできた。
参考記事
【Firebase】Functionからstorageの署名付きURLを取得しようとしたらError: 7 PERMISSION_DENIED: Missing or insufficient permissions.
事象
[Firebase] Functionからstorageの署名付きURLを取得しようとしたら 以下のエラーが発生(コンソール画面からIAM APIは有効に設定済み かつ トークン作成者の権限も付与済)
Error: 7 PERMISSION_DENIED: Missing or insufficient permissions.
原因
IAM有効にすると、この辺りの認証情報の初期設定が必要になるっぽい? firebase.google.com
対応方針
const serviceAccount = require('<鍵を配置した階層>') admin.initializeApp({ credential: admin.credential.cert(serviceAccount), databaseURL: 'https://<project-name>.firebaseio.com', storageBucket: '<project-name>.appspot.com'' })
以上で、storageの署名付きURLを取得ができた。
参考記事
【Firebase】Functionからstorageの署名付きURLを取得しようとしたら Error: Permission iam.serviceAccounts.signBlob is required to perform this operation on service account projects
事象
[Firebase] Functionからstorageの署名付きURLを取得しようとしたら 以下のエラーが発生(コンソール画面からIAM APIは有効に設定済み)
Error: Permission iam.serviceAccounts.signBlob is required to perform this operation on service account projects
原因
対象projectに対するservice accountが未設定のため上記エラーが発生
対応方針
コンソール画面にて、対象プロジェクトに対してサービスアカウントトークン作成者
の権限を付与する
参考記事
【Firebase】Functionからstorageの署名付きURLを取得しようとしたら Error: Identity and Access Management (IAM) API has not been used in project XXXXX
Error: @grpc/grpc-js only works on Node ^8.13.0 || >=10.10.0の対応
起こったこと
firebaseのfunctionをデプロイしたら以下のエラーが発生
✔ functions: Finished running predeploy script. i functions: ensuring necessary APIs are enabled... ✔ functions: all necessary APIs are enabled i functions: preparing functions directory for uploading... Error: Error occurred while parsing your function triggers. Error: @grpc/grpc-js only works on Node ^8.13.0 || >=10.10.0
原因
nodenvでバージョンが* 9.10.1を使用していた
対応
node環境8.13.0に合わせてデプロイを行う
- 8.13.0をインストール
nodenv install 8.13.0
- バージョンの切り替え
nodenv global 8.13.0
切り替え後、本エラーが吐かれずにdeployできた。
参考記事
nodebrewでバージョンをインストールする
- インストール可能なバージョンの確認
nodebrew ls-remote
- バージョンを指定してインストール
nodebrew install-binary v8.14.0
- バージョンを切り替える
nodebrew use v8.14.0