Welcome to MOTODEV  |  Join  |  Log In
 
ECCN 5D002.a

MOTODEV Studio for Android Release Notes

For MOTODEV Studio for Android™ version 1.2 and 1.2.1.

MOTODEV Studio for Android offers unsurpassed workflow ease and a unique integrated experience for developing Android applications. One installer brings you everything you need: from design to development to deployment on an Android handset to sales, with a focus on Motorola products.

MOTODEV Studio for Android supports handsets running Android versions 1.1, 1.5 ("Cupcake"), 1.6 ("Donut"), 2.0/2.0.1/2.1 ("Eclair"), and 2.2 ("Froyo"); OPhone SDK 1.5, and JIL Widget Specification 1.2 Beta, including (but not limited to):

MOTODEV Studio is based on the following technologies:

Installation

See Installing MOTODEV Studio for Android for tested configurations and complete installation instructions. Carefully read the installation guide and these release notes before installing and using MOTODEV Studio.

Motorola recommends that you avoid using the Eclipse update mechanism to install newer versions of Eclipse components used in MOTODEV Studio for Android.

What's New in Version 1.2.1

  • Supports Android Tools r6
  • Supports library projects. Library projects enable you to keep common code and resources in a project that can then be referenced from other projects.
  • The MOTODEV Studio plugins are now available as a complete archive package; using this package you can install MOTODEV Studio into an existing Eclipse installation without having access to the Internet
  • The Startup Options property dialog now helps you calculate screen resolution and scale values based upon the screen dimensions of your monitor and the device being emulated
  • The Device Management view now displays the Android target for emulated devices, not just for connected ones
  • The Device Properties dialog now has a CSV Export option that lets you save handset properties
  • You can now open the MOTODEV products web page directly from the MOTODEV menu
  • Improved emulator startup time
  • You can now refresh local databases to reflect changes in remote data without having to disconnect and reconnect
  • When selecting compatible device instances, MOTODEV Studio now takes into consideration the minimum SDK version specified in your project's manifest
  • Run As now works with projects that have no default activity (typically, widget projects)
  • The Database Explorer view now lists databases that don't have an extension of ".db".

What's New in Version 1.2

  • 64-bit versions of MOTODEV Studio are now available for Microsoft Windows, Mac OS X, and Linux.
  • MOTODEV Studio can now be installed as plug-ins into an existing Eclipse installation.
  • On Microsoft Windows and Linux, the Android Emulator view now displays the emulator directly, rather than using VNC (the ability to use VNC remains an option). This eliminates the performance penalty imposed by running VNC as a separate process on the emulator.
  • The Localization Files Editor can now use a translation service to translate your application's text strings into another language.
  • The Localization Files Editor has been updated to handle string arrays and multi-line text strings. It also preserves HTML tags within your strings, and comments within the XML strings files.
  • The Device Management view no longer consumes valuable screen real estate with command buttons; instead, click the downward-pointing arrow to the right of the AVD (or right-click the AVD) to obtain a context-sensitive menu with these commands.
  • The Device Management view now displays the Android target for connected devices.
  • From the Device Management view you can now easily take screenshots of your real or emulated devices.

Changes in the Android Emulator View

On Microsoft Windows and on Linux, MOTODEV Studio for Android 1.2 streamlines the operation of the Android Emulator view (on Mac OS X, the old behavior and settings remain; the remainder of this discussion does not apply to Mac OS X). The Don't show Emulator Window externally option has been removed; to switch from the Android Emulator view to an external window, simply close the view. To switch from an external window to the Android Emulator view, simply reopen the view (Window > Show View > Android Emulator).

The improved performance of the Android Emulator view on Microsoft Windows and Linux should make that view much more usable for many developers. When creating your AVDs you normally would leave Show the Native Emulator Window within an Eclipse View (Recommended) selected. This captures the native presentation of the emulator screen and shows it directly within the view. However, if this method of presenting the emulator seems to be experiencing problems you can close the view (thus switching the emulator to an external window) or you can fall back upon the older VNC technology. To do this, edit your AVD's properties and select Use VNC to show the Emulator within an Eclipse View instead. (Note that you will need to stop and restart your AVD if you change how the Android Emulator view is generated.) This option makes the external emulator window invisible and redraws it within the Android Emulator view using the VNC protocol. While slower (due to the overhead of using VNC), this approach is more likely to work correctly on any operating system configuration.

Known Issues

The following issues are known to exist in this release of MOTODEV Studio for Android.

