You are on page 1of 17

What is App Inventor

App Inventor lets you develop applications for Android phones using a web browser and either a connected phone or emulator. The App Inventor servers store your work and help you keep track of your projects.

You build apps by working with: The App Inventor Designer, where you select the components for your app. The App Inventor Blocks Editor, where you assemble program blocks that specify how the components should behave. You assemble programs visually, fitting pieces together like pieces of a puzzle.

Your app appears on the phone step-by-step as you add pieces to it, so you can test your work as you build. When you're done, you can package your app and produce a stand-alone application to install. If you don't have an Android phone, you can build your apps using the Android emulator, software that runs on your computer and behaves just like the phone. The App Inventor development environment is supported for Mac OS X, GNU/Linux, and Windows operating systems, and several popular Android phone models. Applications created with App Inventor can be installed on any Android phone. (See system requirements.) Before you can use App Inventor, you need to set up your computer and install the App Inventor Setup package on your computer.

App Inventor Setup

App Inventor runs through a Web browser. If you're using a phone, you work with the phone connected to your computer by a USB cord. Your app will emerge on the phone bit by bit as you work. If you don't have a phone, there's a phone emulator included with the App Inventor setup package that you can use instead. When you're done building, you can "package" your finished app to produce an "application package" (Android apk file) that can be shared around and installed on any Android phone, just like any other Android app. To get started you need to complete the following steps: Step 1: Set up your computer Step 2: Do one of the following, depending on whether you will develop on an Android phone or with the emulator: Set up your Android phone and build your first app with the phone, OR Build your first app with the emulator

Set up your computer

System requirements:
Computer and operating system Macintosh (with Intel processor): Mac OS X 10.5, 10.6 Windows: Windows XP, Windows Vista, Windows 7 GNU/Linux: Ubuntu 8+, Debian 5+

Browser Mozilla Firefox 3.6 or higher Note: If you are using Firefox with the NoScript extension, you'll need to turn the extension off. See the note on the troubleshooting page. Apple Safari 5.0 or higher Google Chrome 4.0 or higher Microsoft Internet Explorer 7 or higher

Test your Java configuration

Your computer needs to run Java 6 (also known as Java 1.6). You can download Java from Test your Java configuration by performing both of the following tests: 1. Visit the Java test page. You should see a message that Java is working and that the version is Java 1.6. 2. Run the AppInventor Java test by clicking on this link. This will check that your browser is properly configured to run Java, and that your computer can launch applications with Java Web Start. App Inventor will not work on your computer if these tests do not succeed. Don't go on to try to use App Inventor until you've dealt with the issue.

Install the App Inventor Setup Software

Before you can use App Inventor, you need to install some software on your computer. The software you need is provided in a package called App Inventor Setup. Follow the instructions for your operating system to do the installation, and then go on to build the demo app (Hello Purr) with the phone or with the emulator. Instructions for Mac OS X Instructions for GNU/Linux Instructions for Windows

Something not working right? Visit the troubleshooting page, or check the App Inventor User Forum for help.

Installing App Inventor Setup for Windows

Installing the App Inventor Setup for Windows has two parts: 1. Installing the App Inventor Setup software package. This step is the same for all Android devices, and the same for Windows XP, Vista, and 7. 2. Installing the Windows drivers for your Android phone.
Installing the App Inventor Setup software package

We recommend that you perform the installation from an account that has administrator privileges. This will install the software for all users of the machine. If you do not have administrator privileges, the installation should still work, but App Inventor will be usable only from the account you used when you installed. 1. Download the installer. 2. Locate the file AppInventor_Setup_Installer_v_1_2.exe (~92 MB) in your Downloads file or your Desktop. The location of the download on your computer depends on how your browser is configured. 3. Open the file. 4. Click through the steps of the installer. Do not change the installation location but record the installation directory, because you might need it to check the driver. The directory will differ depending on your version of Windows and whether or not you are logged in as an administrator.
Locating the Setup software

In most cases, App Inventor should be able to locate the Setup software on its own. But if it asks for the location of the software, the path to enter is C:\Program Files\Appinventor\commands-for-Appinventor. If you are using a 64-bit machine, you should type Program Files (x86) rather than Program Files. Also, if you did not install the software as an administrator, it was installed in your local directory rather than in C:\Program Files. You'll need to search for it to find the correct pathname.
Phone drivers

