Tag: react native

Android设备版本的React-Native项目没有更新,即使模拟器是

React-Native有一个很奇怪的现象。 我一直在使用iOS simulator但是想在我的Android手机上测试我的代码,这是一款Huawei Nexus 6P 。 即使从6P删除旧的应用程序后,我的代码的旧版本运行。 是的,我已经更新了index.android.js以匹配index.ios.js ,为了certificate它应该起作用, 6P的Genymotion模拟器运行正确的代码。 我甚至测试了一个我正在构建的Kotlin Android项目,当我在6P上运行这个项目时,代码的任何更新都按预期显示。 我也会提到,虽然可能不相关,但是我最近(在这个问题之前)有一个单独的问题,导致我在CD入到我的项目的Android文件夹中运行sudo ./gradlew clean ,如本答案中所述 。 这并没有解决我的问题,但我不知道有什么“腐化”我的项目的Gradle ? 有没有办法我可以“重新初始化”或什么? 我真的很难理解这里有什么可能是错的,特别是因为模拟器更新正确。 任何帮助,欢迎! 更新 : 一个有用的提示,以清除从bennygenel的应用程序的缓存后,我做了以下和bennygenel react-native run-android但可悲的是我仍然有同样的问题: 清除缓存的应用程序 清除数据 强制停止应用程序 卸载应用程序 这真的很奇怪!

如何注入非静态,按需NativeModules到React Native Android?

在混合应用程序中,多个Activity / Fragment实例嵌套自己的ReactRootView共享一个ReactInstanceManager实例,似乎没有官方的方式为每个Activity / Fragment实例注入本地模块。 就本质而言,本地模块是单独的,就像驻留在.js文件中的javascript模块一样。 如果在同一个Fragment不同实例中运行的JS代码想要访问Java / Kotlin端与Fragment的本地属性进行交互,那么这不是预期的行为。 我尝试使用ReactInstanceManager registerAdditionalPackages()方法,但它失败,像下面的断言错误,如果多个Fragment s / Activity s同时使用。 “Extending native modules with non-matching application contexts.” 这不是线程安全问题,而是registerAdditionalPackages()实现的设计结果。 有没有其他的方法,如果是的话,你如何访问JS端的注入模块?

像在Java中那样扩展TextInput以在React Native中自定义默认字体和文本颜色

我想创建一个“TypefaceTextInput”,它将具有特定的字体和文本颜色,并将替换所有TextInput中的原生反应。 这样我就不必每次声明字体和文本颜色。 有没有办法做到这一点? 我是新来的反应本地化,但熟悉Android和Java和KOTLIN。 如果你能用类比来回答我们如何在java或kotlin中做到这一点,那将是非常有帮助的。 在这里find这个答案,说 我们的应用程序组件库与我们的设计团队的风格指南的风格和命名相匹配 但是我认为如果我们使用这个,会有额外的嵌套组件。 有没有什么办法可以扩展TextInput并在子类中做需要的事情?

“使用Android aar库回答Native”ClassNotFoundException:kotlin.LazyKt

我使用我自己的Android库在Kotlin上完成。 我将该库构建到* .aar文件中,并在React Native的单独项目中导入。 崩溃出现在Android React Native应用程序中,当我从该库启动Service时,其中一些字段以懒惰方式初始化。 我找不到类似“Lkotlin / LazyKt”或“kotlin.LazyKt”的错误。 也许有人遇到类似的问题? 我会很感激任何提示。 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.project_mobile:sdmp, PID: 18913 java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/LazyKt; at com.project.service.SdmService.(SdmService.kt:27) at java.lang.Class.newInstance(Native Method) at android.app.ActivityThread.handleCreateService(ActivityThread.java:2859) at android.app.ActivityThread.-wrap4(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1427) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) Caused by: java.lang.ClassNotFoundException: Didn’t find class […]

如何将Android的对象数组传递给React Native?

我试图从原生Android传递数据到React Native。 数据是由应该调度的动作组成的对象数组。 例 { "actions: [ { "authenticationType: "strong", "type: "AUTHENTICATION_URL", "url: "https://foo.bar/", }, ], } 我试图使用com.facebook.react.bridge.Arguments类来做类似的事情 val arguments = Arguments.createMap().apply { putString("path", "general/authentication") putArray("actions", Arguments.fromList(listOf( mapOf("authenticationType" to "strong", "type" to "AUTHENTICATION_URL", "url" to url )))) } 但只会导致 09-14 20:08:53.996 10437 10437 I zygote : Thread[1,tid=10437,Native,Thread*=0xb18da000,peer=0x73d2f568,"main"] recursive attempt to load library "/data/app/com.getdreams-MO6VYrPeHVgAkBP2ori8SA==/lib/x86/libfb.so" 不确定如何创建javascript对象的数组。 有没有人有任何建议如何可能更好地使用com.facebook.react.bridge.Arguments […]

React-Native的Kotlin包装

由于KotlinJs已经发布了一些有趣的项目,你可以在网络上找到这样一个和这个 ,但是也可以很高兴地看到KotlinJs的React Native框架的包装。 我个人不喜欢JavaScript,原因很多,希望看到Kotlin上的示例能够尝试使用React Native。 任何人都可以建议一些指导方针如何在KotlinJs中启动React Native的代码? 我找不到任何有关这个话题的好消息。