当前位置: 首页 > 知识库问答 >
问题:

运行react本机应用程序时显示:app:TransformClasses with MultidexlistforeBug'

呼延源
2023-03-14

我有一个react原生应用程序,所有依赖项都正常工作,但现在当我试图运行该应用程序时,它给了我这个错误com.Android建筑应用程序编程接口。使改变TransformException:生成主索引列表时出错 我搜索了很长时间,没有发现任何有用的东西。

这是我的AndroidManifest文件:

<?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        package="com.movit_driver1">

        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"/>
        <uses-permission android:name="android.permission.BLUETOOTH"/>
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

        <application
          android:name=".MainApplication"
          android:label="@string/app_name"
          android:icon="@mipmap/ic_launcher"
          android:allowBackup="false"
          android:theme="@style/AppTheme"
          tools:replace="android:appComponentFactory"
          android:appComponentFactory="whateverString">
          
          <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
            android:windowSoftInputMode="adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
          </activity>
          <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
          <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="myapikey"/>
          <service android:name="io.invertase.firebase.messaging.RNFirebaseMessagingService">
          <intent-filter>
            <action android:name="com.google.firebase.MESSAGING_EVENT" />
          </intent-filter>
          </service>
          <service android:name="io.invertase.firebase.messaging.RNFirebaseInstanceIdService">
          <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
          </intent-filter>
          </service>

          <meta-data
            android:name="com.google.firebase.messaging.default_notification_icon"
            android:resource="@drawable/ic_launcher" />
          <meta-data
            android:name="com.google.firebase.messaging.default_notification_color"
            android:resource="@color/notificationColor" />


          <meta-data
            android:name="com.google.firebase.messaging.default_notification_channel_id"
            android:value="@string/default_notification_channel_id"/>

            <receiver android:name="io.invertase.firebase.notifications.RNFirebaseNotificationReceiver"/>
          <receiver android:enabled="true" android:exported="true"  android:name="io.invertase.firebase.notifications.RNFirebaseNotificationsRebootReceiver">
            <intent-filter>
              <action android:name="android.intent.action.BOOT_COMPLETED"/>
              <action android:name="android.intent.action.QUICKBOOT_POWERON"/>
              <action android:name="com.htc.intent.action.QUICKBOOT_POWERON"/>
              <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
          </receiver>
            
        </application>

    </manifest>

这是我的android构建gradle

        buildscript {
        ext {
            buildToolsVersion = "28.0.3"
            minSdkVersion = 16
            compileSdkVersion = 27
            targetSdkVersion = 26
            supportLibVersion = "27.1.1"
            multiDexEnabled = true
            googlePlayServicesVersion = "+" // default: "+"
            firebaseVersion = "+"
        }
        repositories {
            google()
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.2.0'
            classpath 'com.google.gms:google-services:4.2.0'

        }
    }

    task wrapper(type: Wrapper) {
        gradleVersion = '4.6'
        distributionUrl = distributionUrl.replace("bin", "all")
    }

    subprojects {
        project.configurations.all {
            resolutionStrategy.eachDependency { details ->
                if (details.requested.group == 'com.android.support'
                        && !details.requested.name.contains('multidex') ) {
                    details.useVersion "28.0.0"
                }
            }
        }
        afterEvaluate {
            android {
                compileSdkVersion 28
                buildToolsVersion "28.0.3"

                defaultConfig {
                    targetSdkVersion 28
                }
            }
        }
    }

