Comment puis-je obtenir l'exemple ADK DemoKit travaillant sur un Galaxy Google I / O Tab 10.1?

StackOverflow https://stackoverflow.com/questions/6355031

  •  28-10-2019
  •  | 
  •  

Question

Je suis en train d'obtenir le DemoKit exemple travailler sur une carte ADK. Il semble que même avec la mise à jour 3.1 Galaxy Tab ne pas tout ce qu'il faut ( ou au moins ne fonctionne pas comme annoncé). Et même avec creuser si la documentation, il semble que l'application Samsung Kies est peut-être obtenir de la manière.

Il ne fonctionnera pas si j'utilise l'API de niveau 10 bibliothèques comme indiqué (par le débogueur stepping je vois cette exception: java.lang.NoClassDefFoundError: com.android.future.usb.UsbManager). La même chose se produit si j'utilise l'API de niveau 12 bibliothèques.

Réglage de la cible pour être la plate-forme 3.1 (changeant simplement dans les propriétés du projet), il ne compilera pas (en raison de l'utilisation de la bibliothèque com.android.future.usb). J'ai trouvé quelques documents de quelques changements que vous devez faire pour utiliser le package USB 3.1 et de cela, ce sont les changements que j'ai fait à DemoKitActivity.java

37,38c37
< import com.android.future.usb.UsbAccessory;
< import com.android.future.usb.UsbManager;
---
> import android.hardware.usb.*;
128c127
< UsbAccessory accessory = UsbManager.getAccessory(intent);
---
> UsbAccessory accessory = (UsbAccessory) intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY);
139c138
< UsbAccessory accessory = UsbManager.getAccessory(intent);
---
> UsbAccessory accessory = (UsbAccessory) intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY);
152c151
< mUsbManager = UsbManager.getInstance(this);
---
> mUsbManager = (UsbManager) getSystemService(Context.USB_SERVICE);

Même après avoir fait ces changements que j'ai été en cours d'exécution sur les questions cependant. Il installe maintenant et l'écran initial de l'application DemoKit arrive avec le « S'il vous plaît connecter une carte DemoKit », mais chaque fois que je connecte la carte ADK et désactiver le débogage USB (avec elle sur elle, il ne fait rien), je viens d'obtenir la Samsung Kies application qui dit « Appuyez sur la touche d'accueil pour quitter Samsung Kies » et aucun autre répondre boutons. Frapper la maison et retourner dans l'application DemoKit montre à nouveau l'écran de connexion et il ne se connecte vraiment au conseil d'administration.

Comment cela peut-il être au travail? Le travail de ADK avec le Galaxy Tab 10.1 (édition Google I / O) et si oui, suis-je sur la bonne voie?

UPDATE

Voici ce que le moniteur Arduino série dit, peu importe si le mode de débogage est activé ou désactivé sur la tablette (nécessité de régler la vitesse de transmission à 115200 pour lire la sortie):

appareil adressé ... Demande descripteur de périphérique.

trouvé périphérique possible. swithcing en mode série

Erreur paquet de données: 5could pas lire la version du protocole de périphérique

Il répète sans cesse pendant qu'il est branché à la tablette.

MISE À JOUR 2

Je ne l'ai pas réalisé que je mets à jour le fichier AndroidManifest.xml ... Changer:

<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="11" />

à

<uses-sdk android:minSdkVersion="12" android:targetSdkVersion="12" />

et

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

à

<uses-feature android:name="android.hardware.usb.accessory"/>

Il ne semble pas quoi que ce soit du changement une fois que je suis arrivé que corrigé.

Mise à jour 3

Je l'ai envoyé par courriel support Samsung et je suis en attente d'une réponse.

Était-ce utile?

La solution

Mes excuses, le mode accessoire ne fonctionne pas actuellement avec le Samsung Galaxy Tab 10.1. Samsung est conscient du problème et travaille à résoudre. Lorsque l'appareil fait en mode accessoire de soutien que vous devriez être en mesure d'utiliser le com.android.future.usb. * API qui sera plus facile pour vous d'écrire une application qui fonctionne aussi bien avec Android 3.1 et 2.3.4.

Autres conseils

Je viens de recevoir la nouvelle mise à jour TouchWiz et maintenant l'Arduino lit ce retour au port série:

Device addressed... Requesting device descriptor.found possible device. swithcing to serial mode
device supports protcol 1

Device addressed... Requesting device descriptor.found android acessory device
config desc
interface desc
inEp: 1
outEp: 2

est à la recherche beaucoup mieux. Le Galaxy Tab demande d'exécuter DemoKit, je frappe sur OK, et la force quittes. Mieux que ne l'était auparavant.

Je mettrai à jour si je le faire fonctionner pleinement.

Êtes-vous sûr que vous utilisez la bonne cible de construction? Au lieu de régulière "Android 2.3.3" (niveau 10) ou "Android 3.1" (niveau 12), vous devez utiliser des cibles "API Google". Si vous exécutez "Android SDK et AVD Manager", vous pouvez les trouver sous Packages disponibles> add-ons tiers> Google Inc> "API Google par Google Inc., API Android 10" (ou 12).

Mon Galaxy Tab 10.1 sur Android 3.1 n'a pas l'API d'accessoires comme backport ainsi. Donc, je suis l'exception suivante ainsi:

java.lang.NoClassDefFoundError: com.android.future.usb.UsbManager

Une façon de l'amener à travailler sur l'onglet 10.1 avec Android 3.1 est d'utiliser l'API accessoire régulière. Pas la version rétroportés. Vous pouvez définir vos projets Demokit cible SDK au niveau de l'API régulière 12 (Android 3.1).

En outre, vous devez changer les passages de code dans le DemoKitActivity pour obtenir le UsbManager et UsbAccesory à:

UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
UsbAccessory accessory = (UsbAccessory) intent.getParcelableExtra(UsbManager.EXTRA_ACCESSORY);

importations changement:

import android.hardware.usb.UsbAccessory;
import android.hardware.usb.UsbManager;

Le manifeste Android peut encore contenir l'entrée suivante, mais il n'est plus nécessaire:

<uses-library android:name="com.android.future.usb.accessory" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top