2015-10-06 28 views
15

Obserwuję this guide używać com.android.future.usb bibliotekę na API 10.Aplikacja nie rozpocznie się przy użyciu `com.android.future.usb.accessory` bibliotekę

robiłem co następuje:

  • zainstalowana API Google 10 z SDK Manager: GoogleAPI10
  • Wybrał API Google 10 jako mojego projektu celowego produkcji: ProjectTarget
  • Dodano je do manifest:

<uses-feature android:name="android.hardware.usb.accessory" /> (bezpośrednie dziecko <manifest>)

<uses-library android:name="com.android.future.usb.accessory" /> (dziecko <application>)

<meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" android:resource="@xml/accessory_filter" /> (dziecko pierwszego activity)

  • Utworzony res/xml/accessory_filter.xml jak wspomniano here.

Pozwoliło to na użycie com.android.future.usb i jej podklas. Ale problem polega na tym, że aplikacja nie rozpocznie się po zmianach w manifest.

To jest urządzenie zrootowane, a ta aplikacja jest skonfigurowana przez system operacyjny, aby automatycznie uruchamiać się po uruchomieniu urządzenia.

Czy należy wykonać inne konfiguracje, aby to działało? Może coś należy zrobić w oprogramowaniu?

edit:

Oto logcat ze wszystkiego, co dotyczy usb:

USB mass storage support is not enabled in the kernerl 
usb_configuration switch is not enabled in the kernerl 
Volume usb state changing -1 (Initializing) -> 0 (No-Media) 
Ignoring unknown switch 'usb_connected' 
Package com.example.gui requires unavailable shared library com.android.future.usb.accessory: failing! 
Skipping unknown volume '/mnt/usb' 
USB Service 
This kernel does not have USB configuration switch support 
+1

'Ale problem polega na tym, że aplikacja nie zostanie uruchomiona po zmianach w manifeście. Proszę wyjaśnij, z jakim błędem się spotkasz i wklej tutaj swój logcat. –

Odpowiedz

-1

Nie jest jasne, co masz na myśli przez the application won't start.

Jeśli oczekujesz uruchomienia aplikacji automatically on device startup. To ma instrukcje, aby to zrobić: How to start an Application on startup?

Jeśli problem polega na tym, że aplikacja nie będzie się kompilować, potrzebne będą dodatkowe informacje na temat napotkanego błędu.

Wspominasz, że wprowadziłeś zmiany w manifeście za podany link. Ten przykład zawiera także tag intent-filter do elementu aktywności w manifeście, o którym nie wspomniałeś. Więc element aktywności w manifeście miałby dwie intent-filtry:

 <activity 
     android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme.NoActionBar" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" /> 
     </intent-filter> 

     <meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" 
        android:resource="@xml/accessory_filter" /> 

    </activity> 

tak, aplikacja nie uruchamia może być usunięty, ponieważ filtr zamiaru MAIN/wyrzutni z działalności manifest?

+0

Jak powiedziałem "aplikacja nie uruchomi się ** po ** zmianach w manifeście." Co oznacza, że ​​aplikacja służy do uruchamiania przed zmianami. Łączenie "Jak uruchomić aplikację po uruchomieniu" nie ma znaczenia. A cel nie jest konieczny dla ** uruchomienia ** aplikacji. Chodzi tylko o oczekiwanie na akcję ("usb_attached"). I nie, nie usunąłem głównej intencji ... –