生成APK后,WebView不起作用[React-Native]

时间:2017-05-26 07:32:48

标签: react-native webview react-native-android react-native-ios

我使用Webview与PayPal集成: 代码示例:

<Modal
                    animationType={"fade"}
                    transparent={false}
                    visible={this.state.modalVisible}
                    onRequestClose={() => {
                        alert("Modal has been closed")
                    }}
                    >
                        <WebView
                            source={ require('./PayPalIntegration.html')}
                            style={{flex: 10, width: width, height: height, margin: 20, alignItems: 'center', alignSelf: 'center'}}
                            javaScriptEnabled={true}
                            automaticallyAdjustContentInsets={true}
                        />
                        <TouchableOpacity style={{marginLeft: 10, marginBottom: 10,}}onPress={() => {
                            this.setState({ modalVisible: false})
                        }}>
                            <Text>
                                X Close
                            </Text>
                        </TouchableOpacity>
                    </Modal>

当我使用Xcode的iOS模拟器,在AndroidStudio的AVD管理器上工作时,它可以正常工作,当我使用react-native run-android直接到我的设备时也能正常工作。 但是在生成APK并安装后,我只看到ModalWebView无效。

我做了几件事来试图解决这个问题:

  1. 根据web view not loading page after exporting to signed APK

  2. ,我检查了proguard的配置并根据此处的其他帖子,它已经为FALSE了
  3. 我根据JavascriptInterface on Android dont work with APK in release mode

  4. 添加了-keepattributes JavascriptInterface

    我必须说我只能在ANDROID上查看它,因为我只能生成APK(没有苹果公司的开发者帐户)

1 个答案:

答案 0 :(得分:1)

尝试在AndroidManifest.xml的应用程序标记下添加android:usesCleartextTraffic =“ true”。看起来应该像下面的代码片段。

<application
      .........
      .........
      android:usesCleartextTraffic="true"
      .........