是否可以在本地构建展示应用的APK?
doc说:
如果您之前没有使用过exp,那么您需要做的第一件事就是使用
exp login
登录您的Expo帐户。
我尝试exp start
,exp build:android
,但这些命令需要登录。
我不想使用expo服务器构建APK。有没有办法在本地运行此构建?那么不需要登录和推送源代码吗?
如果没有,我可以查看生成的APK的完整源代码吗?
答案 0 :(得分:3)
派对的新手,所以猜测在发布时还没有 - 在本地构建博览会应用程序的说明: Building Standalone Apps on Your CI
答案 1 :(得分:2)
我遇到了类似的问题,我设法通过网络上找到的几个步骤解决了这个问题,并进行了一些调整: https://forums.expo.io/t/expokit-full-local-build-without-publish-android/31400/2
在您的机器上运行https服务器,请注意,该服务器必须是证书,因为它是HTTPS服务器(我使用的端口为4443),但是它不需要被您的机器信任-无论如何它都可以工作< br />(我发现它很容易使用:https://gist.github.com/dergachev/7028596-Python 2.7, https://gist.github.com/dergachev/7028596#gistcomment-1989299-Python 3.X)
转到您的Expo项目文件夹,确保没有dist
文件夹;或者,您可以使用--output-dir
标志提供dist路径
(将向其生成本地反应包和资产)。
打开命令行并运行:
expo export -t bare --dev --public-url https://localhost:4443/
,完成后,您将在output-dir
中拥有Android捆绑包和资产(默认值-dist
)
将Android捆绑包从dist/bundles/android-<bunch of numbers (MD5)>.js
复制到<YourExpoProjectFolder>/android/app/src/main/assets/index.android.bundle
和<YourExpoProjectFolder>/android/app/build/generated/assets/react/release/index.android.bundle
(注意:捆绑包的名称必须为 index.android。包)
在/ dist / bundles / assets中,您将拥有资产文件,但是它们将被命名为其MD5值,将每个文件复制到<YourExpoProjectFolder>/android/app/src/main/assets/
,然后添加asset_
前缀和{{1} }。
例如对于MD5值为de57a0c7a3a23aabcaceaf1185b1e79e的PNG图像文件:
.<ext>
cd android
gradlew.bat组装
copy <YourExpoProjectFolder>/dist/bundles/assets/de57a0c7a3a23aabcaceaf1185b1e79e <YourExpoProjectFolder>/android/app/src/main/assets/asset_de57a0c7a3a23aabcaceaf1185b1e79e.png
答案 2 :(得分:0)
如果要生成apk,请使用npm run eject命令弹出CRNA。然后你将在mac中获得android和ios文件夹,你将在Windows中获得一个唯一的android文件夹。并按照下面给定链接中的说明进行操作
&#34; https://facebook.github.io/react-native/docs/signed-apk-android.html&#34;