私は、両方のアプリケーションに共通のバックグラウンドサービスを使用してBluetoothデータを収集する2つのアプリケーションを用意しています。アプリケーションの最初のインストール時にすべてうまく動作します。2つのアプリケーションで共有するとライブラリ内のAndroidサービスが更新されない
共通のサービスを変更した後にアプリケーションの1つを再デプロイすると、以前にインストールされたサービスが引き続き使用されるという問題があります。
ここにいくつかの情報と例を明確にする: 2つのアプリケーションの名前はBioSoundとBioZenです。それぞれには、AndroidSpineServerLibという共通ライブラリが含まれています。これらのライブラリには、共通ライブラリAndroidBTService(バックグラウンドサービスを含む)が含まれています。
たとえば、最初のインストールでは、AndroidBTServiceのバージョン番号は1.0です。アプリケーションがすべて展開されている場合は、BioZenとBioSoundの両方でV1.0サービスが使用されます。
次に、私はBioSoundとAndroidBTServiceに変更を加え、バージョンをV1.1に増やします。この後にBioSoundを導入すると、新しく変更されたサービスV1.1を使用することが期待されますが、V1.0サービスは引き続き使用されます。この問題を解決する唯一の方法は、BioZenを削除し、次にBioSoundに正しいサービスを提供することです(BioSoundを再インストールする必要はありません)。
各アプリケーションを起動すると、サービスにバインドされ、各アプリケーションが終了するとサービスがバインド解除されます。
明らかに私は何かが不足していますが、それを理解できません。何か案は?