NOTE: MOTODEV Studio for Android includes ADT (Android Development Tools), an Eclipse plugin developed by Google. The MOTODEV Studio for Android development team is not responsible for and does not support ADT. Any problems you encounter in features provided by ADT should be directed to Google. Additionally, MOTODEV Studio relies upon Eclipse and a number of Eclipse plugins that are not developed by Motorola. The MOTODEV Studio for Android development team is also not responsible for these components.

MOTODEV Studio for Android Installation and Update Issues

  • When installing MOTODEV Studio for Android as plugins, be aware that you can install only on a compatible base product such as Eclipse Classic or Eclipse Pulsar. MOTODEV Studio for Android plugins cannot be installed into an existing MOTODEV Studio, such as MOTODEV Studio for Java ME.
  • After updating or adding a new component to MOTODEV Studio for Android you are asked to allow MOTODEV Studio to restart. On Linux, you will need to perform this restart manually: execute motodevstudio.sh from a command shell.
  • After updating to MOTODEV Studio for Android version 1.2, opening a workspace created with a prior version of MOTODEV Studio may result in an error when the Device Management view is displayed. Reset the MOTODEV Studio for Android perspective, or close and re-open the Device Management view.
  • The installer has some issues when installing the 64-bit version of MOTODEV Studio in a 64-bit Windows environment:
    • The installer may fail to automatically detect the 64-bit version of Java. If so, you will need to manually indicate the folder containing the 64-bit version of Java.
    • The default installation folder will be “(…) Program Files (x86)”, just as if it was a 32-bit application.

    Note that these issues only affect installation; once installed, the 64-bit version of MOTODEV Studio will run as expected.

  • During installation of an SDK you may see a message indicating that installation is “blocked”. This message does not indicate an actual problem; the installer is simply waiting for the SDK to download.
  • Motorola strongly recommends that you specify the MOTODEV Studio installation root folder as the installation path when installing the OPhone SDK. This makes the OPhone SDK automatically detectable when you create new workspaces.
  • When updating, the DTP component (used by the database feature) adds PDE as a dependency. This increases the update size by about 12 MB.
  • The MOTODEV Studio for Android installer determines which (if any) JVM is installed on your computer. If it finds more than one, it displays to the user only the first one found, which may or may not be the one that is actually used by MOTODEV Studio.
  • On Linux hosts, after installation the desktop shortcut may appear with the wrong icon. This happens when the shortcut was created without execute permission. Either grant the shortcut execute permission, or try to launch MOTODEV Studio for Android using the shortcut and, if asked, indicate that you trust the shortcut.
  • When you are on a network that requires proxy authentication, MOTODEV Studio updates will only occur if the proxy information (including username and password) is manually set for both HTTP and HTTPS connections (in Preferences, under General > Network Connections). This also affects the download and install of the Android SDK during the installation process. If during installation you are asked if you want to change the connection preferences, do so. Change the active provider to "Manual" and provide host, port, user, and password values for both the HTTP and HTTPS schemes.

Project Creation Issues

  • When creating an application targeting the OPhone OS, you will be asked if you want oms.jar to be added to your project classpath. Click Yes. If you have an existing project that you are retargeting towards the OPhone OS, oms.jar won't be added to your classpath. You will need to manually add it. Finally, note that if you have a project that targets the OPhone OS and you change the target to something other than the OPhone OS, oms.jar won't be removed from your classpath.
  • When creating a new Android project, if you clear the Use default location option you will be unable to specify a project location within your workspace. To create a project within the current workspace leave Use default location selected. Otherwise, specify a location outside of the current workspace.
  • During project creation, if you specify a path in which the parent folder doesn’t exist, an error is displayed. For example, if you specify the path C:\temp\projects\myproject and the projects directory doesn’t exist, you will encounter this problem. Ensure that the project's parent folder exists before creating a project in it.
  • In the New Project wizard, as you edit the Project Name field the Project Location field is automatically generated. Sometimes, this field is not generated as expected.
  • If you install new packages using the AVD Manager, MOTODEV Studio sometimes ceases to recognize the targets to which you installed the packages. If you then try to create a project, you may see no available targets. If this happens, reopen the AVD Manager (Window > Android SDK and AVD Manager) and then close it. The new project wizard should now work.
  • If your project's name starts with a digit and you use the default package name created by the wizard, the generated APK will be invalid. When generating the default package name, the wizard replaces leading digits in the project name with a single underscore ("_") character; since individual package name parts must start with a letter, this results in an invalid package name. Either ensure that your project name doesn't begin with a digit, or alter the package name so that it is valid.

