1

我需要在项目中使用两个不同的维度。但是在这种用法之后,无论我做什么,Android Studio 都会告诉我“未找到默认活动”。实际上 src 文件夹中没有任何变化,因为我不需要修改风味中的任何类。

flavorDimensions "device", "backend"

productFlavors {
    dev {
        buildConfigField "String", "API_VERSION", "\"1.1\""
        ...extra configs
        dimension "backend"
    }
    staging {
        buildConfigField "String", "API_VERSION", "\"1.1\""
        ...extra configs
        dimension "backend"
    }
    prod {
        buildConfigField "String", "API_VERSION", "\"1.1\""
        ...extra configs
        dimension "backend"
    }
    android {
        buildConfigField "String", "DEVICE_TYPE", "\"ANDROID\""
        dimension "device"
    }
    huawei {
        buildConfigField "String", "DEVICE_TYPE", "\"ANDROID_HW\""
        versionCode 10000 + defaultConfig.versionCode
        dimension "device"
    }
}

在此处输入图像描述 在此处输入图像描述

主/AndroidManifest.xml:

<application
    android:name=".XApplication"
    ...

    <activity
        android:name=".ui.SplashActivity"
        android:theme="@style/SplashTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
4

1 回答 1

0

AndroidManifest.xml中,将您的活动的属性更改android:name为您的活动的完全限定类名,而不是使用.ui.SplashActivity符号。当您为名称添加前缀时.,它会将其附加到package您的属性的注释中<manifest>,这可能与您的实际 Activity 类的包匹配,也可能不匹配。确保您的 Activity 类package在文件顶部具有正确的声明,并且位于正确的 src 目录中。

您的应用程序类名称也是如此。.我不惜一切代价避免使用该符号。

于 2020-09-23T06:25:29.807 回答