反应本机配置:活动类不存在

问题描述

我设置了一个文件 .env.devdps

APP_NAME=TestDps

只需在 AndroidManifest.xml 中使用 APP_NAME

<activity
  ...
  android:label="@string/APP_NAME"
/>

在我的android/app/build.gradle

defaultConfig {
  ...
  resValue "string","build_config_package","com.testdev"
  manifestPlaceholders = [label: 'testDev']
}

添加一个 buildTypes dps

buildTypes {
    debug {
        signingConfig signingConfigs.debug
        applicationIdSuffix ".dev"
    }
    release {
        // Caution! In production,you need to generate your own keystore file.
        // see https://reactnative.dev/docs/signed-apk-android.
        signingConfig signingConfigs.debug
        minifyEnabled enableProguardInReleaseBuilds
        proguardFiles getDefaultProguardFile("proguard-android.txt"),"proguard-rules.pro"
    }
    dps {
        initWith debug    
        applicationIdSuffix ".dps" 
        matchingFallbacks =  ['debug']
    }
}

然后在终端输入命令: ENVFILE=.env.devdps npx react-native run-android --variant=dps

结果显示错误 Activity class {com.testdev/com.testdev.MainActivity} does not exist

BUILD SUCCESSFUL in 11s 46 actionable tasks: 46 executed info Connecting to the development server... info Starting the app on "emulator-5554"... Starting: Intent { cmp=com.testdev/.MainActivity } Error type 3 Error: Activity class {com.testdev/com.testdev.MainActivity} does not exist.

如何解决问题?

解决方法

检查您的 MainActivity.java 和 MainApplication.java 文件是否在正确的路径下。例如,如果您的包 ID 是:com.companyname.app,它们应该在 android/app/src/main/java/com/companyname/app 下。 还要检查您的 AndroidManifest.xml 中是否有正确的包,该包应该与您的包 ID 相同(在本例中为:com.companyname.app)。 MainActivity 和 Mainapplication 文件中的包相同。