我的團隊和我開發了Android應用程序,並決定了所有應遵循的編碼準則。因此,我開始實現自定義規則皮棉按以下鏈接:在android中定製自定義庫文件
說我有實際上是在一個項目上實施這些規則皮棉的問題基礎。當我運行./gradlew clean build test install
時,按照規定適用規則並且一切正常。但是,當我用./gradlew aarWrapper:assemble
構建aar庫並將其添加到我的libs
文件夾時,linting不起作用。
添加以下到我的build.gradle
文件添加庫
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile(name: 'aarWrapper-debug', ext: 'aar')
}
我不知道我錯過了什麼,但是當我運行./gradlew lint
它運行的棉短絨,但不符合我的自定義規則..任何幫助,提示或建議非常感謝。
EDIT 1
在此運行時的gradle是終端輸出。
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareAarWrapperDebugLibrary UP-TO-DATE
:app:prepareComAndroidSupportAnimatedVectorDrawable2421Library UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72421Library UP-TO-DATE
:app:prepareComAndroidSupportDesign2421Library UP-TO-DATE
:app:prepareComAndroidSupportRecyclerviewV72421Library UP-TO-DATE
:app:prepareComAndroidSupportSupportCompat2421Library UP-TO-DATE
:app:prepareComAndroidSupportSupportCoreUi2421Library UP-TO-DATE
:app:prepareComAndroidSupportSupportCoreUtils2421Library UP-TO-DATE
:app:prepareComAndroidSupportSupportFragment2421Library UP-TO-DATE
:app:prepareComAndroidSupportSupportMediaCompat2421Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42421Library UP-TO-DATE
:app:prepareComAndroidSupportSupportVectorDrawable2421Library UP-TO-DATE
:app:prepareComAndroidVolleyVolley100Library UP-TO-DATE
:app:prepareComCrashlyticsSdkAndroidAnswers138Library UP-TO-DATE
:app:prepareComCrashlyticsSdkAndroidBeta121Library UP-TO-DATE
:app:prepareComCrashlyticsSdkAndroidCrashlytics261Library UP-TO-DATE
:app:prepareComCrashlyticsSdkAndroidCrashlyticsCore2310Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesBase961Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesBasement961Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesLocation961Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesMaps961Library UP-TO-DATE
:app:prepareComGoogleAndroidGmsPlayServicesTasks961Library UP-TO-DATE
:app:prepareIoFabricSdkAndroidFabric1312Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:incrementalDebugJavaCompilationSafeguard UP-TO-DATE
:app:compileDebugJavaWithJavac UP-TO-DATE
:app:compileDebugNdk UP-TO-DATE
:app:compileDebugSources UP-TO-DATE
:app:mergeDebugShaders UP-TO-DATE
:app:compileDebugShaders UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:transformClassesWithDexForDebug UP-TO-DATE
:app:mergeDebugJniLibFolders UP-TO-DATE
:app:transformNative_libsWithMergeJniLibsForDebug UP-TO-DATE
:app:processDebugJavaRes UP-TO-DATE
:app:transformResourcesWithMergeJavaResForDebug UP-TO-DATE
:app:validateSigningDebug
:app:packageDebug
:app:assembleDebug
BUILD SUCCESSFUL
Total time: 7.881 secs
EDIT 2
歧路項目:https://github.com/apertomove/linette
的build.gradle:https://github.com/apertomove/linette/blob/apertomove-linette/build.gradle
編輯3 除了上面的鏈接,我發現這個post由Jason寫阿特伍德。我們也有一個運行jenkins的CI服務器,我們可以運行我們的檢查並根據我們的lint規則向開發人員通知錯誤。這很好,但是,這是一步到位。從Android Studio運行我們的項目時,從庫中運行lint檢查會更有價值,更省時,而不是隻提交我們的代碼來發現我們的項目違反了規則。
運行'gradle dependencies'是否將aarWrapper顯示爲編譯時間依賴性? – RaGe
@RaGe是的我相信是這樣的,上面我在我的項目中運行'./gradlew assembleDebug'後添加了終端:第5行':app:prepareAarWrapperDebugLibrary UP-TO-DATE' – hopeman
您可以將原始gradle文件發佈到自定義皮棉項目..你可能已經做了類似忘記包括一個android-lint預編譯的jar例如 –