ページ

2012/01/07

Android SonyTablet SをMacのadbで認識させる

|

SonyTablet Sを、Windowsでは接続できましたがMacで接続できず試行錯誤していましたが、
SONYのサイトに説明がありました。
http://www.sony.jp/support/tablet/products/info/sdk.html

単純に接続しただけでは以下のようになり、adbで認識されません。

% adb devices
List of devices attached 

%

上記サイトの説明のようにすると、下記の通りadbでデバイスを認識するようになります。

% echo "0x54c" >> $HOME/.android/adb_usb.ini
% adb kill-server
% adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
% adb devices
List of devices attached 
4289142435fa597 device

%

2012/01/02

Android MapActivityをIntentで起動したときにNoClassDefFoundError発生

|

AndroidでGoogle Maps APIを使う場合に、次のようにIntentでMapActivityのサブクラスを起動するケースがあると思います。

Intent intent = new Intent().setClass(this, SampleMapActivity.class);

その際、別のプロジェクトからコピーしてきた場合などで、ある記述が抜けていると NoClassDefFoundErrorが発生してしまいます。 他の情報が全くなく、はまってしまったので対処方法を記録します。

解決策は下記の通りなのですが、uses-libraryでGoogle Maps APIを使っていることをAndroidManifest.xmlに明記する必要があります。
Cannot resolve MapActivity class on Android
具体的には以下のようにapplicationタグの子としてuses-libraryを書きます。

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/Theme" >
        <uses-library android:name="com.google.android.maps" />

uses-libraryがなくてもコンパイルは成功するので、注意が必要です。