如何为 react native 启用 multidex?

2022-09-01 11:08:36

我很确定这是一个内置功能,但我在搜索或在文档中找不到任何东西。是否有用于在启用多dex 的情况下进行构建的标志?

另一方面:有没有办法看到哪些库正在弄乱你的方法计数?达到64k的限制是相当令人惊讶的。


答案 1

对于RN 0.59 +和使用Gradle 3.4.1,这里没有一个答案有完整的解决方案。我做了以下工作,它的工作原理:

  1. 在 中,更新块:android/app/build.gradledependency

    dependencies {
        // ... your other dependencies
    
        // Multidex
        implementation 'com.android.support:multidex:1.0.3'
    }
    

    并且还更新了块中的:defaultConfigandroid

    defaultConfig {
        // ... your `applicationId`, etc.
        multiDexEnabled true
    }
    
  2. 在 中,如果您使用的是 RN 0.60+ 或已手动升级到 AndroidX,请将顶部的 OR 替换为 OR,然后改用以下命令:MainApplication.java
    import android.app.Application;
    
    import android.support.multidex.MultiDexApplication;
    
    import androidx.multidex.MultiDexApplication;
    
  3. 仍在 中,替换为MainApplication.java
    public class MainApplication extends Application implements ReactApplication {
    
    public class MainApplication extends MultiDexApplication implements ReactApplication {
    

答案 2

在其他地方找到了答案。这与为任何常规Android项目启用它没有什么不同。

android {
    ....
    defaultConfig {
        ...
        multiDexEnabled true
    }

至于方法计数,这个网站做了这个技巧:http://inloop.github.io/apk-method-count/


推荐