4

私は Android 開発にはかなり慣れていませんが、Java と Eclipse の経験はある程度あります。自分のプロジェクトで使用できる再利用可能なライブラリ (コントロール、ヘルパー、「標準」アクティビティなど) を作成する方法を探していますが、ソース コードを開示せずに他の開発者に配布することもできます。

通常、私はクラス ファイルを JAR ファイルにパッケージ化し、他の開発者はそれをクラスパスに追加して、パッケージ化されたクラスを使用できます。

Android プロジェクトでそれを行うにはどうすればよいですか? Android ライブラリ プロジェクトについて読みましたが、ドキュメントに記載されているように、JAR にパッケージ化することはできませんが、ライブラリ プロジェクトを参照するプロジェクトと共にコンパイルされます。これは、ソース コードも配布する必要があることを意味します。

この投稿も読みました。同じ質問について尋ねていますが、満足のいく答えはありませんでした。

だから:一連のクラスと他のファイル(XMLレイアウト、リソースなどを含む)をコンパイルしてパッケージ化し、ソースコードなしでそのパッケージのみを配布して、「参照」してJARファイルのように使用できるようにする方法はありますか?他の開発者は?

4

3 に答える 3

5

Android ライブラリ プロジェクトについて読みましたが、ドキュメントに記載されているように、JAR にパッケージ化することはできませんが、ライブラリ プロジェクトを参照するプロジェクトと共にコンパイルされます。これは、ソース コードも配布する必要があることを意味します。

違います。追加のパッケージ化作業が少し必要になりますが、コードを JAR にコンパイルし、その JAR をライブラリ プロジェクトのlibs/ディレクトリに配布できます。

だから:一連のクラスと他のファイル(XMLレイアウト、リソースなどを含む)をコンパイルしてパッケージ化し、ソースコードなしでそのパッケージのみを配布して、「参照」してJARファイルのように使用できるようにする方法はありますか?他の開発者は?

Android ライブラリ プロジェクトを使用します。ここでは、パッケージ化のオプションについてもう少し説明したものと、そこに記載されている規則に従ういくつかの「小包」へのポインタを書いています。

于 2010-09-14T12:33:41.073 に答える
0

解決策をありがとう。私が理解していることから、ライブラリコード内からライブラリ専用のリソースにアクセスすることはまだできません。したがって、ライブラリの res/values の下に「my_lib_resource」という名前の文字列リソースがあるとします。これをソース コードと一緒に jar にバンドルします。次のようなものを使用して、ライブラリ ソース コードからこのリソースにアクセスできますか。

int id = res.getIdentifier("com.example.mylib:string/my_lib_resource",null,null) 

ライブラリ パッケージ名が com.example.mylib であると仮定します。

私にとってこれはうまくいきません。

于 2011-02-08T22:22:02.150 に答える
0

依存関係管理の素晴らしい新しい世界:

http://tools.android.com/recent/dealingwithdependenciesinandroidprojects

于 2013-09-17T04:40:47.750 に答える