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()
- 删除/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']);
....