Highly recommended by Apple! Publisher Plus is a powerful desktop publishing and page layout app for both business and home use. Publisher Plus empowers you to quickly design and create any type of deluxe and professional looking prints that you might need.

Book creation is moving to Pages, and iBooks Author is no longer available to new users. iBooks Author can still be used on macOS 10.15 and earlier, but there will be no new updates.

iBooks Author is a free app available in the App Store on your Mac that you can use to create and publish ebooks. Using the tools in the app, you can add artwork and metadata to a book. You can also export EPUB files that you created in a different program to iBooks Author, and then sell them on Apple Books or distribute them for free.

To publish your book from iBooks Author, you must first export it as a PDF, text file, EPUB, or .ibooks file. To choose the best format for your book, first decide how you plan to distribute it.

Publish your book on the Book Store

You can create a book in iBooks Author in EPUB (.epub) or iBooks (.ibooks) format and publish your work to the Book Store in Apple Books.

To sign up to sell your books on the Book Store, set up iTunes Connect for Apple Books. You can publish to Apple Books with Pages, iTunes Producer, or our web publishing portal. Learn more about Apple Books for Authors. You can also make books available for free on the Book Store.

Publish your book for an iTunes U course

iTunes U is discontinuing at the end of 2021. Learn more about this change and what it means for content publishers and subscribers.

To submit your work for publication on iTunes U, save it as an .ibooks or EPUB file.

To publish your book on iTunes U, you must have an iTunes U site. If you don't have an iTunes U site, you can apply for one.

Published Apps Mac Screenpainting

Learn more about iTunes U and how to manage your classroom or course.

Distribute your books on the web

You can distribute works that you create with iBooks Author on the web as a standalone purchase or subscription product or service. When you sell your book on the web, you must use a format other than .ibooks, such as PDF or EPUB. If you want to sell your work in .ibooks format, you can sell it only through the Book Store in Apple Books. When you provide a work for free, you can distribute it in any format (including .ibooks) through the Book Store or by other means.

About copyright

You retain all of your rights in the content of the work that you create in iBooks Author. If you distribute your work in .ibooks format, it's subject to the distribution restrictions described above.

Google is committed to advancing racial equity for Black communities. See how.
Important: In the second half of 2021, new apps will be required to publish with the Android App Bundle on Google Play. New apps larger than 150 MB must use either Play Feature Delivery or Play Asset Delivery.

Publishing is the general process that makes your Android applications available to users. When youpublish an Android application you perform two main tasks:

  • You prepare the application for release.

    During the preparation step you build a release version of your application, which users can download and install on their Android-powered devices.

  • You release the application to users.

    During the release step you publicize, sell, and distribute the release version of your application to users.


This page provides an overview of the process you should follow as you prepare to publishyour app. If you plan to publish on Google Play, you should also read theGoogle Play launch checklist.

Preparing your app for release

Preparing your application for release is a multi-step process that involves the followingtasks:

  • Configuring your application for release.

    At a minimum you need to remove Log calls and remove the android:debuggable attribute from your manifest file. You should also provide values for the android:versionCode and android:versionName attributes, which are located in the <manifest> element. You may also have to configure several other settings to meet Google Play requirements or accommodate whatever method you're using to release your application.

    If you are using Gradle build files, you can use the release build type to set your build settings for the published version of your app.

  • Building and signing a release version of your application.

    You can use the Gradle build files with the release build type to build and sign a release version of your application. See Building and Running from Android Studio.

  • Testing the release version of your application.

    Before you distribute your application, you should thoroughly test the release version on at least one target handset device and one target tablet device.

  • Updating application resources for release.

    You need to be sure that all application resources such as multimedia files and graphics are updated and included with your application or staged on the proper production servers.

  • Preparing remote servers and services that your application depends on.

    If your application depends on external servers or services, you need to be sure they are secure and production ready.

You may have to perform several other tasks as part of the preparation process. For example, youwill need to get a private key for signing your application.You will also need to create an icon for your application, and you may want to preparean End User License Agreement (EULA) to protect your person, organization, and intellectualproperty.

When you are finished preparing your application for release you will have a signed.apk file that you can distribute to users.

To learn how to prepare your application for release, see Preparing for Release in the Dev Guide. Thistopic provides step-by-step instructions for configuring and building a release version of yourapplication.

Releasing your app to users

You can release your Android applications several ways. Usually, you release applicationsthrough an application marketplace such as Google Play, but you can also release applicationson your own website or by sending an application directly to a user.

Releasing through an app marketplace

