Java 包括Android makefile中的支持库-ClassnotfoundException

Java 包括Android makefile中的支持库-ClassnotfoundException,java,android,makefile,classnotfoundexception,appcompatactivity,Java,Android,Makefile,Classnotfoundexception,Appcompatactivity,我正在使用完整的android构建和构建一个系统应用程序。我使用Android Studio创建了这个应用程序,如果我使用Studio构建的话,效果会很好。然后,我将代码放在Android树中,使用Android.mk文件编译了apk,并且我也包含了所有库——动态而非静态(当我进行静态链接时,应用程序给出了许多错误)。但是,当我将应用程序放入/system/app文件夹并启动时,它会为MainActivity提供ClassNotFoundException。 我注意到的另一件事是,当我更改mai

我正在使用完整的android构建和构建一个系统应用程序。我使用Android Studio创建了这个应用程序,如果我使用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)

更改本地\u包\u名称:=MyApp

本地\u包\u名称:=com.full\u包\u名称\u for\u you\u app.MyApp

比如说


本地包名称:=com.xyz.MyApp

更改本地包名称:=MyApp

本地\u包\u名称:=com.full\u包\u名称\u for\u you\u app.MyApp

比如说


LOCAL_PACKAGE_NAME:=com.xyz.MyApp

您是否检查了这些库的位置?它们是否驻留在你的应用程序中?是。他们是apk的一部分。我以zip打开apk,查看了所有的.class文件,它们都在那里。你检查过这些库的位置了吗?它们是否驻留在你的应用程序中?是。他们是apk的一部分。我以zip的形式打开了apk,查看了所有的.class文件,它们都在那里。