LoginSignup
5
1

More than 3 years have passed since last update.

AndroidStudio3.6に更新したら、mapping.txtの配置場所が変わった

Posted at

本日、AndroidStudio3.6のstable版がリリースされました。
https://android-developers.googleblog.com/2020/02/android-studio-36.html

早速アップデートして、作っているアプリのgradleバージョンも上げてビルドしてみたところ、mapping.txtに関して詰まったポイントがあったので記載します。

変更点

mapping.txtの配置場所が(地味に)変わりました。
flavor/buildType→flavorBuildTypeになっています。(flavorとbuildTypeに階層が無くなった)

変更
# 以前
app/build/outputs/mapping/flavor/buildType/mapping.txt
# AndroidStudio3.6
app/build/outputs/mapping/flavorBuildType/mapping.txt

# 例
app/build/outputs/mapping/flavor/debug/mapping.txt
↓
app/build/outputs/mapping/flavorDebug/mapping.txt

問題と解決法

問題

CIにflavorとbuildTypeを渡してビルドしていたのですが、成果物としてmapping.txtを保存する処理で、エラーになりました。
具体的にはmapping.txtを成果物フォルダにコピーしようとしており、下記のようなスクリプトを書いていました。
(CIではビルド時にFlavorとBuildType(debug/releaseなど)を指定しています)

成果物コピー
cp app/build/outputs/mapping/${Flavor}/${BuildType}/mapping.txt Outputs/

新しいディレクトリに対応できていないので、エラーになります。

エラー
cp: cannot stat ‘app/build/outputs/mapping/flavor/debug/mapping.txt’: No such file or directory

解決法

buildTypeはdebug/releaseという形で先頭が小文字だったのでどうしようかと思っていたのですが、bashに先頭を大文字にできる機能がありました。

cp app/build/outputs/mapping/${Flavor}${BuildType^}/mapping.txt Outputs/

参照時に^をつけると先頭だけ大文字にしてくれるようです。
(Bashのバージョンによるかもしれません)
これで無事mapping.txtの新しい階層に対応できました。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1