DPS publishing process for Android devices

Are you viewing the right article?

This article refers to Digital Publishing Suite. For the Digital Publishing Solution (DPS 2015) article, see Android publishing guide for DPS 2015.


With DPS tools, you can create an .apk viewer app that you can submit to Google Play (previously Android Market).

You can build two different kinds of apps for Android devices: the legacy AIR-based Android app (to be retired in December 2014) or the new native Android app. For instructions on building the legacy AIR-based Android app, see Creating legacy DPS apps for Android devices. For instructions on building a native Android app, see Building DPS native Android apps.

To view a feature comparison chart, see DPS supported feature list.

Follow the steps below to create the required files for your custom viewer app. The current version of the DPS App Builder is v3.2 (released September 2014). 

Checklist of required files

☐    Application icons (any size for native app; 36 x 36, 48 x 48, and 72 x 72 PNG for legacy app)

☐    Splash images (1280 x 800 and 800 x 1280 or larger 8-bit PNG) for legacy app only

☐    Valid certificate

About retail content for Google Play

  • You can create only multifolio viewer apps for Google Play. Single-folio apps are not available at this time.
  • DPS does not support Google Play subscriptions at this time.
  • You can use Google's in-app billing process to sell issues.

For information on Google Play app pricing, see Selling Your Apps in Google Play Help.

Android System Requirements for DPS Viewers

  • Native DPS viewers support Android phones and tablets running Android 4.0.3 or later.
  • Legacy DPS viewers support tablets with Android 2.3.3 API level 10 or later, 512 MB or RAM or higher, 7-inch screen or higher, 1024 x 600 screen resolution or higher. Legacy DPS viewers do not support phones. Only v29 and later legacy viewers support Android 4.4 (KitKat).

Workflow overview

Prep for building the application 

  • Register as a Google Play developer. It costs $25 to sign up for Google Play (previously called Android Market). Complete the sign-in process so that you become eligible to submit your apps to the Google Play Store.
  • Create a private key certificate. For native Android apps, .keystore files are also supported for signing the app.
  • Create app icons and startup screens.

Build and test the application 

  • For native Android viewers, sign in to the Web-based DPS App Builder and build the app. See Building DPS native apps for Android.
  • For legacy Android viewers, sign in to the desktop DPS App Builder and create the app. See Creating DPS apps for Android devices.
  • Load the .apk file onto mobile device.
  • Create and publish folios, and download them to the mobile devices.

Submit the app to Google Play

For native Android apps, sign the .apk file. Then submit the signed .apk file to Google Play Store. If your app includes retail in-app purchases, make sure that you specify the shared secret (license key) in the DPS Account Administration portal, and make sure that you submit a beta APK file in the Google Play Developer Portal. See the related section later in this article.

Create required files

To use the Viewer Builder to create a custom viewer app, create application icons, startup screens, and a cover.

Application icons

For native Android apps, create a square PNG image of any size, but 96 x 96 or larger is recommended. The Web App Builder scales the image.

For legacy Android as, create 36 x 36, 48 x 48, and 72 x 72 pixel icons in PNG format.

When you submit the final app to the store, you are required to provide additional application images.  

Startup screens

For native Android apps, startup screens are not required. The app loads immediately.

For legacy Android apps, create a pair of startup screens for all Android devices. When the viewer is started, a startup screen appears for approximately 3 seconds. Provide two startup screen 72-ppi 8-bit PNG images with any pair of the following dimensions: 1280 x 800/800 x 1280, 1920 x 1200/1200 x 1920, 2048 x 1536/1536 x 2048, or 2560 x 1600/1600 x 2560.

All devices use the same horizontal or vertical startup screens you specify. The viewer scales the images up or down. And, if the device and images have different aspect ratios, the viewer crops the edges of the images to fill the screen.

Create a certificate file

Android systems require that all installed applications are digitally signed with a p12 certificate in which the private key is held by the application’s developer. Make sure that all applications are signed. The system can't install an application that is not signed. You can use self-signed certificates to sign your applications. No certificate authority is needed.

It's necessary that the certificate you create expires after October 22 2033.

Several methods for creating certificates are available, including Adobe Flash Professional and Adobe Flash Builder. If you don’t have any developer tools installed, you can use the Keytool utility to create a certificate. Keytool is a Java SDK utility that is already available on Mac OS computers. In Windows, it's necessary to install and configure Java SDK (also called JDK).

The following instructions tell you how to use Keytool to create a certificate. For detailed information, see Signing Your Application on the Android Developers site.

(Mac OS) Create a certificate file using Keytool

  1. Open Terminal, which is located in the Applications > Utilities folder.
  2. Copy and paste the following line (replace “myname.key.p12” and "alias_name" with your information):

    keytool -genkey -v -keystore myname.key.p12 -alias alias_name -keyalg RSA -keysize 2048 -storetype pkcs12 -validity 10000

    Specifying “10000” sets the expiration date after October 22 2033.

  3. Enter and reenter a password. You specify this password later in DPS App Builder.

  4. Follow the prompts to specify the certificate information.

  5. When prompted to confirm choices, enter yes, and then press Return to use the same password.

    A certificate is created in your prompt location, such as your user name folder. Copy this certificate file to a known location. Write down the password as well.

