2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AndroidでAPKを作成しようとしたら発生した依存関係のエラー

Last updated at Posted at 2018-10-19

#事象
開発時は問題なくビルドできたのだけど、APKを作成しようとしたら以下のようなエラーがでてしまい困った。
"Program type already present: com.google.gson.ExclusionStrategy"

#理由
そのプログラムはすでにある:gson
gsonは使っている。好きな方だし、build.gradle にも記載している。これが重複しているのが問題らしい。開発時は問題ないのになんでだろう?

#探査
下記コマンドを実行し、使用ライブラリの依存関係をみる。
./gradlew :app:dependencies
gsonで検索すると、retrofit, glide, chuck… 様々なライブラリで使われている。みんなも好きなんだな。
さまざまなバージョンが指定されてしまっており、このあたりが問題になっているのではないかと推測してみる。

#対処
とりあえず不要なライブラリの整理をしてビルドしてみたがだめだった。
次にretrofitやほかのライブラリ内でつかわれているgsonをexcludeしてみた

build.gradle
implementation('com.squareup.retrofit2:converter-gson:2.4.0') {
        exclude group: 'com.google.code.gson', module: 'gson'
}

それでもだめだった…

#解決
なかばやけ気味にgson本体のimplementationも削除してみたらビルドできた。
念の為動作も確認してみたが問題はなさそう。まだだれかが依存しているのだろうか…。

とりあえず解決したし、いそいでいたこともあり今回はこれ以上は深掘りはしなかった。しかし依存関係を解消してくれるはずであるgradleに依存関係で転がされてしまった。機械め… という気持ちになりつつまだAIに仕事を奪われるような時代は遠いなとうっすら適当に思った。

以上でございます。

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?