0

I have the following situation, I have an Android codebase where I read data from a DB on an sdcard. Now Lets say I have two folders mnt/sdcard/folder1 which has 1.sqlite in it and mnt/sdcard/folder2 which has 2.sqlite in it. Is there a way I can build and install two apk's 1.apk and 2.apk which read from the respective folders and databases at runtime? The codebase is the same - just at run time - one of the apk's is called 1.apk which knows it has to read from the first folder and the second from second. And both are installable at the same time.

OR

is there a better way to achieve this ?

4

1 に答える 1

0

あなたが何をしようとしているのか完全にはわかりませんが、同じデバイスで2つのバージョンのコードを実行する唯一の方法は、2つの.apkファイルに2つの異なるパッケージ名を付けることです。

共通のコードベースをライブラリプロジェクトに配置してから、構成ごとに1つずつ、2つのアプリケーションプロジェクトを定義します。各アプリケーションプロジェクトを共通のコードベースに依存させ、各構成に固有の必要なものをいくつか定義するだけです。

両方のアプリケーションを同時に実行する必要がある場合は、これが唯一の方法だと思います。ただし、実行時にいずれかの方法で選択的に動作できるアプリケーションが必要な場合は、いくつかの実行時フラグを使用できるように思われます。

または、サービスを介して各データセットにアクセスできるようにし、実行時に必要なサービスに動的に接続することもできます。これが理にかなっているかどうかは、これらすべてで何を達成しようとしているかによって異なります。

編集別のアプローチは、2つの動作に対して別々の起動アイコンを用意し、それぞれをアプリケーションの異なるアクティビティに関連付けることです。このアプローチの詳細については、このスレッドを参照してください。

于 2012-11-18T04:04:40.650 に答える