最后是我的应用程序build gradle

  android {
        compileSdkVersion rootProject.ext.compileSdkVersion
        buildToolsVersion '28.0.3'

        defaultConfig {
            applicationId "com.movit_driver1"
            minSdkVersion rootProject.ext.minSdkVersion
            targetSdkVersion rootProject.ext.targetSdkVersion
            versionCode 1
            versionName "1.0"
            multiDexEnabled true
            ndk {
                abiFilters "armeabi-v7a", "x86"
            }
        }
         signingConfigs {
            release {
                if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                    storeFile file(MYAPP_RELEASE_STORE_FILE)
                    storePassword MYAPP_RELEASE_STORE_PASSWORD
                    keyAlias MYAPP_RELEASE_KEY_ALIAS
                    keyPassword MYAPP_RELEASE_KEY_PASSWORD
                }
            }
        }
        splits {
            abi {
                reset()
                enable enableSeparateBuildPerCPUArchitecture
                universalApk false 
                include "armeabi-v7a", "x86"
            }
        }
        buildTypes {
            release {
                minifyEnabled enableProguardInReleaseBuilds
                proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
                signingConfig signingConfigs.release
            }
        }
        applicationVariants.all { variant ->
            variant.outputs.each { output ->
                def versionCodes = ["armeabi-v7a":1, "x86":2]
                def abi = output.getFilter(OutputFile.ABI)
                if (abi != null) { 
                    output.versionCodeOverride =
                            versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
                }
            }
        }
    }

    dependencies {
        compile project(':rn-fetch-blob')
        compile project(':react-native-vector-icons')
        compile project(':react-native-maps')
        compile project(':react-native-image-picker')
        compile project(':react-native-firebase')
        compile project(':react-native-document-picker')
        compile project(':react-native-device-info')
        implementation 'com.google.firebase:firebase-core:+'
        implementation "com.google.firebase:firebase-firestore:+"
        implementation "com.google.firebase:firebase-messaging:+"
        implementation "com.android.support:multidex:1.0.2"
        implementation fileTree(dir: "libs", include: ["*.jar"])
        implementation "com.facebook.react:react-native:+" 
        implementation 'com.google.android.gms:play-services-base:+'
        implementation 'com.google.android.gms:play-services-maps:+'
        implementation 'com.android.support:appcompat-v7:+'
        implementation 'com.android.support:design:+'
    }

    task copyDownloadableDepsToLibs(type: Copy) {
        from configurations.compile
        into 'libs'
    }

当我试图运行项目时,它会显示错误。所以,我是否必须将项目迁移到androidx,因为我不想这样做。任何帮助都将不胜感激。


共有1个答案

吕嘉荣
2023-03-14

我遇到了一个类似的问题,有相同的错误消息,但我找不到确切的原因,但以下是我所做的:

我已经用stacktrace执行了构建。很明显,在这一点上,问题在于androidx依赖关系。

gradlew -q dependencies yourProject:dependencies

只有一个包使用了androidx依赖项。更新了那个特定的包,随着更新,依赖项消失了——构建恢复正常。

希望有帮助!

 类似资料:
  • 错误如下: 02-11 13:24:31.561 526 2-5262/?E/AndroidRuntime:致命异常:main process:com.example.vicky.project,pid:5262 java.lang.runtimeException:无法启动活动ComponentInfo{com.example.vicky.project/com.example.vicky.pr

  • 因此,我试图在我的终端上运行react native,但我不断收到不同的错误,不知道发生了什么,我不断修复,然后不断出现更多错误,但我遇到的最新问题是关于我的react native track player,我在包中使用github播放器。json 使用“--warning mode all”显示单个弃用警告。看见https://docs.gradle.org/6.2/userguide/com

  • 我在windows上构建了一个react原生应用程序,当我试图在mac上运行它时,它会给我一个错误。只有当我尝试运行Android系统时,它才显示出这个错误,ios运行得非常完美。在我在mac上构建之后,它甚至在之前编码的windows系统中也不会运行。 错误:-

  • 你好,我是React Native的初学者,我已经安装了他们说的所有东西。 现在我已经使用下面的命令创建了应用程序 应用程序创建成功 现在我尝试使用下面的命令运行应用程序 我犯了错误 **构建失败** 以下生成命令失败:CompileSwift normal x86_64/Users/encora/Documents/Paresh\Workspace/React\Native\Projects/T

  • 屏幕截图真实设备 一加六 我的应用程序/构建。格拉德尔 我的顶级身材。梯度锉 我package.json依赖 采取步骤解决: 尝试使用与下面链接中建议的“com.google.firebase:firebase core”和“com.google.firebase:firebase messaging”相同版本的依赖项(17.0.0)。 没有类定义错误:java。lang.NoClassDefFo

  • LOGCAT错误阻止我打开MAP活动并停止工作。