The App Inventor Setup software includes drivers for these common Android phones: T-Mobile G1* / ADP1 T-Mobile myTouch 3G* / Google Ion / ADP2 Verizon Droid (not Droid X) Nexus One Nexus S

Phones not listed here will require you to obtain and install a driver manually. In some cases the Windows drivers do not always install automatically, in which case you'll need to do a manual driver installation.

Windows Drivers for Android Phones

The AppInventor Setup software includes the Google USB driver, which handles the following devices: T-Mobile G1* / ADP1 T-Mobile myTouch 3G* / Google Ion / ADP2 Verizon Droid (not Droid X) Nexus One Nexus S

If your phone is one of these, then the driver should have been installed along with the AppInventor Setup software. All other devices will require you to obtain and install a USB driver from the device manufacturer. In either case it's a good idea to check the driver installation, as described below, before proceeding. You can find links to drivers for many Android devices at If your device is not listed, we recommend you search the manufacturer's website for information on how to install drivers for your particular phone and/or review these resources: Android Developers Google Group and Android Beginners Google Group: Search under terms like "Android SDK", "drivers", "install", and the name of your device. Thread on drivers from the App Inventor community forum User Generated Documentation (

In following the manufacturer instructions, note that you do not need to install the complete Android SDK, just the drivers for your device. The other parts of the SDK were installed when you installed the App Inventor Setup software. Checking and installing the drivers requires facility with using the Windows command line and the Windows device manager. If you are not experienced using Windows in this way, you may want to get help with this. You can also ask for advice in the App inventor Forum
Checking the driver installation:

It's been our experience that the Windows drivers do not always correctly install automatically. Here's how to check the driver: Open a Command Prompt window and navigate to the directory where the software was installed. For example, if you installed the Setup software as an administrator, and this is a 32-bit system, the directory should be C:\Program Files\AppInventor\commands-for-Appinventor, or Program Files (x86) for a 64-bit system. Type the "dir" command and check that one of the files listed is adb.exe. If it's not, then you are in the wrong directory or the software didn't install. Plug your phone into one of your computer's USB slots, making sure that the phone shows USB connected and USB debugging connected. Type the command "adb devices". You should see the messages "daemon not running" followed by "daemon stated successfully", followed by "list of devices attached". If there

is a device in the list, something like HT99TP800054, then the phone is connected and the computer and the phone can communicate and the drivers should be OK. On the other hand, if the list of devices is blank, you'll have to get additional drivers, or install the existing drivers manually. Try unplugging and replugging the phone into your computer and trying the "adb devices" command again before getting or installing device drivers, as sometimes that is sufficient to make the connection work.

Installing the App Inventor Setup drivers manually:

The AppInventor Setup software includes the Google USB driver, as noted above. If your device is one of the ones that the driver handles, the drivers should have been installed automatically, and the driver installation should check out as described above. If the check fails, and you need to install the Google drivers manually. You can find instructions here. In following the instructions, note that you do not need to install the SDK or download the drivers again they were included with the App Inventor Setup software, and you can find them in the App Inventor software directory in the usb_driver sub-folder of the appinventorsetup folder where the installer placed the software, for example C:\Program Files\AppInventor\commands-for-Appinventor\usb_driver. The directions for installing the Google USB drivers may also help if you have trouble with a manufacturer's driver, but in general, you might need to search on the Web for help in the various Android developer forums.
Other issues

If the drivers are installed, and you see the phone listed by "adb devices", but App Inventor still won't connect, then you should ask in the App Inventor Forum. Some devices may require special extra steps, or there may be some other issue. If you find (or solve) issues with other devices, please post to the Forum so that other App Inventor users can benefit from your experience.

Reference Documentation

These pages describe the components you can use in App Inventor to build your apps. Each component can have methods, events, and properties. Most properties can be changed by apps these properties have blocks you can use to get and set the values. Some properties can't be changed by apps these only have blocks you can use to get the values, not set them. In this document, read-only properties are shown in italics. A few properties are only available in the Designer. Basic components Media components Animation components Social components Sensor components Screen Arrangement components LEGO MINDSTORMS components Other components Not ready for prime time components

LEGO and MINDSTORMS are registered trademarks of the LEGO Group.


These pages describe the blocks you can use when you build your App Inventor apps.

Definition blocks Text blocks List blocks Math blocks Logic blocks Control blocks Color blocks

Using the Activity Starter Creating a Custom TinyWebDB Service Live Development, Testing, and Debugging Displaying a List

Using the Location Sensor Specifying Sizes of Components Accessing Images and Sounds Bluetooth - Coming Soon!

Tutorial Topics

Each topic will have links to multiple community tutorials. Use more than one tutorial. Seeing the same concept through different eyes will help you understand better. If you know of a tutorial that should be listed here and isn't, contact one of the site curator's to get it reviewed.

Multiple Screens App Inventor Extender Can't Get Device Connected Open a Web page with ActivityStarter Centering/Formatting the User Interface Layout Behavior info Sending Email from App Inventor Button Behaviors (Flashy, Blinky, Toggle etc) Getting Spreadsheet Data into AI Colors Text XML Parsing Sorting Lists Arduino Miscelanous


Once you've set up your computer and built the HelloPurr app you are ready to begin these basic tutorials. PaintPot PaintPot lets you scribble in different colors by touching the screen to draw dots and lines. Concepts introduced in this project include: Canvas components for drawing; event handlers that take arguments, including touch and drag events; and Arrangement components for controlling screen layout. Part 2 extends the project to draw dots of different sizes, as an introduction to global variables. MoleMash TM In the arcade game Whac-a-Mole , a "mole" pops up at random positions on a playing field, and the user score points by hitting the mole with a mallet. This is a similar game that uses the touchscreen. This tutorial introduces: image sprites, timers, and procedures. PicCall PicCall illustrates how to create applications that use the phone's functionality. This application lets you select people from your contact list and display their pictures. When you press a picture, the phone calls that person.


These tutorials build on the things you learned in the beginner tutorials and explore App Inventor's more complex functionality. Quiz Me QuizMe is a trivia game about baseball, but you can use it as a template to build quizzes on any topic. With QuizMe the user steps through a series of questions, clicking a Next button to proceed to the next question. The user enters an answer for each question and the app reports whether each answer is correct or not. For this tutorial, you'll create an app in which the questions are always the same unless you, the programmer, change them. Later, you can create MakeAQuiz, an app that lets users create and modify the quiz questions. Text Group This tutorial introduces the Texting component for sending and processing texts. You'll build an app that texts a message to a list of phone numbers. MakeQuiz and TakeQuiz MakeQuiz and TakeQuiz are two apps that, in tandem, allow a teacher to create quizzes for a student. Parents can create fun trivia aps for their children during a long road trip, grade school teachers can build "Math Blaster" quizzes, and college students

can build quizzes to help their study groups prepare for a final. This tutorial will walk you through creating both the MakeQuiz and the TakeQuiz app. Map Tour This is a two-part tutorial introduces the ActivityStarter component for launching arbitrary Android Apps and the ListPicker component for allowing a user to choose from a list of items. You'll build MapTour, an app for visiting French vacation destinations with a single click. Users of your app will be able to visit the Eiffel Tower, the Lourve, and Notre Dame in quick succession. Text Group Part 2 This tutorial extends the Text Group tutorial. That app sent a text to a fixed list of phone numbers, and only the programmer could change the numbers in the list. The app in this tutorial allows the user to add and remove the phone numbers in the list, and it stores the list persistently in a database. Broadcaster Hub In this tutorial, you'll write an app that automatically responds to texts messages and broadcasts texts messages it receives to a list of phone numbers.The app is inspired by FrontLineSMS, a tool that has been used in developing countries to monitor elections, broadcast weather changes, and in general connect people that don't have access to the web but do have phones and mobile connectivity. No Text While Driving This tutorial demonstrates how an app can respond to text messages automatically. You'll build an app that sends back a response when a text message is received. The idea for the app came from University of San Franciso student Daniel Finnegan. No Text While Driving Part 2 You know that texting while driving is dangerous, so you've created and installed the No Text While Driving app on your phone. Now, when you drive you open that app and let it auto-respond to incoming texts. But the jingle of the texts coming in is killing you with curiosity-- wouldn't it be great if you could hear the texts spoken aloud? With Part II of the tutorial, you'll extend the app so that it speaks out both the message and who sent it. And since you're making some changes anyway, you'll modify the auto-response so it reports your whereabouts in the reply: "Sorry, I'm driving and I'm at 1600 Pennsylvania Avenue". Before completing this tutorial you should complete part I. Android, Where's My Car? You parked somewhere near the stadium or bar, but when the concert/party ends you don't have a clue where the car is. The friends you came with are equally as clueless. Fortunately you haven't lost your Android phone that never forgets anything, and you remember you have the hot new app, Android, Where's My Car?. With this app, you click a button when you park your car, and the Android uses its location sensor to record the car's GPS coordinates and address. Later, when you reopen the app, it shows you a map from where you are to the remembered location-- problem solved! With this tutorial you'll be able to download a created app and then study the annotated blocks below to better understand the app and App Inventor programming in general. Stock Quotes This tutorial demonstrates how to use the Web component to make an app call a web service (Yahoo! Finance) with a simple application programmer interface (API). MoleMash 2 MoleMash2 provides an alternative implementation of the classic boardwalk game that demonstrates how to use the Advanced features in the Blocks Editor and how to layer Sprites.

Frequently Asked Questions by Users

Why is Google building App Inventor?

We're seeing a fundamental shift in the way people are using their mobile devices. Smartphones, including Android devices and the iPhone, provide users with a fully-featured Internet in their pocket. As people become more comfortable accessing the mobile web, we want to enable them to create mobile services and applications that allow them to engage the mobile space as developers regardless of their computer programming knowledge. App Inventor for Android is an experimental program that allows us to do just that. For educators, App Inventor has become a powerful tool for exposing students to the world of computer programming and helping them become creators of technology rather than just consumers of it.
I downloaded the App Inventor Set Up Installer and ran it. Can I start using App Inventor right now?

Yes! We are excited to announce that App Inventor is available for anyone with a Google account. If you have a Google account follow the Set Up instructions and start building apps today!
I signed up for an invitation to use App Inventor. When will I get access?

We are excited to announce that App Inventor is available for anyone with a Google account. If you have a Google account follow the Set Up instructions and start building apps today!
I am an educator interested in using App Inventor.

Please read our Educators FAQ and join the App Inventor Instructors Discussion Forum.
Can I use App Inventor without a phone?

Yes. App Inventor includes an emulator for the phone. The emulator cant do everything the phone can. For example, you cant shake it but you can create apps and try them out. Once you've set up your computer the Hello Purr Emulator - Part 1 tutorial will show you how to build apps with the emulator.
Am I able to upload my app to the Android Market?

Currently there are technical limitations preventing an App Inventor app from being uploaded to the Android Market, but we are actively working to resolve this.
Do App Inventor users need to have Google accounts? Do they need be Gmail addresses?

App Inventor users need to have a Google Account. The login authentication and storage for App Inventor projects is linked to your Google Account. Sign up for a Google Account.
Can I develop in App Inventor and export the source code to Eclipse or some other IDE to work on it further?

No, App Inventor does not generate Java source code.

Can I share project code with other App Inventor users?

Yes. To share a project, go to the My Projects page, select a project, then choose More Actions | Download Source. This will create a zip file that you can share with others. To upload a project, go to My Projects, choose More Actions | Upload Source, and choose a zip file previously downloaded from App Inventor. Note: The source code (.zip) files are not executable Android programs -- those are .apk files. The source code is also not Java SDK code -- it can only be loaded into App Inventor.
Can I share my apps with other Android users?

Yes. To share an app, you first need to obtain an Android Package (.apk) file, which you can do by going to the My Projects page, clicking on the name of the app you want to share (which will take you to the Design page), and selecting Package for Phone | Download to this Computer. You can then email the app to your friends, who can install it by opening the email from their phone, or you can upload it to a website that both you and your friend can access. Note that they will need to change the settings of their phone to allow installation of non-Market applications.
Can I build multi-screen apps with App Inventor?

Currently, you can't create multi-screen apps with App Inventor. If the layouts of the screens you want are the same, you can do things like switch the text and images of components to make it look like a new screen has appeared. Ellen Spertus points out that, "you can currently sort of do this through a hack: having one app launch another app".
Is App Inventor only a toy language? Can I build sophisticated apps with it?

Though App Inventor has limitations, it can be used to build complex apps. The language provides programming constructs like foreach, while, and if-else, in visual (block) form. Highlevel components and operations (blocks) for some of the Android functionality exists, though not all of it. There are mechanisms for communicating with web services and databases. A component development kit is being considered. This will allow programmers to build App Inventor components with Java and expand the functionality of App Inventor.
Can I connect to web services from an app written in App Inventor?

You can connect App Inventor apps to the web using the TinyWebDB component. The TinyWebDB component can communicate with any service that conforms to a particular protocol. During our pilot, Dave Wolber from the University of San Francisco wrote some Android apps that talk to Amazon, San Francisco's NextMuni API for getting transit information, and Yahoo finance. Here are some links to help: Using TinyWebDB Talking to an API (

Is it possible to bring in multiple authors on a single project?

No. As of now, the only way to work together is to share source code, as described above (Can I share project code with other App Inventor users?).

This page describes some of the more common issues experienced with App Inventor. New issues will be added as they surface. For the most up-to-date help, visit the App Inventor Forum to learn from other users.
Troubleshooting Topics

Running Java and Java Web Start Installing device drivers Connecting to the App Inventor website and designer Using the Blocks Editor and loading projects Connecting the phone Running apps on the phone Working with sounds and images I'm just lost!
Running Java and Java Web Start

I'm running on a Mac and I'm having various Java problems. If you are using a Mac, we recommend that you use JRE 1.6 (Java 6). Many Macs have both Java 5 and Java 6 installed but are configured to use Java 5 by default. You can change that default to Java 6 with the following steps: 1. 2. 3. 4. In the Finder, open the Applications > Utilities > Java folder. Run Java Preferences. Select the General tab. You'll see two version lists one for Java applets and one for Java applications. In each list, drag the "Java SE 6" to the top of the list.

If your Mac doesn't have 1.6 installed, Java 1.5 should work, but 1.6 is preferred. The Blocks Editor won't open: Java reports a "security exception". This error is probably not specific to App Inventor: there's a good chance you can't run any Java programs from the browser. One common cause is that your Java system is expecting to connect to the network via a proxy. Find the Java control panel and try changing the network proxy settings. For example, if you're using a proxy, try "direct connection". The Blocks Editor won't open: Java reports "unable to launch application".

This can happen if the Java files are not being cached. Go to the Java control panel under "network" and make sure that "Keep temporary files for fast access" is checked. You can find instructions for opening the Java control panel at the end of the App Inventor documentation on Testing and debugging. I'm having various Java problems, and I'm running on Linux and OpenJDK. Use Sun Java rather than OpenJDK. App Inventor does not work well with OpenJDK.
Installing device drivers

I ran the App Inventor Setup installer on Windows, but the phone device drivers do not install. There are multiple reasons for this, and we're trying to track them all down. The Windows driver installation instructions in the App Inventor documentation contain our best advice, and we'll keep those current as we get more information from users. Note that the drivers included in with the App Inventor Setup software do not work on all Android devices, and you may need to get drivers from the manufacturers. See the Windows driver installation instructions for advice, and check the App Inventor Forum to see if others have had similar issues with the version of Windows and the particular device you are using. Also, the driver issues around App Inventor are the same as for the Android SDK in general, so doing a Web search for driver issues around the Android SDK may also be worthwhile. It also might be worthwhile to search the Android Beginners Google Group and the Android Developers Google Group.
Connecting to the App Inventor website and designer

I see a blank screen when I go to Try refreshing the browser page. If that doesn't work, check if the address bar says "". If so, remove the trailing "/ode" and try again. If that doesn't work, sign out of your Google account and try again. I downloaded the App Inventor Setup Installer and ran it, but the designer doesn't start up and I don't see any program to run to start it. It's not supposed to start. App Inventor is a Web application that runs from a browser. You run it by browsing to the App Inventor website (, as described in the documentation under Getting Started. The App Inventor Setup Installer software is something you need to install beforehand to let your computer communicate with the phone when you do start using App Inventor.
Using the Blocks Editor and loading projects

I get the error message "The Blocks Editor does not have any project information ..." or When I open the blocks editor, the screen is blank. This probably means that there is a communication problem between the browser and the Blocks Editor, and does not reflect issues with the phone. One way to verify this is to drag a new component onto the designer and see if a drawer for that component appears in the Blocks Editor. If not, it's a browser communication problem. This problem is commonly caused by firewalls. If your computer is running a firewall, turn it off. This issue arises with Firefox if you are using the "noscript Application Boundaries Enforcer extension"(ABE) (

You should turn the extension off: Open the options for noscript, go under the Advanced tag and uncheck the "Enable ABE" box. My Blocks vanished from the Blocks Editor They may have scrolled off the window. Try moving the scrollbars. Also try to find the blocks in the "map" at the upper right of the screen When I click "Open the Blocks Editor", something seems to download, but then nothing happens. The thing that was downloaded is a .jnlp file that tells the browser how to start the Blocks Editor. Most likely, your browser isn't set up to launch .jnlp files automatically, so you'll need to launch it manually; often clicking on the downloaded file works, but it depends on the browser. Some browsers will allow you to set the preferences to automatically launch the file in the future. When I try to open the Blocks Editor, I get a message about locating the Setup software. What's going on? When the Blocks Editor starts, it attempts to find the directory containing the software installed with the App Inventor Setup Installer. If App Inventor cannot locate the directory automatically, it asks you to enter the correct pathname. It will remember that pathname for future sessions. The Blocks Editor behaves badly on Linux. Examples of bad behavior include not being able to get project definitions for the phone, missing built-in blocks or drawers, and other strange things. Make sure you are using Sun's Java and not OpenJDK. App Inventor currently doesn't work correctly with OpenJDK on Linux. You will need to switch your selected Java installation to Sun's Java. Also, if you are using Firefox, make sure that it is set up to use the proper version of the javaws program when opening .jnlp (Java Web Start) files. The Blocks Editor keeps telling me to unplug and plug in the phone. When I do that, it just keeps displaying the same error. This happens when the Blocks editor cannot communicate with the phone. Check that the phone has USB debugging enabled. If enabling USB debugging does not solve the problem and you are using Windows, then most likely the drivers did not install. Check the setup information for Windows and the Windows driver installation instructions. Perhaps your device is one that needs a driver from the device manufacturer. If you're using Linux, it is possible that the system is not configured to recognize the device. The following actions might help: 1. 2. 3. 4. Open a shell prompt. Become root (sudo su -) Create/edit the file /etc/udev/rules.d/51-android.rules Cut-and-paste the following into that file: SUBSYSTEMS=="usb", ATTRS{idVendor}=="22b8", ATTRS{idProduct}=="41db", MODE="0666" Modify the idVendor code and idProduct values to match your device (list of codes)

5. 6. 7. 8.

Save the file. Restart udev (reload udev) Revert to your local user account (exit) Finally, a cold reboot might be required

The Blocks Editor won't connect to the phone or media files don't show up on the phone. There are several possible causes for this, depending on the model phone you are using. Causes include (1) the settings on your phone and (2) interference from other applications running on your phone or your laptop. Take a look at the connectivity troubleshooting page for some things to try. I'm using Firefox and I get a message about being unable to access project definitions. If you are using Firefox and have the "noscript" extension installed, you'll need to disable it or else you'll see errors saying that the system cannot access your project definitions. Other tools and system configurations that restrict access to your computer (e.g., firewalls) may also interfere with App Inventor. You should check for these if you encounter errors about reading definitions or connecting to the phone.
Connecting the phone

I click Connect to Phone in the Blocks Editor and nothing happens. First of all, make sure to wait long enough. It can take over a minute for the phone to connect. If nothing still seems to happen, unplug and plug in the phone and try again. Also try closing the Blocks Editor and restarting it. Also check that the phone really is connected by the USB cable and that USB debugging is turned on: the phone should show both the USB icon and the USB debugging enabled icon. For Windows, check that the phone driver is installed. Look again at the setup information for Windows and the Windows driver installation instructions. If none of this helps, try restarting the Blocks Editor, only this time running with the Java console open (see Testing). App Inventor writes messages to the Java console when it tries to connect to the phone, and some of these may help, at least for reporting problems. I can start the Blocks Editor, but then I get an error when I click "Connect to Phone". One cause for this error is if your computer cannot communicate with the phone over the USB connection, even though the driver is installed correctly. If your computer has a firewall, check to see whether it is turned on, and, if so, which ports and applications it is blocking. It might also be the case that some other program running on your computer has grabbed the port that App Inventor uses to talk to the phone, generally port 8700. Try to check that. (For example, on GNU/Linux or Mac OS X, in a terminal window, do "netstat -a" to see what ports are being used.)
Running apps on the phone

I was developing an app and it crashed on the phone. Try clicking the button in the Blocks Editor that says either "Connect to Phone" or "Restart Phone App". If that doesn't work, unplugging and reconnecting the phone to continue work, but there can be all sorts of reasons for this. Ask for help from other users in the App Inventor Forum. My phone doesn't seem to match what's in my program.

First try clicking the button in the Blocks Editor that says either "Connect to Phone" or "Restart Phone App" (the button will be labelled with one or the other). If that doesn't work, try unplugging and plugging it back in. Followed by clicking on the "Connect to Device" button. Finally, please try closing and restarting the Blocks Editor. I was developing an app and I unplugged the phone, and the app disappeared from the phone. It's supposed to disappear. If you want to use the app when the phone is disconnected, you'll need to package it and download it to the phone. If you are developing, and the phone accidentally becomes disconnected, you can continue work by plugging the phone back in and pressing "Connect to Phone" in the Blocks Editor. Once the phone reconnects, you're app should appear again. The code size for the apps I create is very large. Even the simplest apps have apk files that are larger than a Megabyte. App Inventor apk files are in fact very large. We're working to reduce their size.
Working with sounds and images

I set the image property of a button (or other component) to an image file, but nothing shows on the phone There are several possible causes for this, so there are several things to try: Make sure your phone has an SD card and that the SD card is not full. App Inventor uses the SD card for temporary storage of images, and the phone needs to have an SD card in order to run App Inventor. Make sure your phone's USB connection mode is not mounting the SD card. For example, on the Droid, you should set the connection mode to "charge only". Try unplugging the phone and plugging it back in. Followed by clicking on the "Connect to Device" button. If that doesn't work, close the Blocks Editor and refresh the browser window. Now restart the Blocks Editor, reconnect the phone, and see if that works. If that doesn't work, try packaging and downloading the app. Start up the downloaded app, not connected to the Blocks Editor, and see if the image appears on the phone. If the image does appear, then you'll have to continue developing without the image showing on the phone. You'll see your app in its full glory only after you've packaged and downloaded it, not while you're developing the app live. Please ask about this in the App Inventor Forum. If your image does not appear in the packaged app either, then you should suspect that there is something wrong with the image file. Perhaps it is not really an image file: Try examining the file with some graphics software. Perhaps it's not an image in a format that App Inventor can process: App Inventor can handle JPG, PNG, or GIF. Maybe the file is too large: try using graphics software to cut its size down to less than 300K. If none of these things work, try asking for help in the Getting Set Up and Connecting Your Phone User Discussion Forum. Tip: You can sometimes see complaints about the phone running out of storage by using the Android Debug Bridge to examine the Android system log.

I set the source property of a Sound or Player component, but there's no sound when I tell the phone to play. If you are working with the phone connected to the computer, make sure the phone really is connected. Try using "Do it" on a few blocks, including the block that tells the component to play. Also make sure the phone's media volume is not turned down!

If this doesn't help, try some of same things as with images, above. Watch out for running out of storage. (See Media for information on media in App Inventor.) And make sure the audio file is a format the Android (and hence App Inventor) knows about. MP3 and PCM/WAV files should be OK, but there may be issues with other formats. See for a list of supported media formats. Warning: Not all WAV files are PCM/WAV.
I'm just lost!

Ask other users for help on the App Inventor Forum.