(Windows) Create a certificate file using Keytool

  1. Download and install Java SDK (JDK). Note the install location.
  2. (Optional) Set a permanent path to run Java SDK commands. Setting a permanent path lets you type JDK commands such as “keytool” from any path. That way, you don’t have to navigate to the Java SDK directory. To set a permanent path, see step 4 of the JDK site.
  3. Open a command prompt. For example, enter “command” in the Run field or the search field.
  4. If you did not set a permanent path in step 2, navigate to the directory where JDK commands are located. For example, type cd \ and then type cd program files\Java\jdk1.6.0_24\bin (specify the correct version number).
  5. Type (or paste) the following line (replace “myname.key.p12” and "alias_name" with your information):

    keytool -genkey -v -keystore myname.key.p12 -alias alias_name -keyalg RSA -storetype pkcs12 -keysize 2048 -validity 10000

    Specifying “10000” sets the expiration date after October 22 2033.

  6. Enter and reenter a password. You specify this password later in DPS App Builder.

  7. Follow the prompts to specify the certificate information.

    A certificate is created in your prompt location, such as your user name folder. Copy this certificate file to a known location. Write down the password as well.

    Note: If a certificate file is not created, replace “-keystore myname.keystore” with a target path (such as -keystore c:\users\bob\bobcert.keystore) that you have access to.

Build the app

Use the appropriate method to build your Android app (.apk) file.

For native Android apps, see Building native DPS Android apps.

Use legacy Android apps, see Creating legacy DPS apps for Android devices.

Set up in-app billing (Google Play)

You can use Google's In-app Billing service to sell individual folios within your viewer app. DPS does not support Google Play subscriptions at this time.

Make sure that you set up your billing before you make your content available to customers.

(Legacy AIR Android apps only) Even if you offer retail issues through a subscription service, set up in-app billing for each retail folio. Otherwise, when your customers click a Buy button, they get an error message.

  1. Use the Google Play developer site to create an app request and to upload your custom viewer (.apk) app.

    • If your app includes in-app billing, Google Play now requires you to upload the app (.apk file) using the Beta Testing tab in the APK section.
    • While submitting your final app, click Save instead of publish if you don't yet want your app in the store before you set up your in-app billing.
  2. Follow the steps in the Administering In-app Billing Help topic. As you go through these steps, note the following:

    • Specify the exact same In-app Product ID when setting up Android in-app billing that you use when you publish the folio using the Adobe tools. The Product ID ties the folio to the in-app billing item.
    • For Purchase Type, select "Managed," not "Unmanaged." Otherwise, your customers can't restore purchases.
    • Adobe does not support the Android Refund feature at this time.
    • Remember the information that you provide for "Public Key." Adobe needs this information to enable in-app billing.
  3. Copy the Public Key into the Android field in the Shared Secrets as described in the DPS online Help topics Account Administration tool. Then sign in to the Folio Producer Organizer.

    To locate your Public Key value, sign in at https://play.google.com/apps/publish. Click the Edit Profile link, and then copy the text in the Public Key field. Also specify this Public Key value in the Adobe Account Administrator tool that is available on the DPS Dashboard. Add this Public Key value to the "Shared Secret" area of the Application account.

  4. To trigger the changes, sign in to the DPS Dashboard, and then click Folio Producer to open the Folio Producer Organizer.

Load the .apk file onto your Android device

For native apps, your Android tablet or phone requires Android 4.0.3 or later. For legacy Android apps, your Android tablet requires Android 2.3 or later.

  1. Allow your device to install non-Market applications. For example, on a Samsung Galaxy, go to Settings > Applications and select Unknown sources. When you finish installing, you can deselect this option again.
  2. Attach your device to your computer. If necessary, mount the device so that you can open the folder to view the files. If you cannot view the device on your computer, see Android File Transfer.
  3. Open a file manager app (such as “My files”), and tap your viewer.apk file to install it

Test the Android viewer app

Unlike Apple, Google does not require an approval process for submitting apps to Google Play. However, it's a good idea to test your custom viewer app (.apk) file before submitting it to Google.

  1. Load the custom viewer (.apk file) onto your device as described in the previous section.
  2. Publish your folio to the Distribution Service (fulfillment server) as Public. For Product ID, Adobe recommends that you use the “com.publisher.publication.monthyear” format for your folio name. For retail folios, make sure that this Product ID matches the in-app billing Product ID you set up.

  3. Open the custom viewer, and make sure that you can download the public folios to the viewer app. Test the folios.

If your app includes in-app billing, see the previous section about setting up in-app billing. For testing in-app billing in your app, see Setting up test accounts and Testing In-App Billing.

Android Viewer limitations

For a complete list of features supported in iOS viewers but not Android viewers, see DPS supported feature list and Differences between iOS and Android viewers.

Submit your app to Google Play

For detailed information on publishing apps in Google Play, go here:


  1. If you have not already done so, register as an Google Play developer at http://play.google.com/apps/publish.

  2. Fill out the information for your app.

  3. If your app includes in-app billing, do the following:

    • Use the In-app Products section to specify in-app purchase Product IDs. When you publish folios, use the exact same Product ID specified in this section to tie the purchase to the published folio.
    • Obtain the license key (also referred to as the "product key" or "shared secret") and copy it into the "Android Shared Secret" field in the DPS Account Administration portal.
    • In the APK section, upload an app (.apk file) using the Beta Testing tab.
  4. After you upload the APK file, click Save to save the information without publishing. Click Publish when you're ready to submit the viewer app to the Google Play.

For best results, do not delete an app that you accidentally published. Unpublish it instead. 

If your Android app includes retail content of any kind, make sure that you specify your public key (shared secret) using the Account Administration tool

For information on Google Play Store app pricing, see Selling Your Apps in Google Play Help.


Get help faster and easier

New user?