【发布时间】:2020-07-27 14:14:16
【问题描述】:
我正在开发 POC 以将原生 android 应用程序与 React Native 集成。按照 react native 官方文档中的所有步骤进行集成后,我有一个错误 MainActivity.java 不存在。不确定,但我猜它的 cosreact-native run-android 通过 MainActivity.java 工作。但在原生安卓应用程序中,我们没有任何这样的活动文件。从 AndroidManifest.xml 看起来这是第一个活动:
<application
android:name=".core.exampleApplication"
为了自定义这个活动文件,我遇到了 cli 选项:
yarn react-native run-android --main-activity core.exampleApplication
但它会抛出此错误:
Starting: Intent { cmp=com.comp.android/.core.exampleApplication }
Error type 3
Error: Activity class {com.comp.android/com.comp.android.core.exampleApplication} does not exist.
包名/applicationId 是com.comp.android
有人知道如何解决这个问题吗?或者你们有什么想分享的经验吗?
编辑意图过滤器如下所示:
<activity
android:name=".ui.SplashActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" /> -->
</activity>
【问题讨论】:
-
您将
Activity与Application类混淆了。您的清单包含哪些活动? -
@VadimGoroshevsky 也许我不是本地开发人员,并且清单文件包含多个活动。我们的 Android 项目不包含任何 MainActivity.java。那么您能否建议我在哪里可以找到与代码中的等效项?我认为应用程序名称
.core.exampleApplication可能是第一个活动。 -
您是从
AndroidManifest还是从build.gradle获取package name/applicationId is com.comp.android? -
我从应用程序 build.gradle 中获取,AndroidManifest 仅在 applicationId 中提到了这一点:
android:authorities="${applicationId}.provider" -
AndroidManifest有根标签<manifest>和属性package。和applicationId一样吗?
标签: javascript java android react-native kotlin