0

Android が独自の古いバージョンの BouncyCastle 暗号ライブラリを出荷したおかげで、私は醜い状況に陥っています。クライアントがオンザフライでデータを暗号化および復号化する独自の Web サービスと REST をやり取りするライブラリを構築しました。クライアントは、Android 上のモバイル アプリケーション、または Oracle Java を実行するデスクトップ/サーバー コンピューターのいずれかです。

Android の場合は SpongyCastle が必要で、デスクトップ/サーバーの場合は BouncyCastle が必要です。これは、SpongyCastle JAR が署名されておらず、Oracle ランタイムがその暗号化を許可しないためです。

つまり、使用するライブラリに関係なく、コードはまったく同じです。パッケージ名が異なるため、インポートのみが異なります。C では条件付きコンパイルを使用してプラットフォーム固有のヘッダーを含めますが、Java ではそれほど多くはありません。それでも、ほとんど同じソースから 2 つのビルドを作成して、似たようなことを達成できる、あまり労力をかけない方法はありますか? まったく同じことを行う 2 つの .java ファイルが存在するのは本当に嫌ですが、インポートがいくつか異なるだけです。それはメンテナンスの悪夢です。

4

0 に答える 0