react-native android端 bug

1. 提示需要设置canOverrideExistingModule=true:

Native module ****** tired to override modulename for module name *****.If this was your intention,setcanOverrideExistingModule=true

解决:android\app\src\main\java\com\project\MainApplication.java里面引入的文件有重复项。

2. undefined is not an object (evaluating ‘_reactNative.ViewPropTypes.style’)

在RN0.44版本中,将View中的propTypes移动作为一个新的ViewPropTypes属性,参考0.44.0

解决:安装的某个依赖包需要react-native的0.44以上的版本,react-native升级或者这个包降级。

3. TypeError: undefined is not an object (evaluating ‘route.routeName’)
TypeError: undefined is not a function (evaluating ‘arr[typeof Symbol === ‘function’ ? Symbol.iterator : ‘@@iterator’]()’)

react-navigation的版本不合适造成的,换一个版本就可以解决;
第一个TypeError,是v1.0.0-beta.23遇到的,退回版本v1.0.0-beta.21解决了; 
第二个TypeError,是v1.0.0-beta.16遇到的;

4. Configuration with name ‘default’ not found

Gradle sync failed: Configuration with name 'default' not found.
 Consult IDE log for more details (Help | Show Log)

导致这种问题是由于

    a、settings.gradle包含了不正确的目录:include ":目录名"
    b、app目录下build.gradle文件目录不正确:compile project(':目录名')
    c、引入的第三方库下是否包含build.gradle文件

5. AGPBI: Error

AGPBI: {"kind":"error","text":"Error converting bytecode to dex:\nCause: java.lang.RuntimeException: Exception parsing classes","sources":[{}],"original":"UNEXPECTED TOP-LEVEL EXCEPTION:\njava.lang.RuntimeException: Exception parsing classes\n\tat com.android.dx.command.dexer.Main.processClass(Main.java:752)\n\tat com.android.dx.command.dexer.Main.processFileBytes(Main.java:718)\n\tat com.android.dx.command.dexer.Main.access$1200(Main.java:85)\n\tat com.android.dx.command.dexer.Main$FileBytesConsumer.processFileBytes(Main.java:1645)\n\tat com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:170)\n\tat com.android.dx.cf.direct.ClassPathOpener.processDirectory(ClassPathOpener.java:229)\n\tat com.android.dx.cf.direct.ClassPath

导致这种问题是由于

app/build/source/BuildConfig/Build 
Varients/package name/BuildConfig
中的package name项目中的包名不一致。

6. Header Title 不居中

修改 node_modules -> react-navigation -> src -> views -> Header ->  Header.js

修改样式 title 的 justifyContent: 'center'

7. Could not find com.android.tools.lint:lint-gradle:26.1.2.(升级到com.android.tools.build:gradle:3.1.1后出现的错误提示)

build.gradle中添加google()
allprojects {
 repositories {
   google()  //添加这一行
   mavenLocal()
   jcenter()
   maven {}
 }
}

0. 安卓,通过adb shell命令行方法启动activity

adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注