react native 开发碰到的问题

react-navigation v2 问题

问题:

 static navigationOptions = ({navigation, navigationOptions}) => ({
        headerTitle: (
          <Text style={{color:"#fff"}}>我的</Text>
        ),
         headerRight: (
             <View></View>   
        ),
        headerLeft: (
            <View></View>
        )
    })

不管页面如何设置,都不能影响header, 查看文档 大概的意思是 v2 tab 不报错header了链接:https://github.com/react-navigation/react-navigation-tabs/issues/19

高德插件问题

通过使用 https://github.com/react-native-component/react-native-smart-amap/issues 插件,需要生成key,而高德的key需要通过keytool生成(生成key教程地址:https://lbs.amap.com/faq/top/hot-questions/249),在 Android Studio的Terminal 输入命令:keytool -v -list -keystore keystore文件路径报错:

keytool 错误: java.lang.Exception: 密钥库文件不存在: keystore

解决办法:具体查看:https://blog.csdn.net/Cocoa_M/article/details/66968545

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
别名: androiddebugkey
创建日期: May 31, 2018
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: C=US, O=Android, CN=Android Debug
发布者: C=US, O=Android, CN=Android Debug
序列号: 1
有效期为 Thu May 31 22:45:53 CST 2018 至 Sat May 23 22:45:53 CST 2048
证书指纹:
         MD5:  AC:7E:98:73:B6:85:22:2A:14:27:94:50:A5:71:7E:02
         SHA1: EE:D0:46:8C:3D:C4:CB:28:CE:69:8D:13:71:47:8C:D2:3F:84:83:B2
         SHA256: 18:4B:28:F3:B0:1B:1C:8E:8E:03:9C:99:7D:B4:65:F1:57:E2:6D:5E:54:B9:4E:18:ED:F2:53:FC:1B:A7:4F:A0
签名算法名称: SHA1withRSA
主体公共密钥算法: 1024 位 RSA 密钥
版本: 1

Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore /Users/lph/.android/debug.keystore -destkeystore /Users/lph/.android/debug.keystore -deststorety行业标准格式 PKCS12。

按照教程继续添加代码 android\app\src\main\AndroidManifest.xml运行报错

Starting: Intent { cmp=com.deraceurapp/.MainActivity }
Error type 3
Error: Activity class {com.deraceurapp/com.deraceurapp.MainActivity} does not exist.
lphdeMacBook-Pro:DeraceurApp lph$ react-native run-android
Scanning folders for symlinks in /Users/lph/react_native/DeraceurApp/node_modules (40ms)
JS server already running.

是包名问题?解决:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.deraceurapp">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

    <application
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/ic_launcher"
      android:allowBackup="false"
      android:theme="@style/AppTheme">
     ......
        <meta-data
        android:name="com.amap.api.v1.deraceurapp.sdk"
        android:value="EE:D0:46:8C:3D:C4:CB:28:CE:69:8D:13:71:47:8C:D2:3F:84:83:B2" />
    ......
    </application>

    


</manifest>

需要写在一个 application里面

运行 react-native run-ios 问题:CFBundleIdentifier", Does Not Exist

这个问题产生原因:

/Users/你的用户名/.rncache中boost_1_63_0.tar.gz,double-conversion-1.1.5.tar.gz,folly-2016.09.26.00.tar.gz,glog-0.3.4.tar.gz文件不完整。或者node_modules/react-native/third-party 文件不完整。

解决方法2种:

  1. 方法1()
  •     删除/user/你的用户名/.rncache目录下的boost_1_63_0。重新下载,下载网址http://www.boost.org/users/history/version_1_63_0.html
  • 打开命令行工具,在项目目录下输入rm -rf node_modules && rm -rf ~/.rncache && yarn

  • npm install 

  • react-native upgrade

   2.方法2

  •     升级xcode

报错问题:Native module VectorIconsPackage tired to override modulename for module  name VectorIconsPackage.If this was your intention,setcanOverrideExistingModule=true

原因:这个是Project\android\app\src\main\java\com\project\MainApplication.java里面 重复引用了包

 protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(),
            new ReactVideoPackage(),
            new VectorIconsPackage(),
            new RNSoundPackage(),
            new ImagePickerPackage(),
            new ReactNativeAudioPackage(),
            new AMap3DPackage()
      );
    }

删除该函数里面的重复引用

"react-native": "0.59.2" 真机调试报警告:Get rid of “Remote debugger is in a background tab” warning in React Native

解决方法: 根目录index.js添加代码

/**
 * @format
 */

....
import { YellowBox } from 'react-native';
YellowBox.ignoreWarnings(['Remote debugger']);
....



   

 

 

 

转载于:https://my.oschina.net/oslph/blog/1930148

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值