Desidero aggiungere alcune funzionalità nell'app Browser avviando un'attività da un'altra applicazione Android. Mi dà package does not exist
mentre faccio il Main Project. Si noti che vedo l'AndroidLib è costruito con successo in un out/target/product/generic/data/app/AndroidLib.apk
Aggiungere un progetto Android come libreria nell'app AOSP
Qui ci sono due file android.mk: AndroidLib (una normale app 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))
Browser 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))
Poi ho fare:
make -j Browser
Mi dà:
packages/apps/Browser/src/com/android/browser/BrowserActivity.java:36: package com.om.AndroidLib does not exist
import com.om.AndroidLib.MainActivity;
vi siete dichiarato tutte le attività della Biblioteca progetto in progetto principale manifesto con là pacchetto name.And controllare anche la pac kage name decalred nel manifest del tuo progetto di libreria. – Meenal
@MeenalSharma: Penso che dovrebbe essere lo stesso come quando si utilizza Eclipse e definire A come libreria, quindi aggiungere la libreria nel progetto principale. Devo copiare la dichiarazione di A Lib nel Main Project? –
sì, è necessario copiare perché si esegue il progetto principale e non la libreria, e quando viene chiamata l'acidità del progetto della libreria, viene eseguita dal progetto principale. – Meenal