AIR for Androidで、デバイスをちゃんと接続しているにも関わらず認識されない

投稿者: | 2013/10/16

以前書いてた記事を、再編。

Androidの4.2.2から、Androidのセキュリティの仕組みが変わっており、過去のAIR SDKではデバイスが認識されていてもオフラインのままになることがあります。

解決策は二つ

  • 使用するAIR SDKを最新バージョンにする
  • AndroidSDKの最新バージョンを落としてきて、ADBをぶっこぬき、AIR SDKの中に入れる

個人的には一つ目の方法をお勧めします。簡単だし。バグフィックスもあるかと思うので、最新版にしておいたほうがよいかと。二つ目は、どうしても以前のAIR SDKを使いたい場合か、一つ目の方法で解決できなかった場合にのみ。

2番目の方法に関しては、「にゃあプロジェクト – ウェブログ – [AIR 3.0] AIRforAndroidでハマったこと (1)」をご参照いただくと解りやすいかもしれません。

  1. AIR SDKを最新バージョンにする
    • 最新版のAIR SDKをダウンロードしましょう。 http://www.adobe.com/devnet/air/air-sdk-download.html
    • FlashProfessionalの場合
      • 上部メニューより「ヘルプ」→「Adobe AIR SDKの管理」で、先ほどダウンロードしたAIR SDKを登録する
    • FlashBuilderの場合
      • FlexSDK内のAIRを扱う場合は、FlexSDKにマージして、プロジェクト毎にコンパイラ指定をする
      • ASC2.0の場合は特定のAIRSDK格納場所へコピーしてください。(例)C:\Program Files\Adobe\Adobe Flash Builder 4.7 (64 Bit)\eclipse\plugins\com.adobe.flash.compiler_4.7.0.349722\
  2. AndroidSDKの最新バージョンを落としてきて、ADBをぶっこぬき、AIR SDKの中に入れる(注意:Windowsではうまくいかなかった気がします、多分)
    • AndroidSDKをダウンロードし、「Android SDK Platform-tools」を最新版にします。(手順は割愛
    • AndroidSDKの「platform-tools」フォルダを開き、そこのadb(或いはadb.exe)を見つけてください。
    • 次に、AIR SDKの「lib/android/bin」フォルダを開き、そこに、上のadb(或いはadb.exe)を上書きコピーしてください。(念のためバックアップを忘れずに。)
    • これでダメな場合は、AndroidSDKの「build-tools」フォルダの中で一番高いバージョンのフォルダを開き、「aapt(或いはaapt.exe)」ファイルをコピーし、AIR SDKの「lib/android/bin」フォルダの「aapt(或いはaapt.exe)」ファイルを上書きしてください。

以上で終了です。これでもダメな場合は、別の原因な気がします。

参考
http://androidlover.net/howtouse/android-4-2-2-adb-device-offline-usb-debug-white-list-not-appeared.html
http://www.fxug.net/modules/xhnewbb/viewtopic.php?topic_id=5153&forum=34&post_id=18203#forumpost18203