суббота, 19 февраля 2011 г.

Android SDK on debian squeeze host

See common instructions here: Installing the SDK

$ sudo aptitude install eclipse libswt-gtk-3.5-java

$ ./android --verbose update sdk
No command line parameters provided, launching UI.
See 'android --help' for operations from the command line.
Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-pi-gtk-3550 or swt-pi-gtk in swt.library.path, java.library.path or the jar file
 at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
 at org.eclipse.swt.internal.Library.loadLibrary(Unknown Source)
 at org.eclipse.swt.internal.gtk.OS.(Unknown Source)
 at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
 at org.eclipse.swt.internal.Converter.wcsToMbcs(Unknown Source)
 at org.eclipse.swt.widgets.Display.(Unknown Source)
 at com.android.sdkmanager.Main.showMainWindow(Main.java:297)
 at com.android.sdkmanager.Main.doAction(Main.java:265)
 at com.android.sdkmanager.Main.run(Main.java:99)
 at com.android.sdkmanager.Main.main(Main.java:88)

$ sudo ln -s /usr/lib/jni/libswt-gtk-3555.so /usr/lib/jni/libswt-gtk-3550.so
$ sudo ln -s /usr/lib/jni/libswt-pi-gtk-3555.so /usr/lib/jni/libswt-pi-gtk-3550.so
$ ./android --verbose update sdk
No command line parameters provided, launching UI.
See 'android --help' for operations from the command line.

See Android Debug Bridge and Developing on a Device
$ ./adb devices
List of devices attached 
???????????? no permissions

$ lsusb|grep LG
Bus 001 Device 027: ID 1004:618e LG Electronics, Inc. Ally/Optimus One/Vortex (debug mode)

# add new UDEV rule as
$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", ATTRS{idProduct}=="618e", MODE="0666", OWNER="username"
sudo chmod a+r /etc/udev/rules.d/51-android.rules

$ sudo /etc/init.d/udev restart

$ ./adb devices
List of devices attached 
80A354043043696220 device

$ ./adb -s 80A354043043696220 install test.apk 
630 KB/s (196460 bytes in 0.304s)
 pkg: /data/local/tmp/test.apk
Success

Device list in DDMS is empty now. See debian bug #560044 here: sun-java6-jre: net.ipv6.bindv6only=1 breaks java networking. Well, we may force ipv4 usage for java to fix the problem:
$ cat /etc/sysctl.d/bindv6only.conf
net.ipv6.bindv6only = 0

$ sudo invoke-rc.d procps restart

Комментариев нет:


(C) Alexey Pechnikov aka MBG, mobigroup.ru