Android/SDK versions and the Scripture App Publishing Service

We have a user with a new Android 8 phone, and apps that I built 6 months ago (with SAB 4.4 or 4.5) wouldn’t work for him. With some recent SAB upgrades, I had some problems with my SDK (Tools/Settings/Android SDK was not up-to-date, and the Install Packages button didn’t solve the problem), so I re-installed the SDK and JDK from scratch, getting the latest versions, and that seemed to take care of the problem. Shortly after that I built a new version of one of these apps that was built 6 months ago, sent it to this Android 8 user, and it worked fine for him. Does this mean that the old app was built with an SDK that didn’t handle Android 8? (I don’t recall what version of the API it was using at the time.)

BUT the funny thing is that this user has also downloaded and installed on this phone an app that I posted to the Google Play Store using the Scripture App Publishing Service last October, and that also worked fine for him. I was originally under the impression that this service would rebuild the app with each new version of SAB, but I just downloaded the app directly from the store, and found that it definitely has not been updated - it still has the old 3-dot menu at the right, and doesn’t have any new options for notes, bookmarks, etc. OK, so now I know that I have to rebuild and re-post my app to the service. (Could someone post directions for doing just a basic update of an app that is already registered on the service? It’s not clear how much of the step-by-step is required on subsequent builds.)

But why would this “old” app from Google Play Store work for this user when all of the sideloaded .apk files we gave him (even those built after the app from the store) would not? Is there some special blessing that apps from the store have? I’d have to go back and ask the user exactly how the apps didn’t work, but I seem to recall they wouldn’t even install on his phone. Any thoughts as to what is going on?


The App Publishing Service uses a docker linux (xenial) container with Scripture App Builder and Android SDK (installed used android-sdk-installer package). Each time the container is created it installs the Android SDK from scratch. The current version of SAB used by the service is 4.7.
Here are the versions of the Android SDK components that are installed:

  • Tools: 25.2.5
  • Build Tools: 27.0.3
  • Platform Tools: 26.0.2
  • Platform API: Android-26 (Android 8.0 - Oreo)

Currently it doesn’t automatically rebuild the app. You have to use Doorman to request a new build.

We are working on a replacement of the Doorman portal. We are planning to support automatic rebuilds and allowing organizations to customize the workflow of the publishing process (more than just publishing to Google Play).

As to why the your build with the old SDK in place didn’t work and why it worked with the App Publishing Service, I can speculate that when we updated to Android-26 (at SAB 4.0), we changed all the Android SDK components and we got a fresh install. In your case you probably just upgraded your Android SDK and there must be some differences in that process???