简体   繁体   中英

Android - How to load HelloWorld app onto my Phone?

I made an Android Hello world app and I'm trying to load it onto my HTC Incredible. I believe it has 2.2 (how do I confirm that?)

Anyway, Eclipse gives me this message and then brings up the window in the screenshot below.

Automatic Target Mode: Unable to detect device compatibility. Please select a target device.

I'm on Ubuntu 64bit if that matters. I did turn on USB debugging on the phone. I told the phone to connect as a disk drive.

Any ideas how to get my app onto the phone?

Update: Do I need to perform these steps since I'm on Ubuntu? I doesn't mention what to do for Ubuntu 8.10 though.

替代文字

Ok, it turns out I did have to follow all the instructions from this page . (The sudo stuff mentioned in other answers above didn't help.)

Here are the exact commands I ran for Ubuntu 8.10

您需要以超级用户模式运行adb服务器(即sudo adb start-server )。

Try what EboMike said, run sudu adb start-server.

To answer your question "how do I confirm my phone is V2.2?" Press your phone's menu key, then settings, about phone, software information. The Android version is the number you're looking for. This shouldn't be important though for your hello world example.

Also, it's not important that you have the phone connect as a disk drive; this causes the SD card to be dismounted. It will actually cause problems if you run or debug an application that tries to access the SD card. You can just select charge only and use ADB/Eclipse's DDMS perspective to move files to and from the phone.

These are the steps I took on Arch Linux to resolve the same problem:

As mentioned in some of the other replies you will need a udev rule for the device. In this example I am using an HTC Desire.

(for HTC you'll need to use "0bb4")

Get the correct Vendor and Product IDs

run lsusb with the handset plugged in and you should see something like Bus 001 Device 004: ID 0bb4:0c87 High Tech Computer Corp. Desire (debug)

  • '0bb4' is the Vender ID: HTC
  • '0c87' is the Product ID

Make a udev rule using the values you've just retrieved

Now make a udev rule as root using:

$ sudo vim /etc/udev/rules.d/51-android.rules

Add the following (this is for HTC Desire - edit accordingly):

## Rule for an HTC Desire Android Phone
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c87", MODE="0666", GROUP="users", NAME="HTC Desire"

GROUP defines which Unix group owns the device node.

At this point I rebooted and found that my handset was detected. Supposedly you can reload udev rules using the following but if this doesn't work try rebooting.

$ sudo udevadm control --reload-rules

in eclipse: go to Run menu -> Run configuration . Right click on android application on the right side and click new. Fill the corresponding details like project name under the android tab. Then under the target tab. Select launch on all compatible devices and then select active devices from the drop down list. Save the configuration and run it by either clicking run on the run button on the bottom right side of the window or close the window and run again

Cheers !

The easiest way to this: Go to www.dropbox.com and sign up for a free account. Copy your .apk file from your project's /bin directory to your Dropbox. Download and install the free Dropbox app from the Android Market. Navigate to your .apk file on the Dropbox app and click it to download and install on your phone.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM