1

我正在使用完整的 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)
4

1 回答 1

0

更改 LOCAL_PACKAGE_NAME:= MyApp

LOCAL_PACKAGE_NAME:= com.full_package_name_for_you_app.MyApp

例如

LOCAL_PACKAGE_NAME:= com.xyz.MyApp

于 2020-03-04T21:18:21.970 回答