Troubleshooting for App Inventor Classic
App Inventor Classic • App Inventor Classic • FOR APP INVENTOR 2 CLICK HERE • App Inventor Classic • App Inventor Classic
This page describes some of the more common issues experienced with App Inventor Classic. 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
- Installing the App Inventor setup software
- 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 over USB
- Connecting the phone over wifi
- Using the Emulator
- Running apps on the phone
- Testing Apps With Multiple-Screens
- Working with sounds and images
- Packaging projects for a device
- Keystores and Signing of Applications (".apk" files)
- I'm just lost!
Installing the App Inventor setup software
I'm using a Mac with Mountain Lion (System 10.8) and the setup installer won't open.
Some users of Mountain Lion have reported that the installer doesn't open when they click on the downloaded disk image. To get round this problem, right-click on the disk image and open it with Disk Utility. At the left of the Disk Utility Window, you should see two items starting with Appinventor_Setup. Click on the indented one. You should now see a link labeled Mount Point at the bottom of the window. Click on the link and a finder should come up. It in, you'll see a line labeled AppinventorSetup.pkg. Right click on that and open it with Installer. The computer might complain that you are installing a package from an unknown developer, but go ahead and press OK. The installer should now open with its message "Welcome to the App Inventor setup installer".
Running Java and Java Web Start
I'm having various Java problems.
Regardless of operating system, we recommend using the latest supported version of Java from Oracle that will run on your machine. As of this writing (March 8, 2013), that means using Java 6 or 7, with the latest updates installed. Visit this Oracle site to see what version of Java your machine is running, and if it is the most up to date version.
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.
The Blocks Editor won't open: The application starts downloading and then nothing happens.
To diagnose this, first verify that your computer can run the Java configuration tests and that you can load and run the Notepad test. If not, you'll need to check your Java and Java Web Start configurations. If Notepad runs, but the Blocks Editor won't open, then this is most likely the result of a firewall or other blocking software that is preventing the blocks editor from communicating with the browser, so check for firewalls and browser security blocking extensions. There have also been reports of cases where this behavior has been caused by misconfigured virus protection programs.
I'm Using Safari on a Mac and The Blocks Editor won't Open: The .jnlp file downloads, but then nothing happens.
If using Safari and you launch the Blocks Editor you must manually run the JNLP file by selecting the downloads icon on the top right hand side of your Safari browser window, double clicking the JNLP file, and confirming that you want to open the application downloaded from the Internet to start the Blocks Editor.
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 beta.appinventor.mit.edu
Try refreshing the browser page. If that doesn't work, check if the address bar says "beta.appinventor.mit.edu/ode". 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 (http://appinventor.mit.edu), and clicking on the "Invent" button, 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 The Blocks editor gets stuck and says "Loading initial project ..." 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) (http://noscript.net/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:
- 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)
- 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 over USB
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.
Look through the user-compiled list of compatible and incompatible phones, known issues, and workarounds which is located here to see if there might be any easy fixes for the phone model you have.
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.)
I'm running Android 4.2.2 or higher on my device and having trouble connecting
If you are using one of the more recent versions of the Android operating system, version 4.2.2 or newer, you will need to also upgrade a program on your computer from the version included with App Inventor setup, or else you won’t be able to connect to the phone with the USB cable. Look here for some background.
If you are using App Inventor with the USB cable, and you are using a device with Android version 4.2.2 or above you should:
- Find the folder where the Appinventor Setup software was installed, and locate the "adb" program (also called "adb.exe" on Windows)
- Download the new version of the "adb" program appropriate to your operating system.
- Extract the downloaded zip file and replace the existing adb program with this new version
The next time you connect your phone to your computer with USB debugging turned on, you’ll be asked to "Allow USB Debugging?", say "OK". App Inventor should now work.
If you are still experiencing problems, go to ~/.android folder of a working adb installation and replace the .android directory of your Mac with a new .android directory from a higher Mac version.
Still having issues? Check out the google forums for more help and advice. Here is a forum already on this topic.
Connecting the phone over wifi
I'm using wireless and the phone won't connect to the blocks editor.
Try the following steps to troubleshoot your wireless connection.
- Try to reach http://rendezvous.appinventor.mit.edu from your computer.
- Try to reach http://rendezvous.appinventor.mit.edu from the phone itself.
- If the steps above both work, try using the "ping" command to ping to the IP Address of the phone (displayed by the MIT AICompanion in its startup window). If you are using windows, type "ping" + *IP address of the phone* in cmd.exe window, if you are using mac or linux, type type "ping" + *IP address of the phone* in terminal window. Detailed instruction see http://www.wikihow.com/Ping-an-IP-Address.
- If all of these steps succeed and Wireless App Inventor *still* doesn't work, then there may be a firewall between the computer and phone that is blocking ports 8001 and 9987. If you have a "telnet" program you can attempt to telnet from the computer to the phone on these ports. If the connection won't complete, then there is likely a firewall in place that is blocking connections to the phone. Get more information on the wireless connection between the computer and phone/tablet.
I cannot find the MIT AICompanion App on the Google Play Store.
If you cannot access the MIT AICompanion App via the Google Play Store, you may download it here MITAICompanion.apk and install it directly onto your phone (note that to directly install, you will need to allow installation of non-market apps in your device's system settings). Directly loading App Inventor in this way means that the Play Store can not automatically update the App. When there is an App Inventor upgrade, you will need to manually update the Companion App.
I installed the MIT AICompanion App before and it doesn't work now.
You must use the latest version of the MIT AICompanion App. If you attempt to use an older version of the Companion App with App Inventor, you will be prompted to update it.
I followed all the wireless instructions and my phone is connected to wifi, and I still cannot connect to App Inventor via wifi.
If you have trouble connecting using these wireless instructions, make sure your phone is using WiFi and not the cell network. On some devices and in some locations, even with WiFi enabled, the phone continues to use the cell network for Internet connectivity. If this is happening to you, you can disable mobile networking (cell phone carrier based Internet connectivity) from your device's Android settings menu.
If you're still experiencing difficulty, try checking out this How Does My Android Device Connect Over Wifi? for more help.
Using the Emulator
I'm using a Mac, the emulator won't open, and there is no error message.
There's a permissions issue on shared Macs in that results in the first person to log in being able to use the emulator, but subsequent people cannot. If that's what you're seeing, you can fix it by logging in as an administrator and deleting the directory /tmp/android. You'll have to do this each time a new person logs in.
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, your 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.
My app causes a virus warning.
There is a known issue with certain virus protection software, in particular the "Dr. Web" anti-virus app. Any app that uses the texting component (SMS) will generate the virus warning "android.smssend.origin.247". This is a false positive virus detection that you can safely ignore.
Testing apps with multiple screens
I'm trying to test my app that has multiple screens and it's not working correctly
Apps with multiple screens must be packaged and sent to the phone to test. If this is a problem for you due to wifi or other issues, follow these instructions:
- Download the free app called ES File Explorer from the Google Play Store on your Android device.
- Use AppInventor Designer Window to download the App to your Computer. ( Your Blocks Editor Window Must be launched for a successful package )
- Connect your Android device to your computer as a USB Device.
- Using your computer, navigate to your Computer, and find your device, and double click to navigate to its Download Folder
- Drag and drop your App's .apk file from the Computer's Download Folder to your device's Download Folder.
- On your device, launch the ES File Explorer App, Using this app, you can then navigate to your tablet's Download Folder and double click on your appinventor app to launch it!
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".
- If you get an error message about external storage, you'll need to check that your phone is not set for Mass Storage mode: Tap the Home button to go to your phone's Home screen, then Tap the Menu button, then tap Settings, then tap Connect to PC. Tap Connection Type and choose "Charge Only". Make sure that other choices are not selected. It is especially important that choices "Disk Drive" or "Mass Storage" are NOT selected (these words vary by phone and Android Operating System version).
- 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 http://developer.android.com/guide/appendix/media-formats.html for a list of supported media formats. Warning: Not all WAV files are PCM/WAV.
Hello Purr does not work on my Lenovo A1 Tablet -- the meow.mp3 file won't play.
Change your blocks to use the Player component instead of the Sound component.
Packaging projects for a device
When I try to package my project, it fails with "unexpected problem generating Yail".
This error occurs if packaging the project fails at the very last stage. This error message is a catch-all that covers "unexpected" errors where App Inventor hasn't provided a useful error message.
There are several situations where this error has been observed. One is with large projects that have multiple screens: The individual screens build correctly, but the system runs out of space in putting all the screens together at the final packaging. Another situation is where the project file is corrupted, for example by the user unzipping it making an edit and then re-zipping it. This can lead to spurious files being included in the new zip file, which confuse the compiler. Another might be bad names for figures or other assets, that can trip up the compiler.
If your project gets this error, think about whether there could be causes like the two listed above. If that doesn't help, try asking in the forum: You'll need to attach your project source so that someone can try to diagnose the problem.
Keystores and Signing of Applications (".apk" files)
I'm seeing the error [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES] when I try to download my app to my Android device
If you get this error message you most likely are trying to reinstall an app on your device that you have previously packaged and installed with a different App Inventor service. For example, you might have packaged the app originally with the Google App Inventor service and now you are trying to re-package with the MIT App Inventor service, or with a service that someone else is running. If you don't have any data associated with the app on the device (e.g., in a TinyDB) the easiest solution is to remove the app from the device and then install the new version. If you need to preserve the data associated with the app, and you have a copy of the keystore that was used to package the app that is already installed, see below for how to upload the old keystore to the new service.
What is a keystore and why might I want to upload or download one?
Every Android app (".apk" file) needs to be signed with a key belonging to the user who creates the app (see http://developer.android.com/guide/publishing/app-signing.html for lots more information on signing apps). App Inventor generally handles this for you behind the scenes, so that most users don't need to think about app signing most of the time. However, you might run into a situation where you need to know about app signing if you move between different App Inventor services and you want to reinstall an application that was built on a different service while still preserving its local data. App Inventor keeps the key used to sign your apps in a file called a keystore. When you first start using an App Inventor service it creates a new keystore for you and uses that to sign any apps you package on the service. If you move to a different App Inventor service and want to keep using the same keystore to sign your apps (to avoid the inconsistent certificates problem mentioned above), you will need to download (or otherwise obtain) the keystore from the old service and upload that keystore into the new service. Options for downloading and uploading keystores can be found in the My Projects tab, under the More Actions menu. Note that the same keystore is used to sign all of a user's projects in a given App Inventor service, so you cannot designate one keystore for some apps and a different keystore for other apps.
How can I get the keystore that was used to package my apps in the original Google App Inventor service?
Most users of the original Google App Inventor service can find a copy of their app source zip files, as well as the keystore that was used to package their apps, in their Google Docs accounts:
- In your browser, go to http://docs.google.com
- Search for All-App-Inventor-Projects.zip.
- Download the zip file by clicking on Download under File.
- Unzip the downloaded file and you will find a directory called keystore containing a file called android.keystore. This file contains the keystore that was used to sign the apps for that App Inventor account on the Google App Inventor service.
I'm just lost!
Ask other users for help on the App Inventor Forums.