【问题标题】:Created an app with create-react-native-app, how to publish it to the Google Play Store?使用 create-react-native-app 创建了一个应用程序,如何将其发布到 Google Play 商店?
【发布时间】:2023-03-09 11:35:01
【问题描述】:

我使用 create-react-native-app 创建了一个应用,但我不知道如何将其发布到 google play store。

错误 1

看完这篇doc

; exp build:android
[exp] Making sure project is set up correctly...
/[exp] Warning: Not using the Expo fork of react-native. See https://docs.expo.io/.
\[exp] Warning: 'react-native' peer depencency missing. Run `npm ls` in /var/www/html/test/testme/osmosis-seek-android to see full warning.
[exp] 
[exp] If there is an issue running your project, please run `npm install` in /var/www/html/test/testme/osmosis-seek-android and restart.
[exp] Your project looks good!
[exp] Checking if current build exists...

[exp] No currently active or previous builds for this project.

? Would you like to upload a keystore or have us generate one for you?
If you don't know what this means, let us handle it! :)
 false
[exp] Starting build process...
[exp] Publishing...
[exp] Published
[exp] Your URL is

https://exp.host/@kenpeter/osmosis-seek-android

[exp] Building...
[exp] Must specify a java package in order to build this experience for Android. Please specify one in app.json at "expo.android.package"

【问题讨论】:

标签: react-native create-react-app expo


【解决方案1】:

对于使用create-react-native-app 创建的项目,您有两条通往 Google Play 商店的路径。

使用 Expo exp build 命令

一种方法是使用 Expo(我从事的一个项目)exp 命令行工具来构建 APK。 exp 命令行工具(和 XDE GUI 程序)可以加载使用 CRNA 创建的项目。设置完成后,您可以运行 exp build:android 并在几分钟内收到一个 APK。

第一次执行此操作时,您必须向expo.jsonapp.json(无论您拥有哪一个)添加APK 所需的一些信息。具体来说,您需要像这样指定 Java 包名称(重要的是它是一个有效的 Java 包名称!):

{
   android: {
       package: "com.example.myapp"
   }
}

这些是讨论构建 APK(和 iOS 的 IPA)的文档:https://docs.expo.io/versions/latest/guides/building-standalone-apps.html

手动弹出并构建 APK

另一种方法是使用 CRNA 的 eject 命令,它会为您创建 Xcode 和 Android 项目文件。然后,您将创建一个 APK 并将其提交到 Play Store,就像任何其他 React Native Android 应用程序一样。这种方法的缺点之一是,在您从 CRNA 中退出后,您将无法使用 CRNA 的工具,并且将来不会为您处理升级。

【讨论】:

  • @kenpeter 从错误消息看来,您需要在 app.json 文件中指定 Java 包名称。编辑了答案以包含此内容。
  • 不工作,代码在这里:github.com/kenpeter/osmosis_seek_android。你介意帮我看看吗?
  • 看来你同时拥有 app.json 和 expo.json,expo.json 优先。我更新了我的回答,说您只需要其中一个文件。
  • 弹出后,我们不能使用CRNA工具,这意味着我们不能使用所有的热重载,调试和东西,对吧? “以后不会为你升级”是什么意思?
  • @ide 对,我已经解决了这个问题。 “Java 包名称”有问题 - 它包含数字“com.2017......” - 这不是有效的包名称
【解决方案2】:
{
  "expo": {
    "sdkVersion": "26.0.0",
    "name": "TongPos",
    "description": "your app desc",
    "android": {
      "package": "com.sohagfaruque.xxxx"
    }
  }

}

请像上面提到的那样编辑您的 app.json。这对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多