If you want to distribute your apps to the broadest possible audience, releasing throughan app marketplace such as Google Play is ideal.

Google Play is the premier marketplace for Android apps and is particularlyuseful if you want to distribute your applications to a large global audience.However, you can distribute your apps through any app marketplace you want oryou can use multiple marketplaces.

Releasing your apps on Google Play

Google Play is a robust publishing platform that helps you publicize, sell, and distributeyour Android applications to users around the world. When you release your applications throughGoogle Play you have access to a suite of developer tools that let you analyze your sales,identify market trends, and control who your applications are being distributed to. You also haveaccess to several revenue-enhancing features such as in-app billing and application licensing. The rich array of toolsand features, coupled with numerous end-user community features, makes Google Play the premiermarketplace for selling and buying Android applications.

Releasing your application on Google Play is a simple process that involves three basic steps:

  • Preparing promotional materials.

    To fully leverage the marketing and publicity capabilities of Google Play, you need to create promotional materials for your application, such as screenshots, videos, graphics, and promotional text.

  • Configuring options and uploading assets.

    Google Play lets you target your application to a worldwide pool of users and devices. By configuring various Google Play settings, you can choose the countries you want to reach, the listing languages you want to use, and the price you want to charge in each country. You can also configure listing details such as the application type, category, and content rating. When you are done configuring options you can upload your promotional materials and your application as a draft (unpublished) application.

  • Publishing the release version of your application.

    If you are satisfied that your publishing settings are correctly configured and your uploaded application is ready to be released to the public, you can simply click Publish in the Play Console and within minutes your application will be live and available for download around the world.

For more information, see Google Play.

Releasing through a website

If you do not want to release your app on a marketplace like Google Play, youcan make the app available for download on your own website or server, includingon a private or enterprise server. To do this, you must first prepare yourapplication for release in the normal way. Then all you need to do is host therelease-ready APK file on your website and provide a download link to users.

When users browse to the download link from their Android-powered devices,the file is downloaded and Android system automatically starts installing it onthe device. However, the installation process will start automatically only ifthe user has configured their Settings to allow the installation of apps fromunknown sources.

Although it is relatively easy to release your application on your ownwebsite, it can be inefficient. For example, if you want to monetize yourapplication you will have to process and track all financial transactionsyourself and you will not be able to use Google Play's In-app Billing serviceto sell in-app products. In addition, you will not be able to use the Licensing service tohelp prevent unauthorized installation and use of your application.

User opt-in for unknown apps and sources

Android protects users from inadvertent download and install of apps fromlocations other than a first-party app store, such as Google Play, which istrusted. Android blocks such installs until the user opts into allowing theinstallation of apps from other sources. The opt-in process depends on theversion of Android running on the user's device:

Mac Screen Print

Figure 1. The Install unknown apps system settings screen, where users grant permission for a particular source to install unknown apps.

  • On devices running Android 8.0 (API level 26) and higher, users must navigate to the Install unknown apps system settings screen to enable app installations from a particular source.
  • On devices running Android 7.1.1 (API level 25) and lower, users must either enable the Unknown sources system setting or allow a single installation of an unknown app.

Mac Screen Capture

Install unknown apps

On devices running Android 8.0 (API level 26) and higher, users must grantpermission to install apps from a source that isn't a first-party app store. Todo so, they must enable the Allow app installs setting for thatsource within the Install unknown apps system settings screen. Figure 1illustrates this process.

Note: Users can change this setting for a particularsource at any time. Therefore, a source that installs unknown apps should alwayscall canRequestPackageInstalls() to check whether the user has granted that sourcepermission to install unknown apps. If this method returns false,the source should prompt the user to re-enable the Allow app installssetting for that source.

Unknown sources

Figure 2. The Unknown sources setting, which determines whether users can install apps that aren't downloaded from Google Play.

Published Apps Mac Screen Printing Inks

In order for users to allow the installation of apps from non-first-partysources on devices running Android 7.1.1 (API level 25) and lower, they shouldenable the Unknown sources setting inSettings > Security, as shown in Figure 2.

Note: When users attempt to install an unknown app on adevice running Android 7.1.1 (API level 25) or lower, the system sometimesshows a dialog that asks the user whether they want to allow only oneparticular unknown app to be installed. In almost all cases, users should allowonly one unknown app installation at a time if the option is available tothem.

Published Apps Mac Screen Printing Apps

In either case, users need to make this configuration change beforethey can download and install unknown apps onto their devices.

Note: Some network providers do not allow users toinstall apps from unknown sources.