編輯:關於Android編程
使用AS創建ADIL文件時AS會在main文件夾下給我們生成一個aidl文件夾和一個相同包名的包,通常我們會把所有和ADIL相關的類或文件放在這個包下,但是如果存在自定義的類時,程序編譯時無法通過,提示找不到自定義的包。解決辦法如下,在啟動Module的build.gradle中加入如下代碼:
sourceSets { main { manifest.srcFile 'src/main/AndroidManifest.xml' java.srcDirs = ['src/main/java', 'src/main/aidl'] resources.srcDirs = ['src/main/java', 'src/main/aidl'] aidl.srcDirs = ['src/main/aidl'] res.srcDirs = ['src/main/res'] assets.srcDirs = ['src/main/assets'] } }
加入之後完整的build.gradle文件內容如下:
apply plugin: 'com.android.application'
android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "aidl.aidl.demo" minSdkVersion 14 targetSdkVersion 23 versionCode 1 versionName "1.0" } sourceSets { main { manifest.srcFile 'src/main/AndroidManifest.xml' java.srcDirs = ['src/main/java', 'src/main/aidl'] resources.srcDirs = ['src/main/java', 'src/main/aidl'] aidl.srcDirs = ['src/main/aidl'] res.srcDirs = ['src/main/res'] assets.srcDirs = ['src/main/assets'] } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' }
sourceSets中主要是把把src/main/aidl文件也作為java.srcDirs, resources.srcDirs,這樣當編譯程序時,AIDL中自定義類就能找到了。
以上內容給大家介紹了使用Android studio創建的AIDL編譯時找不到自定義類的解決辦法,希望對大家有所幫助!
題外話這篇本來和之前的系列要一起出的,但是因為中間公司要發布一個版本,給耽擱了,今天工作做完了,又閒了下來。所以就又來繼續jenkins構建Android項目持續集成系列
可移動頁面MoveActivity滑出式菜單從界面上看,像極了一個水平滾動視圖HorizontalScrollView,當然也可以使用HorizontalScrollVi
之前自認為對於Android的事件分發機制還算比較了解,直到前一陣偶然跟人探討該問題,才發現自己以前的理解有誤,慚愧之余遂決定研習源碼,徹底弄明白Android的事件分發
之前的代碼是分開寫的,並沒有實現一個完成電話相關服務,這次就給大家來一記猛藥,望大家提出寶貴意見和建議與我分享,感謝! 電話監聽主Activity