我使用react-native run-android
运行RN Android应用程序时遇到问题它在构建阶段抛出异常,无法解决问题。
Execution failed for task ':react-native-firebase:transformClassesWithDexForDebugAndroidTest'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
我在网上尝试了各种各样的解决方案。 尝试过的解决方案是启用multiDex并在dexOptions中增加javaMaxHeapSize。
此错误可视为库或组件相关,但适用于超过64k限制的任何类型的应用程序。
还有一件事: 它在Android Studio中编译没有任何问题
答案 0 :(得分:1)
使用react 0.60我遇到了这个问题,并将multiDexEnabled true添加到我的defaultConfig(android / app / build.gradle)中修复了它:
android {
...
defaultConfig {
...
multiDexEnabled true
}
...
}
答案 1 :(得分:0)
从外观上看,你有太多的方法。这是一个常见的DEX问题。如上所述:
DexIndexOverflowException issue after updating to latest appcompat and support library
将此添加到build.gradle:
android {
defaultConfig {
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
然后在你的Android Manifest中添加:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
如果这有帮助,请告诉我!我之前遇到过这个问题。