8

別の Android アプリケーションからアクティビティを開始して、ブラウザ アプリにいくつかの機能を追加したいと考えています。package does not existメインプロジェクトを作成している間、それは私に与えます。AndroidLib が正常にビルドされていることがわかります。out/target/product/generic/data/app/AndroidLib.apk

ここに 2 つの android.mk ファイルがあります: AndroidLib (通常の Android アプリ)

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_STATIC_JAVA_LIBRARIES := \
        google-ps \
        android-support-v4 \

LOCAL_SRC_FILES := \
        $(call all-java-files-under, src) \
LOCAL_MODULE := AndroidLib
LOCAL_PACKAGE_NAME := AndroidLib

LOCAL_MODULE_TAGS := tests

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := google-ps:libs/google-play-services.jar

include $(BUILD_PACKAGE)

# additionally, build tests in sub-folders in a separate .apk
include $(call all-makefiles-under,$(LOCAL_PATH))

ブラウザアプリ

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_STATIC_JAVA_LIBRARIES := \
        android-common \
        guava \
        android-support-v13 \
        android-support-v4 \

LOCAL_SRC_FILES := \
        $(call all-java-files-under, src) \
        src/com/android/browser/EventLogTags.logtags

LOCAL_PACKAGE_NAME := Browser

LOCAL_PROGUARD_FLAG_FILES := proguard.flags

LOCAL_EMMA_COVERAGE_FILTER := *,-com.android.common.*


# We need the sound recorder for the Media Capture API.
LOCAL_REQUIRED_MODULES := SoundRecorder, AndroidLib

include $(BUILD_PACKAGE)
# additionally, build tests in sub-folders in a separate .apk
include $(call all-makefiles-under,$(LOCAL_PATH))

それから私は:

make -j Browser

それは私に与えます:

packages/apps/Browser/src/com/android/browser/BrowserActivity.java:36: package com.om.AndroidLib does not exist
import com.om.AndroidLib.MainActivity;
4

4 に答える 4

0

ビルド前のjarファイルをフレームワークに追加するには、次のようにしました。

  1. jar と Android.mk ファイルを含むフォルダーを見つけます。

    プレビルド/その他/共通/

Android.mk:

LOCAL_PATH := $(call my-dir) 
include $(CLEAR_VARS) 

LOCAL_MODULE := <jar name> 
LOCAL_MODULE_TAGS := optional 
LOCAL_SRC_FILES := <jar name>.jar 
LOCAL_MODULE_CLASS := JAVA_LIBRARIES 
LOCAL_MODULE_SUFFIX := $(COMMON_JAVA_PACKAGE_SUFFIX) 

include $(BUILD_PREBUILT) 
  1. Android.mk ファイルで make を実行します。make prebuilds/misc/common/Android.mk

  2. jar ファイルを Frameworks/base/services/Android.mk に追加します。

LOCAL_STATIC_JAVA_LIBRARIES := $(addprefix services.,$(services)) jar-name

于 2016-11-01T13:23:56.047 に答える