android - 世博打造EAS——

标签 android react-native expo expo-build expo-eas

当我使用来自 expo 的名为 EAS 的新构建工具时在本地构建我的 react 原生应用程序:eas build --platform android --local我收到一个错误:

SDK location not found. Define location with an ANDROID_SDK_ROOT


我找到的所有答案都建议创建文件 local.propertiesandroid目录和设置sdk.dir然而,这与旧的构建工具 expo build 相关。 ...另一种选择是在我试图避免的系统级别上简单地定义环境变量。
所以我想知道如何在 react 原生项目本地的某种配置文件中做到这一点。无意中找到了答案,所以在下面分享知识👇
顺便说一句,如果您正在寻找最终包的默认构建路径在哪里 - 它很可能被转储到项目根目录中(如果需要,请不要忘记刷新文件)。

最佳答案

TL;博士
项目根目录 eas.json => build => production => "env": { "ANDROID_SDK_ROOT": "/path/to/AndroidSDK" }第 1 步:找到您的 Android SDK 的路径
一般的问题是EAS构建缺少Android SDK的路径,所以首先你需要找到正确的路径, Android SDK 不必位于默认路径 但如果你有它在以下之一,你可以拿起它并跳到第 2 步 (将 YourUserName 替换为您的用户名):
window : C:\\Users\\YourUserName\\AppData\\Local\\Android\\sdk 麦克: /Users/YourUserName/Library/Android/sdk Linux: /home/YourUserName/Android/Sdk在某些系统上,路径可能区分大小写 => 从系统原样复制它们
例如,我个人在其他地方的更大 HDD 上有 SDK。不知道路径但仍然有 Android Studio? => 尝试在设置/配置的“系统设置”中查找“Android SDK” - 配置 => 设置 => 外观和行为(或者您可能在首选项下有它)。不再有 Android Studio/路径无效? => 您只能在“tools”、“build-tools”、“emulator”等文件夹中强力搜索“android*”,但最好将 SDK 安装到新的
地点 :-)
第二步:在eas.json中配置
根据您的目标构建(我假设 production )您想要定义 ANDROID_SDK_ROOT env 下目标构建的环境变量eas.json 中的 JSON 键. eas.json应该在你的 react native项目根文件夹 - 例如与 src 处于同一级别或 .expo文件夹通常是。
示例 eas.json在 Linux/Ubuntu 上:

{
  "cli": {
    "version": ">= 0.49.0"
  },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal"
    },
    "preview": {
      "distribution": "internal"
    },
    "production": {
        "env": {
            "ANDROID_SDK_ROOT": "/home/YourUserName/Android/Sdk"
        }
    }
  },
  "submit": {
    "production": {}
  }
}
更改/保留cli根据您的项目的版本。

关于android - 世博打造EAS——,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71592608/

相关文章:

xcode - pod 安装错误 : The name of the given podspec `Yoga` doesn't match the expected one `yoga`

Android协程函数回调

react-native - 如何通过移动应用程序使用旧版本的 Expo?

java - 安卓: How to fix hindi text cut in android 4. 1.1版本?

react-native - 如何通过GET请求通过获取API发送数据?

android - 如何为 React Native 安装 rnpm 包

react-native - 结合 Realm 、Redux 和 React Native

react-native - 构建使用react-native构建的android应用时出错

android - 在android中重命名项目的简单方法

android - 按下按钮时如何隐藏/显示元素?