You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Automotive预置应用构建报错:找不到EdgeToEdge类求助

问题原因

报错核心是Android Automotive的AOSP构建环境未包含AndroidX androidx.activity.EdgeToEdge 类的依赖。Android Studio中依赖由Gradle自动管理,但AOSP预置应用的构建系统(Blueprint/Makefile)不会自动引入AndroidX库,必须手动声明依赖或替换为原生实现。

解决方案

方案1:移除EdgeToEdge依赖,用原生API实现等效功能

EdgeToEdge.enable()本质是设置系统UI标志,让布局延伸到状态栏/导航栏下方,直接用原生代码替代即可,无需依赖AndroidX库:

修改后的MainActivity.java代码:

package com.example.myapplicationjava;

import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // 替代EdgeToEdge.enable()的核心逻辑
        getWindow().getDecorView().setSystemUiVisibility(
                View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
        
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });
    }
}

方案2:在AOSP构建配置中添加AndroidX依赖

如果必须保留EdgeToEdge,需要修改应用的构建脚本,声明依赖的AndroidX库:

若使用Blueprint(Android.bp)

在应用根目录的Android.bp中添加static_libs:

android_app {
    name: "MyApplicationJava",
    srcs: ["src/**/*.java"],
    resource_dirs: ["res"],
    manifest: "AndroidManifest.xml",
    // 添加AndroidX依赖
    static_libs: [
        "androidx.activity_activity",
        "androidx.appcompat_appcompat",
        "androidx.core_core",
    ],
}

若使用Makefile(Android.mk)

在Android.mk中添加LOCAL_STATIC_JAVA_LIBRARIES:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_MANIFEST_FILE := AndroidManifest.xml

LOCAL_STATIC_JAVA_LIBRARIES := \
    androidx.activity_activity \
    androidx.appcompat_appcompat \
    androidx.core_core

include $(BUILD_PACKAGE)

注:需确保你的AOSP源码已同步包含AndroidX相关库,现代Automotive版本默认自带,旧版本可能需要补充同步对应仓库。

推荐选择

优先选方案1,预置应用应尽量减少外部依赖,避免AOSP环境中依赖缺失的问题,同时功能与原代码完全一致。

内容的提问来源于stack exchange,提问作者pif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 20:35:29