[包含Android makefile中的支持库-ClassnotfoundException

问题描述 投票:1回答:1

我正在使用完整的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)
java android makefile classnotfoundexception appcompatactivity
1个回答
0
投票

更改LOCAL_PACKAGE_NAME:= MyApp

to

LOCAL_PACKAGE_NAME:= com.full_package_name_for_you_app.MyApp

例如

LOCAL_PACKAGE_NAME:= com.xyz.MyApp

© www.soinside.com 2019 - 2024. All rights reserved.