我有一个react-native
具有 3android
种产品风格的应用程序,即 dev、prod 和 staging。问题是当我尝试通过 分发应用程序Crashlytics
时,基本上当我构建发布签名apk
文件时,CodePush
停止工作。我redux-saga
在我的应用程序中使用,我正在使用react-native-redux-saga
包来检查CodePush
更新。一切正常iOS
,但不是Android
我上面提到的。
在我的Android
项目中,strings.xml
每个产品风格都有一个文件,如下所示:
<resources>
<string moduleConfig="true" name="reactNativeCodePush_androidDeploymentKey">_My_CodePush_Key</string>
<string name="app_name">MyApp Staging</string>
</resources>
产品风味设置如下所示:
productFlavors {
prod {
versionCode 6
versionName "1.1"
}
staging {
minSdkVersion 16
applicationId 'com.myapp.staging'
versionCode 6
versionName "1.1"
}
dev {
minSdkVersion 16
applicationId 'com.myapp.dev'
versionCode 6
versionName "1.1"
}
}
我的MainApplication.java
文件如下所示:
public class MainApplication extends Application implements ReactApplication {
private final MyReactNativeInstanceHolder mReactNativeHost = new MyReactNativeInstanceHolder(this) {
@Override
protected String getJSBundleFile() {
return CodePush.getJSBundleFile();
}
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
// ...Some packages
new CodePush(getResources().getString(R.string.reactNativeCodePush_androidDeploymentKey), getApplicationContext(), BuildConfig.DEBUG),
// ...More packages
);
}
};
@Override
public void onCreate() {
CodePush.setReactInstanceHolder(getReactNativeHost());
super.onCreate();
Fabric.with(this, new Crashlytics());
}
@Override
public MyReactNativeInstanceHolder getReactNativeHost() {
return mReactNativeHost;
}
}
我试图BuildConfig.DEBUG
从包中删除参数CodePush
,但问题并没有消失。
该MyReactNativeInstanceHolder.java
文件如下所示:
public class MyReactNativeInstanceHolder extends ReactNativeHost implements ReactInstanceHolder {
protected MyReactNativeInstanceHolder(Application application) {
super(application);
}
@Override
public boolean getUseDeveloperSupport() {
return false;
}
@Override
protected List<ReactPackage> getPackages() {
return null;
}
}
我还检查了CodePush
应用程序的密钥,那里没有任何问题。这个问题真的很奇怪,我真的很想得到一些帮助。有什么我想念的吗?