如何建立世博会APK本地

时间:2017-11-22 15:50:57

标签: android react-native expo

是否可以在本地构建展示应用的APK?

doc说:

  

如果您之前没有使用过exp,那么您需要做的第一件事就是使用exp login登录您的Expo帐户。

我尝试exp startexp build:android,但这些命令需要登录。

我不想使用expo服务器构建APK。有没有办法在本地运行此构建?那么不需要登录和推送源代码吗?

如果没有,我可以查看生成的APK的完整源代码吗?

3 个答案:

答案 0 :(得分:3)

派对的新手,所以猜测在发布时还没有 - 在本地构建博览会应用程序的说明: Building Standalone Apps on Your CI

答案 1 :(得分:2)

我遇到了类似的问题,我设法通过网络上找到的几个步骤解决了这个问题,并进行了一些调整: https://forums.expo.io/t/expokit-full-local-build-without-publish-android/31400/2

  1. 在您的机器上运行https服务器,请注意,该服务器必须是证书,因为它是HTTPS服务器(我使用的端口为4443),但是它不需要被您的机器信任-无论如何它都可以工作< br />(我发现它很容易使用:https://gist.github.com/dergachev/7028596-Python 2.7, https://gist.github.com/dergachev/7028596#gistcomment-1989299-Python 3.X)

  2. 转到您的Expo项目文件夹,确保没有dist 文件夹;或者,您可以使用--output-dir标志提供dist路径 (将向其生成本地反应包和资产)。

  3. 打开命令行并运行:
    expo export -t bare --dev --public-url https://localhost:4443/,完成后,您将在output-dir中拥有Android捆绑包和资产(默认值-dist

  4. 将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>

  5. cd android

  6. 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;