Que*_*een 7 android react-native
我是新手,react native我在Ubuntu中使用它.我想在我的电脑上运行一个项目.我使用纱线和android模拟器.这是我安装的应用程序版本:
yarn: 1.2.0
nmp: 3.10.10
Run Code Online (Sandbox Code Playgroud)
使用时出现以下错误:
$ react-native run-android
Run Code Online (Sandbox Code Playgroud)
这是错误:
* What went wrong:
Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException
Run Code Online (Sandbox Code Playgroud)
我已经测试了许多存在的解决方案stackoverflow但是,它们并不适用于我.如:
添加谷歌服务 - 任务'执行失败':app:processDebugResources'
错误:android studio中的任务':app:transformClassesWithDexForDebug'执行失败
我也用Google play service,我已经安装了Firebase插件.你知道我该怎么办?
wiz*_*loc 10
我的猜测是你超过64k参考限制并需要启用多索引.您链接的第二篇文章引用了如何解决此问题,但许多react-native项目使用16的minSdkVersion初始化,因此启用multidex还有一个额外的步骤.你有两个选择.
选项1:
将您的minSdkVersion升级到AndroidManifest.xml文件(android/app/src/main/AndroidManifest.xml)以及build.gradle文件(android/app/build.gradle),然后在build.gradle文件中添加multiDexEnabled在这一行中是真的
android {
defaultConfig {
...
minSdkVersion 21
targetSdkVersion 26
multiDexEnabled true
}
...
}
Run Code Online (Sandbox Code Playgroud)
选项2:
如果需要保留minSdkVersion 16,请在build.gradle文件中将multiDexEnabled设置为true,然后在同一文件中的"dependencies"下添加此行
dependencies {
compile 'com.android.support:multidex:1.0.1'
...(your other dependencies here)
}
Run Code Online (Sandbox Code Playgroud)
然后,根据您是否重写Application类,执行以下操作之一:
如果不覆盖Application类,请编辑清单文件以在标记中设置android:name,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp">
<application
android:name="android.support.multidex.MultiDexApplication" >
...
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
如果您在android/app/src/main/java/MainApplication.java中覆盖Application类,请将其更改为扩展MultiDexApplication(如果可能),如下所示:
public class MyApplication extends MultiDexApplication { ... }
Run Code Online (Sandbox Code Playgroud)
这是android的文档,说明此错误的含义及其发生的原因,以及如何修复它https://developer.android.com/studio/build/multidex.html
小智 7
这对我有用,当您在项目目录中时,请尝试使用:
cd android && gradlew clean
cd .. && react-native run-android
Run Code Online (Sandbox Code Playgroud)
来源:https : //github.com/facebook/react-native/issues/10367#issuecomment-308153481
| 归档时间: |
|
| 查看次数: |
7916 次 |
| 最近记录: |