我正在使用完整的android构建和构建系统应用程序。我使用Android Studio创建了应用程序,如果我使用工作室构建它可以正常工作。然后我将我的代码放在Android树中并使用Android.mk文件编译apk,我也包括了所有库 - 动态而不是静态(应用程序在我进行静态链接时会产生很多错误)。但是,当我将应用程序放在/ system / app文件夹中并启动时,它为MainActivity提供了ClassNotFoundException。 我注意到的另一件事是当我更改mainActivity从Activity而不是AppCompatActivity扩展时,ClassNotFoundException消失了(虽然因为我需要AppCompatActivity而导致其他相关错误开始出现)。
我该如何解决这个问题。这是我的Android.mk文件:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := eng
LOCAL_PROGUARD_ENABLED := disabled
LOCAL_SRC_FILES := $(call all-java-files-under, src) src/android/hardware/fingerprint/IFingerprintServiceReceiver.aidl
LOCAL_AIDL_INCLUDES := src/android/hardware/fingerprint/IFingerprintServiceReceiver.aidl
LOCAL_AAPT_FLAGS := --auto-add-overlay
LOCAL_AAPT_FLAGS += --extra-packages android.support.v7.appcompat:android.support.v7.recyclerview
LOCAL_RESOURCE_DIR := \
frameworks/support/v7/appcompat/res \
frameworks/support/v7/recyclerview/res \
$(LOCAL_PATH)/res
LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 \
android-support-v7-recyclerview \
android-support-v7-appcompat \
LOCAL_PACKAGE_NAME := MyApp
LOCAL_SDK_VERSION := current
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
答案 0 :(得分:0)
更改LOCAL_PACKAGE_NAME:= MyApp
到
LOCAL_PACKAGE_NAME:= com.full_package_name_for_you_app.MyApp
例如
LOCAL_PACKAGE_NAME:= com.xyz.MyApp