蓋を開けてみたら滅茶苦茶初歩的なミスが原因でしたが、エラー内容から原因を推測できず、ググっても対処法が分からず、時間をかなり浪費したので自戒の意味も込めて記事にしておきます。
経緯
libGDXを用いてAndroidアプリ開発をしていましたが、 Mac, iPhoneを手に入れたので、制作しているアプリをiOSアプリとしてもリリースしたいと考えました。
早速MacにAndroid Studioをインストールし、GitHubから最新のリポジトリをcloneして、 まずはAndroidアプリをエミュレータ経由で起動出来るようにするところから試し始めたのですが、 エミュレータ上での起動時に以下の例外が発生。
Caused by: java.lang.SecurityException: class "org.bouncycastle.jcajce.provider.symmetric.IDEA$Mappings"'s signer information does not match signer information of other classes in the same package
ああ、よくあるライブラリの競合だなと思って、libGDXのプロジェクトルートに飛び、
chmod 755 ./gradlew
cd android
../gradlew dependencies | grep org.bouncycastle
で依存関係をチェックしたのですが、一件もヒットしない!
そもそも、Windowsマシン側で正常に実行できるのに、Macでは実行できないというのは何か環境依存の原因があるのでは……
と思って泥沼にハマっていきました。
対処法
確かに環境依存の原因っちゃ原因ですが、悲しい。
org.bouncycastleについて詳しくなりましたが、その知識が役に立つことはありませんでした……