0

vendor/xxx/libs/frameworks にライブラリがあります。そのライブラリを packages/apps/ にある別のアプリケーションで使用したいと考えています。ライブラリのクラスを呼び出すと、ClassNotFoundException が発生します。したがって、アプリケーションのメイクファイルまたはマニフェスト ファイルでこの jar を宣言する必要があります。はいの場合、どうすればそれを行うことができますか?

ここにjarのmakeファイルがあります

LOCAL_PATH := $(my-dir を呼び出す)

# ================================================= ===========

$(CLEAR_VARS) を含める

LOCAL_MODULE := xxx_core.jar

LOCAL_MODULE_CLASS := JAVA_LIBRARIES

LOCAL_MODULE_PATH := $(TARGET_OUT_JAVA_LIBRARIES)

LOCAL_SRC_FILES := $(LOCAL_MODULE)

$(BUILD_PREBUILT) を含める

==== パーミッション ========================

$(CLEAR_VARS) を含める

LOCAL_MODULE := xxx_core.xml

LOCAL_MODULE_CLASS := など

LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/権限

LOCAL_SRC_FILES := $(LOCAL_MODULE)

$(BUILD_PREBUILT) を含める

================================================== ==========

4

4 に答える 4

1

アプリケーションのマニフェストで使用<uses-library>して、この .jar への参照を作成します。

于 2014-09-02T14:47:14.240 に答える
1

アプリのビルドパスにjarを追加したかどうかについては言及していません。これを行うには、プロジェクトを右クリック > ビルド パス > 外部アーカイブを追加します。

これで解決しない場合は、次のトレッドを確認する必要があります: Android ClassNotFoundException

これが役立つことを願っています。

于 2012-08-20T06:45:19.133 に答える
1

これをまだ理解していない場合、探しているビルド コマンドは次のとおりです。

LOCAL_STATIC_JAVA_LIBRARIES := android-common <YOUR-FRAMEWORK>

フレームワークのメイクファイルに次のようなディレクティブがあると仮定します

LOCAL_MODULE:= <YOUR-FRAMEWORK>

幸運なことに、私は Android ビルド システムが文書化されていない巨大な混乱であることを発見しました。

于 2012-11-27T00:27:41.910 に答える
1

この手順に従って、Android アプリケーションに jar ファイルを含めます。お役に立ちます。

jar ファイルを lib フォルダーに配置します。

jarファイルを右クリックします。[ビルド パス]に移動し、 [ビルド パス構成] に移動します。 ダイアログ ボックスが開きます。Add JARs.. ボタンをクリックします。開いたプロジェクト リストからアプリに追加する jar ファイルを選択します。

[ OK ] をクリックします。jar ファイルがアプリケーションに追加されます

于 2012-08-20T06:54:07.857 に答える