Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

As you're developing or customizing uMobile, you'll want to test regularly to make sure your app is functioning as expected. The processes and requirements for testing on iOS and Android are very different.

...

The process for managing certificates and profiles is covered in good detail here: [http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iphone_development/128-Managing_Devices_and_Digital_Identities/devices_and_identities.html|http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iphone_development/128-Managing_Devices_and_Digital_Identities/devices_and_identities.html]. Follow the steps outlined there to set up your team for iOS development.

...

Titanium has recently released a tool called Fastdev, which streamlines testing in the Android emulator (and eventually the iOS simulator as well). http://wiki.appcelerator.org/display/guides/Fastdev+Reference+for+Android

Fastdev launches a server to serve your javascript assets to the emulator, rather than packaging them all and deploying them directly to the emulator. As you edit your Javascript, the emulator app reflects your changes immediately. However, most often, you'll need to restart the app in the emulator to see changes take effect. This is much quicker than re-compiling the app entirely though. Here's how to launch Fastdev from command line

...

  1. cd ~/ProjectRoot (Contains Resources, build, etc)
  2. titanium fastdev start (Make sure titanium is set up as an alias on your machine: http://developer.appcelerator.com/doc/mobile/android/module_sdk)

Android Testing Tools

DDMS

ADB

  1. In a new shell window: titanium run --platform=android

Application should start in emulator. If an emulator doesn't appear, start the Fastdev server (step 2), and then launch the app from Titanium Developer (it will still use the Fastdev server).

When you've made changes to your app and want to see them in the emulator, just type the command: titanium fastdev restart-app which will quickly exit and reopen your app, using files served from the Fastdev server.

Android Device Debugging with DDMS

DDMS, or Dalvik Debug Monitor is an interface that allows monitoring of connected device or emulator logs, so you can see statements from your application as you test on a phone or emulator. If you're testing through Titanium Developer, you'll see the emulator logs already, so DDMS isn't really necessary. However, when testing on your device, DDMS is invaluable. To launch DDMS, just navigate to <android sdk>/tools in your shell, and excute ddms. This will open a window which will show a list of available devices/emulators on the left. Just select the one you want to monitor, and its logs will appear below. You can also view other information about the device and active threads in the top right of the window.

http://developer.android.com/guide/developing/debugging/ddms.html

Packaging Android for Distribution

Submitting an Android app is pretty straightforward, and makes your app instantly available in the Android Market. There are just a few steps to get set up and get your app in the Android Market.

  1. Set up an Android Developer account for $25: https://market.android.com/publish/signup
  2. Create a self-signed certificate to sign your application: http://developer.appcelerator.com/doc/mobile/android_markethttp://developer.android.com/guide/publishing/app-signing.html
  3. Compile your app for distribution in Titanium Developer from <project> > Test & Package > Distribute > Android, using the keystore you created in step 2
  4. zipalign your APK http://developer.android.com/guide/developing/tools/zipalign.html
  5. Set up and upload your app in Android Market Developer Console: https://market.android.com/publish/Home

It's possible that there will be issues during the process, but chances are someone else has encountered your same issue and posted a question about it in the Appcelerator Q&A: http://developer.appcelerator.com/questions/. Copy specific error messages and search for them there for a resolution.