Tôi muốn thêm một số tính năng vào ứng dụng Trình duyệt bằng cách bắt đầu một hoạt động từ một ứng dụng Android khác. Nó mang lại cho tôi package does not exist
trong khi tôi thực hiện Dự án Chính. Chú ý rằng tôi thấy AndroidLib được xây dựng thành công vào một out/target/product/generic/data/app/AndroidLib.apk
Thêm một dự án android làm thư viện trong AOSP App
Dưới đây là hai tập tin android.mk: AndroidLib (một Android App bình thường)
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))
Trình duyệt App
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))
Sau đó, tôi làm:
make -j Browser
Nó mang lại cho tôi:
packages/apps/Browser/src/com/android/browser/BrowserActivity.java:36: package com.om.AndroidLib does not exist
import com.om.AndroidLib.MainActivity;
bạn đã tuyên bố tất cả các hoạt động của dự án Thư viện vào dự án chính của Manifest với có gói name.And cũng kiểm tra các pac tên kage decalred trong tệp kê khai của dự án thư viện của bạn. – Meenal
@MeenalSharma: Tôi nghĩ rằng nó sẽ giống như khi bạn đang sử dụng Eclipse và định nghĩa A làm Thư viện, sau đó Thêm thư viện vào Dự án Chính. Tôi có cần phải sao chép tuyên bố của A Lib vào Dự án Chính không? –
có bạn phải sao chép bởi vì bạn chạy dự án chính của bạn và không phải là thư viện, và khi acitivity của dự án thư viện được gọi là nó được acessed từ dự án chính. – Meenal