Could not load app - signed APK in app store, internal testing, detached app

Hi,

I am trying to distribute my app on Google Play. Its a detached app. I used Android Studio to generate the signed apk. But when I open the app from the store it says “Could not load app.”

I also tried:
./gradlew assembleRelease

I followed:

I installed the apk to test locally with the same “Could not load app.”
./adb install ~/workspace/github/underwriter-bot-mobile/android/app/build/outputs/apk/app-prod-release.apk

Expo SDK 26.

build.gradle

compileSdkVersion 26
  buildToolsVersion '26.0.1'

  defaultConfig {
    targetSdkVersion 25

Issue:

It works on dev mode.

Here is the adb log:

PowerSaverService: current package:com.flyreel.underwriterbot;activity:host.exp.exponent.MainActivity
05-16 13:17:58.523  2177  2177 D PowerSaverUtils: isLimitedCpuFrequency prop : 0 ; result : false
05-16 13:17:58.526  1412  1675 I qti_sensors_hal: LIGHT processReportInd: 6eeef 6.933334
05-16 13:17:58.536  2177  2218 I AppOpsStatusUpdateHandler: pkgName = com.flyreel.underwriterbot
05-16 13:17:58.536  2177  2218 I AppOpsStatusUpdateHandler: taskId = 6634
05-16 13:17:58.536  2177  2218 D CNAppLockHandler: CNAppLockHandler handleAppFocus
05-16 13:17:58.554   521   665 E libnav  : CablComputeBacklightLevel(): UpdateType = DifferentSceneUpdate
05-16 13:17:58.556  1883  1897 I art     : Background partial concurrent mark sweep GC freed 54571(2MB) AllocSpace objects, 0(0B) LOS objects, 30% free, 36MB/52MB, paused 542us total 101.075ms
05-16 13:17:58.678  1412  3307 I ActivityManager: START u0 {flg=0x24000000 cmp=com.flyreel.underwriterbot/host.exp.exponent.experience.ErrorActivity (has extras)} from uid 10166 on display 0
05-16 13:17:58.682  1412  3307 I InputDispatcher: Window 'Window{2877139 u0 com.flyreel.underwriterbot/host.exp.exponent.MainActivity}' spent 0.0ms processing input events on average(0/0). Monitor spent 0.0ms processing input events on average(0/0). Window input events down spent 0.0ms on average (0/0). Window input events up spent 0.0ms on average (0/0). Monitor input events down spent 0.0ms on average (0/0). Monitor input events up spent 0.0ms on average (0/0).
05-16 13:17:58.683  1412  3307 D ActivityTrigger: ActivityTrigger activityPauseTrigger
05-16 13:17:58.696 29882 30164 V FA      : Screen exposed for less than 1000 ms. Event not sent. time: 314
05-16 13:17:58.699 29882 30164 V FA      : Activity paused, time: 12924655
05-16 13:17:58.702  1412  2631 D ActivityManager: [MemInfo] Process already exists before starting ActivityRecord{7e4e7f5 u0 com.flyreel.underwriterbot/host.exp.exponent.experience.ErrorActivity t6634}. System free memory=1250775040
05-16 13:17:58.702  1412  2631 D WindowManager: adjustConfigurationLw, config:{0 1.0 302mcc490mnc [en_US] ldltr sw360dp w360dp h616dp 320dpi nrml long port finger -keyb/v/h -nav/v s.10} mLidState:-1 mHasDockFeature:false mHasKeyboardFeature:false mHasHallSensorFeature:false config.hardKeyboardHidden:2
05-16 13:17:58.718 29882 29882 V Monotype: SetAppTypeFace- try to flip, app = com.flyreel.underwriterbot
05-16 13:17:58.718 29882 29882 V Monotype:     Typeface getFontPathFlipFont - systemFont = default#default
05-16 13:17:58.718 29882 29882 V FA      : onActivityCreated
05-16 13:17:58.726  1883  2244 V ReflectionMethods: ========ReflectionMethods.getAsusLevel = 4 ========
05-16 13:17:58.727  1883  2244 D NetworkController.MobileSignalController(1): onSignalStrengthsChanged signalStrength=SignalStrength: 99 0 -120 -160 -120 -1 -1 16 -108 -9 94 2147483647 2147483647 gsm|lte not wcdma level=4
05-16 13:17:58.727  1883  2244 D NetworkController.MobileSignalController(1): updateTelephonySignalStrength: hasService=true ss=SignalStrength: 99 0 -120 -160 -120 -1 -1 16 -108 -9 94 2147483647 2147483647 gsm|lte not wcdma
05-16 13:17:58.728  2096  3441 D PhoneInterfaceManager: isWifiCallingAvailable: sub Id : 1
05-16 13:17:58.728  1883  2244 D NetworkController.MobileSignalController(1): isWifiCallingAvailable=false
05-16 13:17:58.732 29882 29882 E ErrorActivity: ErrorActivity message: Could not load app.
05-16 13:17:58.733  2096  3440 D PhoneInterfaceManager: isVolteAvailable: sub Id : 1
05-16 13:17:58.733  1883  2244 V ReflectionMethods: ========ReflectionMethods.getVolteAvailable = false ===============
05-16 13:17:58.737  1412  1675 I qti_sensors_hal: LIGHT processReportInd: 6eeef 6.933334
05-16 13:17:58.738 29882 30164 V FA      : Activity resumed, time: 12924696
05-16 13:17:58.740  2096  2331 D PhoneInterfaceManager: isVideoTelephonyAvailable: sub Id : 1
05-16 13:17:58.741  1883  2244 V ReflectionMethods: ========ReflectionMethods.getVideoTelephonyAvailable = false ===============

I also saw this note:

Note: Make sure gradle.properties does not include org.gradle.configureondemand=true as that will make release build skip bundling JS and assets into the APK.

so I removed this from gradle.properties:

org.gradle.configureondemand=false

My EXSehll.plst

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>isManifestVerificationBypassed</key>
	<true/>
	<key>isShell</key>
	<true/>
	<key>isSplashScreenDisabled</key>
	<true/>
	<key>manifestUrl</key>
	<string>exp://exp.host/@flyreel/flyreel</string>
	<key>releaseChannel</key>
	<string>default</string>
</dict>
</plist>

I resolved this issue. I had switched Expo accounts and had to go into my native android code and replace the old account with the new one.

@darkwata why we need to change the account?

I switched Expo accounts because I published my app on my personal account then I wanted to publish it on a new company Expo account. This is probably not the case for you.

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.