2

(ADK 21、NDK r8d、Eclipse Juno) [いくつかの Android アプリを作成したので、ADK/NDK などを使用してまともな経験をしました]

Eclipse プロジェクトのセットアップ:

- AppProject (android, java, no jni)
- LibProject (android, java, Yes jni)

以前は、すべてが 1 つのプロジェクトにありました。ビルドは正常に実行され、ネイティブ デバッグはうまく機能していました。

次に、「再利用可能な」部分を分割して、複数の「AppProject」アプリケーション フロント エンドで使用する共通コードのライブラリを作成します。(すべてが正常にビルド、リンク、パック、および実行されます)

ただし、「AppProject」を実行すると、ネイティブ ライブラリをデバッグできなくなります。

解決策は何ですか?

可能なオプション #1:

- Modify "LibProject" Android.mk to export a PreBuilt that is used by AppProject?
- (I would have all the debug symbols so I'm thinking that would work okay)

AppProject も同様に作成する必要がありますか? つまり、出力 .so を LibProject からインポートするための Android.mk があります。

可能なオプション #2

- http://stackoverflow.com/a/14344377/735533
- that workaround uses ndk-gdb
- I'm hoping for a solution where I can debug LibProject in Eclipse directly when running AppProject

メインアプリケーション「AppProject」を実行しているときに、依存プロジェクト「LibProject」にあるネイティブコードをデバッグするより良い方法はありますか?

ティア

4

1 に答える 1

0

興味のある方は...

  • プリビルドしてみた…
    • そして、それは間違いなく進むべき道のようです(テストプロジェクトのセットアップが機能しました)
    • しかし、私のコードベースの構造は、ネイティブ/非ネイティブのクロストークが少し重く、現時点では (まだ) 適切な再編成に時間をかけたくありませんでした。
    • ただし、事前構築済みとしての再構築は、現在、「重要な ToDo」リストに含まれています。

どこでも、ここに私の解決策があります。

Linux (unix フレーバー) では ... リンクを使用 - ソースは LibProject から各 AppProject にリンクされます。

基本的に、「LibProject」は開発中に一種の「テンプレート」になります。ライブラリとして直接ビルドまたは使用されることはありません。むしろ、各 AppProject は、ライブラリ プロジェクトの内容が独自のコード ツリーに埋め込まれた、自己完結型のスタンドアロン アプリケーションになります。最良の部分は、ネイティブ デバッグが魅力のように機能することです。

それは作成の要点打ち負かしますが、利点があります-「ライブラリ」部分の1つの共通コードベース...これは、私が当分の間本当に望んでいるものです.

また、アプリケーション プロジェクトが最終的なリリース ビルド用に真のライブラリ依存関係として使用するための変換は、簡単に切り替えることができます。デバッグが完了して準備が整ったら、ライブラリを個別に構築し、通常はアプリケーションの「フロント エンド」と一緒にパックして、アプリケーションとは別にアップグレードすることができます。

于 2013-04-04T03:09:33.637 に答える