Chcę dodać niektóre funkcje do aplikacji przeglądarki, uruchamiając działanie z innej aplikacji na Androida. To daje mi package does not exist
podczas gdy ja robię Główny Projekt. Zauważ, że widzę AndroidLib zbudowany jest z powodzeniem w out/target/product/generic/data/app/AndroidLib.apk
Dodaj jeden projekt android jako bibliotekę w aplikacji AOSP
Oto dwa android.mk pliki: AndroidLib (normalny Android app)
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))
Przeglądarka aplikacji
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))
Potem do:
make -j Browser
To daje mi:
packages/apps/Browser/src/com/android/browser/BrowserActivity.java:36: package com.om.AndroidLib does not exist
import com.om.AndroidLib.MainActivity;
Czy zadeklarowane wszystkie działania Biblioteki projektu do głównego projektu Manifest z pakietu name.And tam również sprawdzić PAC Nazwa kage wymieniana w manifeście twojego projektu bibliotecznego. – Meenal
@MeenalSharma: Myślę, że powinno to być takie samo, gdy korzystasz z Eclipse i zdefiniować A jako bibliotekę, a następnie Dodaj bibliotekę do głównego projektu. Czy muszę skopiować deklarację A Lib do głównego projektu? –
Tak, musisz skopiować, ponieważ uruchamiasz główny projekt, a nie bibliotekę, a kiedy aktywna jest aktywność projektu biblioteki, jest ona pobierana z głównego projektu. – Meenal