2017-09-22 6 views
7

J'essaie de modifier l'API FingerprintGestureController dans AOSP (branche principale) pour renvoyer des booléens plutôt que des void, mais je continue d'obtenir des erreurs lors de la construction du projet même après la recompilation du SDK.Modification de l'API du SDK dans AOSP

erreur est:

FAILED: out/target/common/obj/PACKAGING/checkpublicapi-last-timestamp 
/bin/bash -c "((out/host/linux-x86/bin/apicheck -JXmx1024m -J\"classpath /usr/lib/jvm/java-8-openjdk-amd64/bin/../lib/tools.jar:out/host/linux-x86/framework/doclava.jar:out/host/linux-x86/framework/jsilver.jar\" -hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 -error 7 -error 8 -error 9 -error 10 -error 11 -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 prebuilts/sdk/api/26.txt out/target/common/obj/PACKAGING/public_api.txt frameworks/base/api/removed.txt out/target/common/obj/PACKAGING/removed.txt || ( cat build/core/apicheck_msg_last.txt ; exit 38))) && (mkdir -p out/target/common/obj/PACKAGING/) && (touch out/target/common/obj/PACKAGING/checkpublicapi-last-timestamp)" 
out/target/common/obj/PACKAGING/public_api.txt:2874: error 16: Method android.accessibilityservice.FingerprintGestureController.FingerprintGestureCallback.onGestureDetected(int) has changed return type from Primitive?: true TypeVariable?: false Wildcard?: false Dimension: QualifedTypeName: void to Primitive?: true TypeVariable?: false Wildcard?: false Dimension: QualifedTypeName: boolean 

****************************** 
You have tried to change the API from what has been previously released in 
an SDK. Please fix the errors listed above. 
****************************** 

étapes que je suivais pour compiler sont:

lunch sdk-eng 
make update-api //Success 
make sdk   //Success 
lunch 1 
make -j10  //Errors out here 

Quelqu'un peut-il s'il vous plaît guider comment je peux changer les années Android publié API SDK dans le code source et le compiler Android.

+0

'onGestureDetected' est un rappel d'interface. À quoi cela sert-il d'en faire un type de retour booléen et de tenter de bloquer l'appel de la méthode? –

+0

Je souhaite savoir si l'application qui a reçu le rappel de mouvement d'empreinte digitale a consommé l'événement ou non, de manière similaire aux événements onTouch de View. – user531069

+0

Et pourquoi pas? Si l'appareil n'a pas de capteur d'empreintes digitales? –

Répondre

2

Vous devez vous assurer que les fichiers suivants ont été mis à jour avec vos modifications de signature de la méthode:

/frameworks/base/api/current.txt 
/frameworks/base/api/system-current.txt 
/frameworks/base/api/test-current.txt 
+0

Ces fichiers sont déjà mis à jour et affichent l'API mise à jour. Aussi, j'ai mentionné que make-api-update et que sdk avait du succès. – user531069