Can't run the .apk that generated by Expo - react-native

I have built an android app using expo build:android for a react native project. And then I can't ran the .apk on my 2 android phones. Error message App not installed was shown after ran the .apk on my phones.
I tried to rollback to older versions of my code and I found that the .apk can ran after I used the old slug value in app.json
I installed the .apk at android emulator. Error message The APK failed to install.
Error: INSTALL_PARSE_FAILED_NO_CERTIFICATES: Package /data/app/vmdl1022936792.tmp/base.apk has no certificates at entry AndroidManifest.xml is shown.
Having no ideas why this happens. How I can use a new slug value and build a valid .apk via Expo?

I feel code signing is the problem, the app is not able to install on another android only for this reason.
Use this link
https://docs.expo.io/versions/latest/distribution/app-signing/
try using command
expo build:android --clear-credentials

Related

Debugging signed react native apk

I generated a signed apk but for some reason it does not work as the debug apk does, how can I test it with the debugging feature to view the console and see what issue is there?
if you want to debug the signed apk of react native then please install and run android studio and show the log of signed apk.
2.and second way is"react-native run-android --variant=release" run this command and install signed apk on your phone and then connect with cli and you able to see the log
run project with this commend" react-native run-android --variant=release", release build..

Error 400 when build:android setting keystore manually

We have an app previously built on phonegap and now migrated to React Native/Expo. We are trying to build the android .apk using the keystore we had before and we get the following error:
I know that the problem is not with my .keystore, since through expo fetch:android:keystore I’ve got the keystore generated by EXPO and it gives me the same error!
Using expo build:android works fine, but I can’t deploy since the fingerprints doesn’t match with the app I have already published.
Any ideas?
Thanks!
There was an issue with expo-cli 2.7.1 and it's fixed on 2.7.2. So just needed to update my cli version!

How to generate signed apk and deploy to google play store

i am using create-react-native-app
there is no android / iOS folder
how to generate signed apk and deploye to google play store
Here are the instructions for create-react-native-app app deployment.
https://github.com/react-community/create-react-native-app/blob/master/react-native-scripts/template/README.md#sharing-and-deployment
If you want to build and deploy your app yourself, you'll need to eject from CRNA and use Xcode and Android Studio.
This is usually as simple as running npm run eject in your project, which will walk you through the process. Make sure to install react-native-cli and follow the native code getting started guide for React Native.
Generating key
https://facebook.github.io/react-native/docs/signed-apk-android.html
If you don't see android/ios folders in your directory. Then type in your terminal react-native upgrade then react-native link

Can I not use Expo (cloud service) at all using React Native

I have build an app using react native(detached) but the thing is I would want to completely get rid of Expo. The reason is, what if one day EXPO service get shut down or no more supported.
So in this case I would not want the app to be affected.
Currently I need to publish my app thru ExpoKit to see the latest changes, how would I build my android app so it would not have any reference to Expo but still be able to work properly
Currently this is how I understand how the react native and expo works: first u build ur app using react native code and then a bundle.js is generated somewhere on cloud(EXPO) using publish command so the app communicate with that bundle.js.
Note I am not using any feature from Expo so why would I need Expo in this case?
Edited: If I am detaching my app from expo, I mean why would I still need Expo? Can't I just build the app and run the app without expo at all?
You can build your whole application without using expo, just follow the steps from facebook documentation in "Building Projects with Native Code" tab.
or
you can run "npm run eject" in your project root directory folder.
After this, you can build your appliaction using react-native cli commands, like
react-native run-android.
edited :--
For building apk for production, you can follow steps given in facebook documentation as generating signed apk and for released IPA for iOS yo can follow building your app for production for IOS.

how to run react native code from server? i want to release app in android and apple store

I am an android developer and learning react native.
I made an app in React Native and now I want to release my app in android play store and apple store but I don't know where do I put my react native project code/files?
I had put react native code in my PHP(Linux) server but it's not working, it says file not found 404.
please guide, Thanks
You need to generate build standalone signed apk.
Generating Signed APK
https://facebook.github.io/react-native/docs/signed-apk-android.html
1) first create keystore file and put in android folder location
2) setting up gradle for keystore
3) run comman
react-native run-android --variant=release
after success run command you will file apk-release.apk in andorid/app/build/outputs/apk/ location
then you can uplaod apk to app store
If your app doesn't need detach (for example doesn't use bluetooth) you can use create-react-native-app and put your app code inside new project. That way you can publish your app to https://expo.io/ . It's a great way to publish your app without Google Play and App Store.
Here is instruction for creating new react native app with expo kit:
https://facebook.github.io/react-native/docs/getting-started.html
And here is how to publish it into expo:
https://docs.expo.io/versions/v25.0.0/guides/publishing.html#how-to-publish
All you need is create-react-native-app and exp command line tools.