How to build Expo APK local

后端 未结 3 1897
失恋的感觉
失恋的感觉 2021-02-05 14:54

Is it possible to build the APK of an expo app locally?

The doc says:

If you haven’t used exp before, the first thing you’ll need to do is login w

3条回答
  •  难免孤独
    2021-02-05 15:18

    I've straggled with similar issue, I managed to solve it following several steps found on the web, and tweaking a bit: https://forums.expo.io/t/expokit-full-local-build-without-publish-android/31400/2

    1. Run the https server your machine, note that the server must have a certificate since it is a HTTPS server (I used port 4443), but it does not need to be trusted by your machine - it works anyway
      (I found it easy to use: https://gist.github.com/dergachev/7028596 - Python 2.7, https://gist.github.com/dergachev/7028596#gistcomment-1989299 - Python 3.X)

    2. Go to your Expo project folder, make sure there is no dist folder in it; alternatively you can provide dist path with the --output-dir flag (the react-native bundle and assets will be generated to it).

    3. Open command line and run:
      expo export -t bare --dev --public-url https://localhost:4443/, once done you will have the android bundle and assets in the output-dir (default - dist)

    4. Copy the android bundle from dist/bundles/android-.js to /android/app/src/main/assets/index.android.bundle and to /android/app/build/generated/assets/react/release/index.android.bundle
      (note: the name of the bundle must be index.android.bundle)
      In /dist/bundles/assets you'll have your assets files, but they would be named as their MD5 value, copy each of them to /android/app/src/main/assets/, but add the asset_ prefix and . for each.
      e.g. for a PNG image file with MD5 value of de57a0c7a3a23aabcaceaf1185b1e79e: copy /dist/bundles/assets/de57a0c7a3a23aabcaceaf1185b1e79e /android/app/src/main/assets/asset_de57a0c7a3a23aabcaceaf1185b1e79e.png

    5. cd android

    6. gradlew.bat assemble

        expo diagnostics output:
    
          Expo CLI 3.18.6 environment info:
            System:
              OS: Windows 10 10.0.18363
            Binaries:
              Node: 12.16.2
              Yarn: 1.22.0
              npm: 6.14.4
            npmPackages:
              expo: ~37.0.3 => 37.0.8
              react: ~16.9.0 => 16.9.0
              react-native: ~0.61.5 => 0.61.5
              react-navigation: ^4.3.9 => 4.3.9
    
    
    

提交回复
热议问题