AIDL使用中報錯找不到自定義數據類型的解決辦法


在研究Android多進程編程的時候,照書敲了一個AIDL的例子。其中,用Android Studio自動生成了AIDL文件,會放進aidl文件夾,其中使用到了一個自定義數據類型,於是在aidl文件夾下會有3個文件,如下圖所示。

IBookManager中定義服務器提供的接口,其中用到了自定義數據類型Book,除了要用java實現Book類(必須implement parcelable)外,還要添加同名的Book.aidl文件,里面有兩句代碼。

package *.aidl;
parcelable Book;

一切就緒,開始編譯運行。

會報錯,客戶端import這個book類的時候,說找不到數據類型。

這是因為Gradle腳本中默認的java src文件夾,是不包括aidl的。所以,把aidl文件夾放入到java src中就行了。

在Gradle編譯腳本中加入

sourceSets{
main{
java.srcDirs = ['src/main/java','src/main/aidl']
}
}

再運行,完美。

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM