diff options
Diffstat (limited to 'docs/html/guide/publishing/preparing.jd')
| -rw-r--r-- | docs/html/guide/publishing/preparing.jd | 252 |
1 files changed, 0 insertions, 252 deletions
diff --git a/docs/html/guide/publishing/preparing.jd b/docs/html/guide/publishing/preparing.jd deleted file mode 100644 index 4db546d..0000000 --- a/docs/html/guide/publishing/preparing.jd +++ /dev/null @@ -1,252 +0,0 @@ -page.title=Preparing to Publish: A Checklist -@jd:body - -<!-- -<div id="qv-wrapper"> -<div id="qv"> - -<h2>In this document</h2> - -<ol> -<li><a href=""></a></li> -</ol> - -</div> -</div> ---> - -<p>Publishing an application means testing it, packaging it appropriately, and -making it available to users of Android-powered mobile devices.</p> - -<p>If you plan to publish your application for installation on Android-powered devices, -there are several things you need to do, to get your application ready. This document -the significant checkpoints for preparing your application for a successful release. </p> - -<p>If you will publish your application on Android Market, please also see <a -href="{@docRoot}guide/publishing/publishing.html#market">Publishing on Android Market</a> -for specific preparation requirements for your application. </p> - -<p>For general information about the ways that you can publish an applications, -see the <a href="{@docRoot}guide/publishing/publishing.html">Publishing Your -Applications</a> document. </p> - -<div class="special"> - -<p>Before you consider your application ready for release:</p> - -<ol> -<li>Test your application extensively on an actual device </li> -<li>Consider adding an End User License Agreement in your application</li> -<li>Specify an icon and label in the application's manifest</li> -<li>Turn off logging and debugging and clean up data/files</li> -</ol> - -<p>Before you do the final compile of your application:</p> - -<ol start="5"> -<li>Version your application</li> -<li>Obtain a suitable cryptographic key</li> -<li>Register for a Maps API Key, if your application is using MapView elements</li> -</ol> - -<p><em>Compile your application...</em></p> -<p>After compiling your application:</p> -<ol start="8"> -<li>Sign your application</li> -<li>Test your compiled application</li> -</ol> -</div> - -<h2 id="releaseready">Before you consider your application ready for release</h2> - -<h3 id="test">1. Test your application extensively on an actual device</h3> - -<p>It's important to test your application as extensively as possible, in as -many areas as possible. To help you do that, Android provides a variety of -testing classes and tools. You can use -{@link android.app.Instrumentation Instrumentation} to run JUnit and other -test cases, and you can use testing -tools such as the <a href="{@docRoot}guide/developing/tools/monkey.html">UI/Application -Exerciser Monkey</a>. </p> - -<ul> -<li>To ensure that your application will run properly for users, you should make -every effort to obtain one or more physical mobile device(s) of the type on -which you expect the application to run. You should then test your application -on the actual device, under realistic network conditions. Testing your -application on a physical device is very important, because it enables you to -verify that your user interface elements are sized correctly (especially for -touch-screen UI) and that your application's performance and battery efficiency -are acceptable.</li> - -<li>If you can not obtain a mobile device of the type you are targeting for your -application, you can use emulator options such as <code>-dpi</code>, -<code>-device</code>, <code>-scale</code>, <code>-netspeed</code>, -<code>-netdelay</code>, <code>-cpu-delay</code> and others to model the -emulator's screen, network performance, and other attributes to match the target -device to the greatest extent possible. You can then test your application's UI -and performance. However, we strongly recommend that you test your application -on an actual target device before publishing it. </li> - -<li>If you are targeting the <a href="http://www.t-mobileg1.com/">T-Mobile -G1</a> device for your application, make sure that your UI handles screen -orientation changes. </li> -</ul> - -<h3 id="eula">2. Consider adding an End User License Agreement in your -application</h3> - -<p>To protect your person, organization, and intellectual property, you may want -to provide an End User License Agreement (EULA) with your application. - -<h3 id="iconlabel">3. Specify an icon and label in the application's manifest</h3> - -<p>The icon and label that you specify in an application's manifest are -important because they are displayed to users as your application's icon and -name. They are displayed on the device's Home screen, as well as in Manage -Applications, My Downloads, and elsewhere. Additionally, publishing services may -display the icon and label to users. </p> - -<p>To specify an icon and label, you define the attributes -<code>android:icon</code> and <code>android:label</code> in the -<code><application></code> element of the manifest. </p> - -<p>As regards the design of your icon, you should try to make it match as much -as possible the style used by the built-in Android applications.</p> - -<h3 id="logging">4. Turn off logging and debugging and clean up data/files</h3> - -<p>For release, you should make sure that debug facilities are turned off and -that debug and other unnecessary data/files are removed from your application -project.</p> -<ul> -<li>Remove the <code>android:debuggable="true"</code> attribute from the -<code><application></code> element of the manifest.</li> -<li>Remove log files, backup files, and other unnecessary files from the -application project.</li> -<li>Check for private or proprietary data and remove it as necessary.</li> -<li>Deactivate any calls to {@link android.util.Log} methods in the source -code.</li> -</ul> - -<h2 id="finalcompile">Before you do the final compile of your application</h2> - -<h3 id="versionapp">5. Version Your Application</h3> - -<p>Before you compile your application, you must make sure that you have defined -a version number for your application, specifying an appropriate value for both -the <code>android:versionCode</code> and <code>android:versionName</code> -attributes of the <code><manifest></code> element in the application's -manifest file. Carefully consider your version numbering plans in the context of -your overall application upgrade strategy. </p> - -<p>If you have previously released a version of your application, you must make -sure to increment the version number of the current application. You must -increment both the <code>android:versionCode</code> and -<code>android:versionName</code> attributes of the <code><manifest></code> -element in the application's manifest file, using appropriate values. </p> - -<p>For detailed information about how to define version information for your -application, see <a href="{@docRoot}guide/publishing/versioning.html">Versioning Your Applications</a>.</p> - -<h3 id="cryptokey">6. Obtain a suitable cryptographic key</h3> - -<p>If you have read and followed all of the preparation steps up to this point, -your application is compiled and ready for signing. Inside the .apk, the -application is properly versioned, and you've cleaned out extra files and -private data, as described above. </p> - -<p>Before you sign your application, you need to make sure that you have a -suitable private key. For complete information about how to obtain (or generate) -a private key, see <a href="#cert">Obtaining a Private Key</a>.</p> - -<p>Once you have obtained (or generated) a suitable private key, you will use it -to:</p> - -<ul> -<li>Register for a Maps API Key (see below), if your application uses MapView -elements.</li> -<li>Sign your application for release</li> -</ul> - - -<h3 id="mapsApiKey">7. Register for a Maps API Key, if your application is using -MapView elements</h3> - -<div class="sidebox" style="margin-bottom:.5em;"><p>For complete information -about getting a Maps API Key, see <a -href="{@docRoot}guide/topics/location/geo/mapkey.html">Obtaining a Maps API -Key</a>.<br></p></div> - -<p>If your application uses one or more -{@link-fixme com.google.android.maps.MapView Mapview} elements, you will need to -register your application with the Google -Maps service and obtain a Maps API Key, before your MapView(s) will be able to -retrieve data from Google Maps. To do so, you supply an MD5 fingerprint of your -signer certificate to the Maps service. </p> - -<p>During development, you can get a temporary Maps API Key by registering the -debug key generated by the SDK tools. However, before publishing your -application, you must register for a new Maps API Key that is based on your -private key. </p> - -<p>If your application uses MapView elements, the important points to understand -are:</p> - -<ol> -<li>You <em>must</em> obtain the Maps API Key before you compile your -application for release, because you must add the Key to a special attribute in -each MapView element — <code>android:apiKey</code> — in your -application's layout files. If you are instantiating MapView objects directly -from code, you must pass the Maps API Key as a parameter in the constructor. -</li> -<li>The Maps API Key referenced by your application's MapView elements must be -registered (in Google Maps) to the certificate used to sign the application. -This is particularly important when publishing your application — your -MapView elements must reference a Key that is registered to the release -certificate that you will use to sign your application. </li> -<li>If you previously got a temporary Maps API Key by registering the debug -certificate generated by the SDK tools, you <em>must</em> remember to obtain a -new Maps API Key by registering your release certificate. You must then remember -to change the MapView elements to reference the new Key, rather than the Key -associated with the debug certificate. If you do not do so, your MapView -elements will not have permission to download Maps data. </li> -<li>If you change the private key that you will use to sign your application, -you <em>must</em> remember to obtain a new Maps API Key from the Google Maps -service. If you do not get a new Maps API Key and apply it to all MapView -elements, any MapView elements referencing the old Key will not have permission -to download Maps data. </li> -</ol> - -<p>For more information about signing and your private key, see <a -href="#signing">Signing Your Applications</a>.</p> - - -<h2 id="compile">Compile Your Application</h2> - -<p>When you've prepared your application as described in the previous sections, -you can compile your application for release. </p> - -<h2 id="post-compile">After Compiling Your Application</h2> - -<h3 id="signapp">8. Sign Your Application</h3> - -<p>Sign your application using your private key. Signing your application -correctly is critically important. Please see <a href="#signing">Signing Your -Applications</a> for complete information. </p> - -<h3 id="testapp">9. Test Your Compiled and Signed Application</h3> - -<p>Before you release your compiled application, you should thoroughly test it -on the target mobile device (and target network, if possible). In particular, -you should make sure that any MapView elements in your UI are receiving maps -data properly. If they are not, go back to <a href="#mapsApiKey">Register for a -Maps API Key</a> and correct the problem. You should also ensure that the -application works correctly with any server-side services and data that you are -providing or are relying on and that the application handles any authentication -requirements correctly. </p> - -<p>After testing, you are now ready to publish your application to mobile device -users.</p> - - |
