找不到 com.android.support:multidex-instrumentation:27.1.1

Posted

技术标签:

【中文标题】找不到 com.android.support:multidex-instrumentation:27.1.1【英文标题】:Could not find com.android.support:multidex-instrumentation:27.1.1 【发布时间】:2018-12-16 12:36:42 【问题描述】:

我按照https://developer.android.com/studio/build/multidex上的说明进行操作

这是我的错误代码。 任务 ':app:lintVitalRelease' 执行失败。 > 无法解析配置的所有工件 ':app:debugAndroidTestRuntimeClasspath'。

但我在尝试获取签名 apk 时遇到了同样的问题,这是我的依赖:

defaultConfig 
    applicationId "com.myproject"
    minSdkVersion rootProject.ext.minSdkVersion
    targetSdkVersion rootProject.ext.targetSdkVersion
    versionCode 1
    versionName "1.0"
    ndk 
        abiFilters "armeabi-v7a", "x86"
    
    multiDexEnabled true


dependencies 
 implementation project(':react-native-date-picker')
 implementation project(':react-native-wheel-picker-android')
 implementation project(':lottie-react-native')
 implementation project(':react-native-firebase')
 implementation "com.google.firebase:firebase-auth:16.0.5"  
 implementation "com.google.android.gms:play-services-base:16.0.1"
 implementation "com.google.firebase:firebase-core:16.0.4"
 implementation 'com.android.support:multidex:1.0.3'
 implementation project(':react-native-svg')
 implementation fileTree(dir: "libs", include: ["*.jar"])
 implementation 'com.android.support:design:25.4.0'
 implementation "com.android.support:appcompat- 
 v7:$rootProject.ext.supportLibVersion"
 implementation "com.facebook.react:react-native:+"  // From node_modules
 implementation project(':react-native-navigation')
 implementation project(':react-native-linear-gradient')

和我的 MainApplication.java:

public class MainApplication extends NavigationApplication 

  @Override
  protected void attachBaseContext(Context base) 
     super.attachBaseContext(base);
     MultiDex.install(this);
  


  @Override
      public boolean isDebug() 
      return BuildConfig.DEBUG;
  

   protected List<ReactPackage> getPackages() 
      // Add additional packages you require here
      // No need to add RnnPackage and MainReactPackage
      return Arrays.<ReactPackage>asList(
        new LinearGradientPackage(),
        new LottiePackage(),
        new RNFirebasePackage(),
        new RNFirebaseAuthPackage(),
        new WheelPickerPackage(),
        new DatePickerPackage()
      );
  
  

  @Override
  public List<ReactPackage> createAdditionalReactPackages() 
      return getPackages();
  

  @Override
  public String getJSMainModuleName() 
    return "index";
  

【问题讨论】:

【参考方案1】:

删除这行

@Override
  protected void attachBaseContext(Context base) 
     super.attachBaseContext(base);
     MultiDex.install(this);
  

在 MainApplication.java

 implementation 'com.android.support:multidex:1.0.3'

在 build.gradle

将 minSdkVersion 升级到 21 解决了我的问题

【讨论】:

【参考方案2】:

React-native + rnn v2 遇到了同样的问题 解决方案: 如果您的 minSdkVersion 设置为 21 或更高,您只需在模块级 build.gradle 文件中将 multiDexEnabled 设置为 true,如下所示:

机器人 默认配置 ... minSdkVersion 21 targetSdkVersion 28 multiDexEnabled 真 ...

但是,如果您的 minSdkVersion 设置为 20 或更低,那么您必须使用 multidex 支持库,如下所示: 然后按照这里的官方说明 https://developer.android.com/studio/build/multidex

【讨论】:

以上是关于找不到 com.android.support:multidex-instrumentation:27.1.1的主要内容,如果未能解决你的问题,请参考以下文章

java 枚举 找不到符号

bat系统找不到指定文件怎么办?

java package找不到符号

SpringBoot报找不到 dao 问题

ubuntu20.04找不到start命令

找不到名为“my”的模块。找不到名为“mycontroller”的控制器