2011-12-27 21 views
0

2つ目の同様のプロジェクト(「sqliteデータベース(assets/mydata.sql)」)が異なる2つ目の同様のプロジェクトに対して、「クローン」したいAndroidプロジェクトがあります。Androidライブラリプロジェクトの実装

は、私がライブラリにソースプロジェクト(RESLIB)になって、私のクローンのプロジェクトのプロパティにそれを追加しました

事は、私が「、である(ソースプロジェクトはreslib.jarとして「図書館プロジェクト」の下に表示します)ソースプロジェクトでメインアクティビティを起動する方法がわかりません。ソースプロジェクトの主な活動は、TabHostを設定します。クローンプロジェクトからソースプロジェクトの主なアクティビティを起動するにはどうすればよいですか?私は "cloneActivity.java"にコードを貼り付けてTabHostを起動しましたが、より良い方法があるかどうか疑問に思っていました。

+0

ライブラリを選択した理由は何ですか?これらの2つのプロジェクトは相互依存していますか?そうでない場合は、プロジェクト名を変更して必要なファイルを変更するのはいかがですか?これを市場にアップロードすると、とにかく新しいAPKになりますか? – kosa

+0

私はプロジェクト間でコードを共有しようとしています。 2つのプロジェクト間で共有コードベースを作成するための共通の共有ライブラリ(プロジェクト)の作成は、私が見つけることができる唯一の方法でした。 – wufoo

+0

それから私は何の答えもありません申し訳ありません。私の場合は、2つのソースコードベースを維持しました。ちなみに私は他の人には必要でないアプリの1つに余分な機能を追加することができました。あなたにも同じことを強くお勧めします。誰が知っている、将来あなたは同じ状況に直面する可能性があります。 – kosa

答えて

1

これはかなり単純です。依存プロジェクトのマニフェストでは、起動したいプロジェクトとしてソースプロジェクトのアクティビティを指定する必要があります。

ソースプロジェクトのパッケージ名がcom.example.source、依存プロジェクトのパッケージ名がcom.example.dependent、ソースプロジェクトの主なアクティビティがMainActivity.javaであるとします。

<application 
    android:icon="@drawable/logo" > 
    <activity 
    android:name="com.example.source.MainActivity" > 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
    </activity> 

    <!-- possibly lots more activities and other declarations --> 

</application> 

重要な注意事項:

は、その後、あなたの依存プロジェクト内のAndroidManifest.xmlで、次のようなものだろう、あなたのソースプロジェクトと依存プロジェクトの両方のためのマニフェストでを、あなたがしなければなりませんすべてのアクティビティ、パーミッションなどをリストにしてください。後でアクティビティをソースプロジェクトに追加する場合は、そのプロジェクトをマニフェストの依存プロジェクトに追加することを忘れないでください。

また、ソースプロジェクトのassetsディレクトリにあるものを依存プロジェクト—にコピーし、それを同期させておくことを忘れないでください。

そして、あなたはプロジェクトを作成するためのEclipseを使用する場合、最終的に、それが作成されます(これは、2012年6月の時点で、私はAndroidのビルドツールのいくつかの将来のバージョンの可能性が高い。この頭痛を軽減することを聞いたことが真実です)デフォルトレイアウトmain.xml。従属プロジェクトのリソースはソースプロジェクトのリソースをオーバーライドするので、これがあなたをトリップしないことを確認してください。

+0

ありがとう!私は、ライブラリプロジェクトでスタートアップアクティビティを開始した依存プロジェクトでアクティビティを作成しました。最高ではありませんが、私はその時にすべてを把握することができました。私はこの方法がはるかに良いのが好きです! – wufoo

関連する問題