在非常接近成功运行 Android 版 React-Native 后,我遇到了以下错误。
:app:compileDebugJavaWithJavac
/Users/Spicycurryman/Desktop/Main/Projects/Wosyl-Delivery-1.0-master/android/app/src/main/java/com/wosyldelivery/MainApplication.java:30: error: no suitable constructor found for CodePush(<null>,<anonymous ReactNativeHost>,boolean)
new CodePush(null, this, BuildConfig.DEBUG),
^
constructor CodePush.CodePush(String,Context,boolean,String) is not applicable
(actual and formal argument lists differ in length)
constructor CodePush.CodePush(String,Context,boolean) is not applicable
(actual argument <anonymous ReactNativeHost> cannot be converted to Context by method invocation conversion)
constructor CodePush.CodePush(String,Context) is not applicable
(actual and formal argument lists differ in length)
1 error
:app:compileDebugJavaWithJavac FAILED
我已按照存储库中的说明进行操作,但在查看此 https://github.com/Microsoft/react-native-code-push/issues/790 后仍不确定为什么会发生这种情况。
这是我的 MainApplication.java 的完整上下文。
package com.wosyldelivery;
import android.app.Application;
import android.util.Log;
import com.facebook.react.ReactApplication;
import com.microsoft.codepush.react.CodePush;
import com.oblador.vectoricons.VectorIconsPackage;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import java.util.Arrays;
import java.util.List;
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
@Override
protected boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new CodePush(null, this, BuildConfig.DEBUG),
new VectorIconsPackage()
);
}
@Override
protected String getJSBundleFile() {
return CodePush.getJSBundleFile();
}
};
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
}
出现这个错误的原因是什么?怎么解决?
最佳答案
new CodePush("deployment-key", getApplicationContext(), BuildConfig.DEBUG)
deployment-key
是一个字母数字字符串,您在注册代码推送帐户时会收到该字符串,并且不能为空。
关于java - 在 React-Native 中使用 Android 运行 CodePush,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44093603/