2020-01-01から1年間の記事一覧
課題 弊社アプリは毎週リリースで、段階的リリースも行っているのでほぼ毎日リリースする作業が発生している。 リリース前にGoogle Play Console / Firebase Crashlyticsでクラッシュの確認をしているが、ぽちぽち開くのが地味に面倒。 実装 それぞれだいた…
課題 Robolectric導入して、 @RunWith(RobolectricTestRunner.class) を書いたはいいが、 java.lang.UnsupportedOperationException: Failed to create a Robolectric sandbox: Android SDK 29 requires Java 9 (have Java 8) のエラーが出る 実装 @Config(s…
課題 社で自分の業績評価を記入する必要があるのだが、使用しているWebサービスがイケてなく、文字数制限があるにも関わらず現在入力の文字数を出してくれない。というか文字数が超えている場合は非同期的にダイアログを出してくるのでうざい。 適当な場所で…
課題 弊社では社内チャットにSlackを導入している。各所属チームのほか雑談用のチャンネルがあったり、また所属していないチームのチャンネルでも気軽に入れるので自ずと加入チャンネルが増えてしまった。 チャンネルにコメントが投稿されるとチャンネル名が…
課題 Pull Requestがマージされたとき、AuthorにSlackでメンションしたい。 実装 各ステップを以下のように設定する。 Trigger: Github Trigger Action: New Repo Event app: Filter by Zapier Payload Action Exactly matches closed Payload Pull Request …
課題 Firebaseに設定する、証明書フィンガープリントを取得したい。 実装 apkから取得する keytool -list -printcert -jarfile target.apk keystoreから取得する keytool -list -v -alias name -keystore keystore.jks apkに署名する際に用いるalias / key s…
背景 Bitriseにて新たなWorkFlowを組んでいて上手く行かないことがある。 コンテナの中で動作しているビルドの中をデバッグすることは難しい。 課題 内部で生成されるものを後からArtifactsとして参照できるようにする 結論 対象のファイルを $BITRISE_DEPLO…
背景 Kotlinで書いてると通常クラス名やフィールド名はCamelCaseにする。 ネイティブのクラスをJavascriptに渡そうとする時にsnake_caseとして扱われることがある。 課題 JavascriptにわたすためにクラスをJsonの文字列に変換したいが、フィールド等がCamelC…
背景 AndroidアプリのビルドにBitriseを用いている。 Bitriseはビルドの一連の流れをWorkflowと呼び、それを構成するのがStepである。 このStepのうちCache Pushというものがあり、これは生成したファイルをBitriseのCacheに置くものである。 通常はステップ…
背景 Daggerのサポートライブラリが出ていた。 以前から仕事等で使っており、依存性解決がビルド時に行われdagger起因のランタイムエラーが起こらないのが好みだったが、やはりわかりにくさが一番のネックだった。設定に追記はできるけど新しく書き直すのが…
背景 Google Play Consoleからアプリのアップデートをリリースしようとした 課題 警告が出ていて、よく見ると前回のapkからネイティブサポートの値が減っている(mips) before after このアプリの対象端末数は変換がないのでおそらくリリースに影響はないだろ…