Localization Files Editor Issues

  • The "Highlight Changes" option is not available on Linux hosts.
  • When “Highlight Changes” is enabled, cells that have only had their comments changed are not highlighted.
  • Because the translation feature relies upon a third-party service to perform the text translation, there is no guarantee that HTML tags or end-of-line characters will be preserved in the translation. Always review the resulting strings to ensure that the translation is appropriate and that HTML tags and end-of-line characters are in the proper places.
  • The Localization Files Editor does not validate HTML tags for consistency. Improper HTML tags will be noted at build time.
  • &lt; and &gt; are unescaped in order to support HTML tags. If you manually enter either of these as text they will be unescaped to < and > respectively.
  • On Microsoft Windows hosts the "Expand Row Size" option may not take effect until you have closed and re-opened the Localization Files Editor.
  • When "Expand Row Size" is enabled, all rows are sized to the height of the row with the tallest cell.
  • Clicking on a multiline cell without making any changes can sometimes cause the Localization Files Editor to indicate that the cell contents were altered. Regardless of this mistaken status indication, a save operation will not change the contents of the underlying localization file.
  • If you move the mouse out of the comment window area while editing a comment, the comment window simply disappears.
  • Undo/redo does not work for changes to comments.
  • The Localization Files Editor does not notice when a file being edited is changed using an editor outside of MOTODEV Studio for Android (such as Notepad). It does notice when changes are made from another editor, such as a text editor or XML editor, within MOTODEV Studio.

