Expo build EAS-local-找不到SDK位置



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

未找到

SDK位置。使用ANDROID_SDK_ROOT 定义位置

我找到的所有答案都建议在android目录中创建文件local.properties并在其中设置sdk.dir,但这与旧的构建工具expo build有关。。。另一种选择是在系统级别上简单地定义环境变量,我试图避免这种情况。

所以我想知道如何在某种类型的配置文件中完成它,该文件仍然是react本机项目的本地文件。我偶然发现了答案,所以我在下面分享知识

顺便说一句,如果你在寻找最终捆绑包的默认构建路径,它很可能会被转储到项目根目录中(如果需要,不要忘记刷新文件)。

TL;DR

项目根eas.json=>CCD_ 7=>CCD_ 8=>"env": { "ANDROID_SDK_ROOT": "/path/to/AndroidSDK" }

步骤1:找到Android SDK的路径

通常的问题是EAS构建缺少到Android SDK的路径,因此首先您需要找到正确的路径,

Android SDK不必在默认路径

中,但如果您在以下其中一个路径中有它,您可以接受它并跳到步骤2(用您的用户名替换YourUserName):
Windows:C:\Users\YourUserName\AppData\Local\Android\sdk
Mac:/Users/YourUserName/Library/Android/sdk
Linux:/home/YourUserName/Android/Sdk

在某些系统上,路径可能区分大小写=>从系统中原样复制它们

例如,我个人在其他地方有一个更大的HDD上的SDK。不知道路径,但仍然有安卓工作室=>尝试查找";Android SDK";在";"系统设置">在设置/配置中-配置=>设置=>外观&行为(或者您在首选项下有它)。不再有Android Studio/那里的路径无效=>你只能用蛮力搜索";安卓*";在像"这样的文件夹中;工具"构建工具"模拟器";,但是,只需将SDK安装到新的位置:-)

步骤2:在eas.json中配置

根据您的目标构建(我假设是production),您希望在eas.json中的envJSON键下为目标构建定义ANDROID_SDK_ROOT环境变量。eas.json应该在react本机项目根文件夹中,例如与通常所在的src.expo文件夹处于同一级别。

Linux/Ubuntu上的示例eas.json

{
"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版本。

最新更新