Issues while Installing, Running, or Debugging Apps

  • Occasionally you may find that you cannot install and launch applications on a connected Platinum handset (OPhone). Disconnecting and reconnecting the phone from your development computer should take care of this problem.
  • If you debug an Android application immediately after debugging a JIL widget, you may see one or two error messages. The first indicates that a ClassCastException was raised. The second (which you may or may not see; it doesn't always appear) states that the project is not a widget project. In most cases you can just ignore the messages. If you are unable to debug your application, however, restart MOTODEV Studio and debug the application without first debugging a JIL widget.
  • If you try to install a package onto a device (real or emulated) with the “uninstall first” option selected, and you do not have the platform for that device in your SDK, an error will occur. You must either download the platform corresponding to that device, or uninstall the existing package from the device before installing the new one.
  • When working with the 1.6 SDK, sometimes an error message appears when installing a package:
    Error executing the operation. Execution results: - exec '/system/bin/sh' failed: Bad address (14)
    If you try again, it should work.
  • When running applications on a version 1.6 target, sometimes the following error occurs:
    Waiting 3 seconds before next attempt.
    ActivityManager: Error: Activityclass {XXX} does not exist.
    If you get this error, clean the project and re-run your application.
  • If there is a handset and one or more AVDs online when you launch or debug an application using MOTODEV Studio for Android, you will be presented with the standard ADT device chooser dialog asking you to select a target device. Simply select the desired target again.
  • At this time, you cannot reliably debug on a remote device through DeviceAnywhere Studio.
  • If you use a method such as waitForDebugger() from the Android SDK's Debug class, when you run that application a new debug configuration will be automatically created and a debug session will start using this configuration. This new configuration will be listed among the other debug configurations, and can be used for subsequent debugging sessions.
  • ADT may crash with a "null pointer" message if you try to run an application (either on the handset or on an emulator) while an emulator is starting. Avoid launching applications while emulators are starting.

Emulator Issues

  • On Microsoft Windows and on Linux MOTODEV Studio for Android 1.2 removes the "-no-window" AVD startup option (it is no longer needed on those platforms). In doing so, however, it leaves behind a space character which causes the UI to not be displayed correctly. For your existing AVDs simply edit the startup arguments (in the AVD's Properties dialog, under Startup Options) and remove the extraneous space character.
  • In some cases, the native solution used to present the Android emulator as a view within MOTODEV Studio fails to display the emulator in the open view. If this happens, either work with the emulator in an external window or select the Use VNC to show the Emulator within an Eclipse view option in the AVD's properties.
  • If your development computer has more than one display, note that the Android emulator must be on display 0. It crashes when you attempt to show it on other displays.
  • On Linux hosts, in order to interact with the emulator using your host computer's keyboard the focus must be in the emulator tab. If you click the emulator screen itself, keyboard interaction will not work even though the focus appears to be there. Click on the tab (or in the view, which redirects the focus to the active tab) and then you can use your computer's keyboard.
  • When using the JIL SDK, the WVGA skin is the only one that works properly. If you are using VNC to display the emulator in the Android Emulator view, always choose WVGA when creating AVDs that will use the JIL SDK.
  • When switching between the Google Android and OPhone SDKs, be aware that AVDs created with the OPhone SDK cannot be started when using the Google Android SDK. AVDs created with the Android SDK 2.0 do seem to start when using the OPhone SDK.
  • Often, when using the "change language" feature, the Ophone emulator doesn't reboot and doesn't change its language. You will need to change the emulated device's language using the on-device Settings app. This is an issue with the OPhone emulator.
  • Within MOTODEV Studio, emulator device names are case-sensitive. If you start an emulator from the command line and the AVD name you supply doesn’t exactly match the device name shown in MOTODEV Studio, MOTODEV Studio will not recognize the running instance.
  • The Other field in the Emulator Properties Startup Options is not validated in any way. In particular, if you supply the –avd option and specify an emulator instance other than the one that is to be launched, when you launch the emulator it will never complete the startup process. Ensure that any options you enter into this field are correct, and do not use the –avd option.
  • On occasion the Android emulator stalls during start up. Note that when launching the emulator for the first time the launch can take quite a while. If it takes more than ten minutes or so, however, the emulator has likely stalled. Stop the emulator and try again.
  • If the emulator is not running when you launch or debug an application targeted to the emulator, MOTODEV Studio starts the emulator and deploys the application to it. On rare occasions, however, the emulator isn’t started and nothing seems to happen. This occurs when the emulator process is unable to connect to the ADB port. Although the emulator process is running, ADT does not recognize it and therefore neither does MOTODEV Studio for Android. Stop the emulator and try again.
  • If you provide a timeout value that is too large, you'll see an error message that indicates that the value must be a positive integer. Provide a smaller timeout value.
  • While the emulator is in use, your computer's CPU usage can reach a high value.
  • The ADB shell console feature does not yet support commands such as CTRL-C to interrupt process execution. If the process that is executing depends on a command like this to stop, it cannot be stopped unless the ADB shell is killed, either by stopping the emulator, disconnecting the phone, or killing the ADB process controlling that shell.
  • On rare occasions, when working with a single emulator instance and multiple ADB shells, an exception may be thrown when the emulator is stopped: “request rejected: device not found java.io.IOException: device (emulator-5556) request rejected: device not found”.
  • On Mac OS X and on Linux, if you are having problems with the ADB shell feature it may be that the path to the Android SDK contains whitespace characters. If it does, move the SDK to an alternate location that has no spaces in the path, and adjust the SDK Location field accordingly in the Android preferences page.
  • While quickly alternating between multiple emulators, you may see the following message: “Device rejected command: cannot bind socket java.io.IOException”.
  • Sometimes the following error message is shown in the logcat view when stopping an emulator instance: “Stop request rejected: device not found”. This may occur because there are pending commands to be executed on the emulator, and the emulator was stopped before they could be executed.
  • If you have two emulators running and the Emulator view is open (using VNC), an operation selected from the context-sensitive menu may be performed on the wrong emulator instance (that is, it may be performed on the emulator that is not currently showing in the Emulator view). This occurs when you:
    1. Change the selected emulator from the Device Manager view.
    2. Without otherwise interacting with the Emulator view, right-click it and select an option from the menu that appears.

    Note that this is only an issue when using VNC to present the contents of the Android Emulator view (on Window and Linux, this is normally not a problem since the default is not to use VNC; on Mac OS X, VNC is the only option).

  • The JIL SDK supports only the WVGA skin in the emulator.

MOTODEV Database Explorer Issues

  • When updating an on-device database, if you try to insert two rows, then delete the last inserted row, and then disconnect, a "widget not disposed" message is displayed. This appears to be a DTP bug.
  • There is a bug in Datatools 1.7.2 that affects MOTODEV Studio: when loading Sqlite databases it processes rows based only on the row typename instead of the row typeCode. This prevents columns with size constraints from being detected by the table editor.
  • The menu displayed when right-clicking the database node contains some options that are only applicable for the Data Tools perspective: they don’t work when using the MOTODEV Database perspective, and can create problems if used. The options that should be avoided are: Rename, Duplicate, and Save Offline.
  • On some occasions with version 1.6 targets, the emulator crashes while loading databases.
  • The MOTODEV Database Explorer does not refresh itself automatically: you must click Refresh to re-synchronize this view with the file system.
  • On rare occasions, while working with a connected a handset, a “widget disposed” message is displayed while trying to save an edited value.
  • If a table has a data type not supported by the table editor, an exception will be raised when the editor opens the table. For instance, this problem occurs with the IMAGES and VIDEOS tables from the com.android.providers.media application.
  • BLOB fields are displayed as text.

JIL/OPhone SDK

  • When switching the SDK from Android or OPhone to JIL, on occasion Studio may fail to install the JIL WDT plug-ins, displaying an error message about MD5 hash. Switching back to the SDK, and then once again to JIL, should solve the problem.
  • The OPhone SDK does not support the Widgets Preview view. Also, error markers do not work.
  • Despite the fact that the OPhone SDK can be used to develop JIL widgets, MOTODEV Studio for Android defaults to using the JIL SDK when developing JIL widgets. Because of this, the JIL WDT (Widget Development Tools) are only installed when you point to a JIL SDK. The WDT installed with the JIL SDK can be used by the OPhone SDK.
  • The JIL SDK is not available for Mac OS X. Accordingly, the JIL WDT (Widget Development Tools) are not installed on Mac OS X.
  • If the JIL SDK is selected and you try to run Google's AVD Manager, you will get an exception. Create and control AVDs using the Device Management view or from the command line instead.

Other Issues

  • When changing the handset mode to TCP/IP, the handset status is not changed to offline. Its status shows as online, but operations won't be performed successfully. If you connect to the handset using an Android Remote Device instance, you will be able to interact with it.
  • Occasionally, after exporting packages, the Install Application dialog may state that the package is "Unsigned or Malformed". Re-exporting the package solves the problem.
  • If you change SDKs while adb is running, adb is not killed. The running adb may not be compatible with your new SDK, however. If you experience problems after changing SDKs, manually kill the adb process. The correct adb for the new SDK will be automatically started when needed.
  • On Linux, in the Device Management view, if you click the down-arrow button for the last item in the list (for instance, to display the commands that can be used with the AVD at the bottom of the view), the selection is moved to the immediately preceding item, and the chosen command is applied to that item. This is particularly harmful if you select Delete, as the wrong AVD is deleted. Rather than using the down-arrow button, right-click the list item to display the context-sensitive menu for that device or AVD.
  • On Microsoft Windows, MOTODEV Studio for Android has a MOTODEV menu item and a corresponding toolbar button that allow you to launch DeviceAnywhere Studio. For this release, you cannot reliably interact with a remote device through DeviceAnywhere while MOTODEV Studio for Android is running. Before launching DeviceAnywhere Studio (from your host operating system), ensure that neither MOTODEV Studio for Android nor the adb daemon is running.
  • If you run the Activity, Service, Broadcast Receiver, or Content Provider wizards while Manifest.xml is opened, a warning is shown ("No grammar constraints (DTD or XML schema) detected for the document") and all file content is highlighted. Close and reopen the manifest file to resolve this issue.
  • When collecting log files (Help > Collect Log Files), if you specify a folder to which you do not have write access the error message that is displayed is somewhat misleading. It displays “Cannot create zip file”—which is technically true—but the solution to the problem is to fix the folder permissions or choose a folder for which you do have write access.
  • MOTODEV Studio for Android includes a mechanism that by default is used to store all passwords (such as your MOTODEV password). On Linux, if you want to improve the security of your passwords, disable this mechanism: from the MOTODEV Studio Preferences dialog select General > Security > Secure Storage. In the Master password providers section, deselect the Java Password Provider and select the UI Prompt provider (if it is not already selected).
  • On Ubuntu hosts, the preview of the last snippet of the GPS group does not appear. A blank area appears instead.
  • When on a network that requires proxy authentication, you may need to supply your username and password for each connection being opened, even if you have specified them on the preferences page. The RSS/Atom Feed view, for instance, can require you to enter your username and password up to four times in a row when the view is first opened (or when MOTODEV Studio is started with this view visible).
  • If a web page contains errors, for each error the Eclipse internal editor may cause an error dialog to appear asking if you want to debug the page. If the errors do not prevent the page from being rendered, you can answer “no” to each and the page will appear normally. If there are multiple errors, this can be somewhat annoying, however. Instead, you may want to alter your MOTODEV Studio preferences so that it renders such pages using an external web browser.

Legal Notices

MOTODEV Studio for Android includes some open source and third party code. Code snippets in MOTODEV Studio for Android are offered under a modified BSD license. See the relevant legal notices.

 

ECCN 5D002.a: In accordance with United States Export Administration Regulations (EAR), and specifically the Commerce Control List (CCL), this item has been classified 5D002.a. Export or re-export of this commodity and compliance with the U.S. Export Administration Regulations is ultimately the responsibility of the exporter. For more detailed information related to export or re-export of this item, please consult the EAR at http://www.access.gpo.gov/bis/ear/ear_data.html.


Was This Document Helpful?
Yes  No 

Additional Comments (Optional)



Submit

Share This Page

Bookmark and Share

Table of Contents