AndroidDev 板


LINE

請教gradle高手,有三個module app和lib(sync-lib及 ttt-lib),lib裡面又有用到第三方一些library,像Timber之 類的,但app裡面寫Unit test用到Timber,有客製寫 了一個task叫unitMocktest來執行unit test,但在執 行gradle unitMocktest的時候會找不到timber,錯誤訊息如下: app:compileUnitMockTestJava /home/project/app/src/unitMockTest/java/com/aaa/sync/ClassTestC.java:41: error: OkHttpClient okHttpClient = new OkHttpClient(); ^ symbol: class OkHttpClient location: class ClassTestC /home/project/app/src/unitMockTest/java/com/aaa/sync/ClassTestC.java:41: error: OkHttpClient okHttpClient = new OkHttpClient(); ^ symbol: class OkHttpClient location: class ClassTestC /home/project/app/src/unitMockTest/java/com/aaa/sync/ClassTestC.java:49: error Timber.e("a"); ^ symbol: variable Timber location: class ClassTestC Note: /project/app/src/unitMockTest/java/com/aaa/sync/ClassTestA.java uses Note: Recompile with -Xlint:deprecation for details. 3 errors :app:compileUnitMockTestJava FAILED =============================== 以下是app/build.gradle的設定 // Constants def extra = rootProject.ext def deps = extra.deps buildscript { repositories { jcenter() flatDir { dirs 'libs' } } dependencies { classpath 'com.android.tools.build:gradle:2.3.1' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' classpath "io.realm:realm-gradle-plugin:3.4.0" classpath 'me.tatarka:gradle-retrolambda:3.5.0' classpath 'me.tatarka.retrolambda.projectlombok:lombok.ast:0.2.3.a2' classpath 'com.jakewharton.timber:timber:4.5.1' } // Exclude the version that the android plugin depends on. configurations.classpath.exclude group: 'com.android.tools.external.lombok' } apply plugin: 'com.android.application' apply plugin: 'com.neenbedankt.android-apt' apply plugin: 'realm-android' android { compileSdkVersion extra.compileSdkVersion buildToolsVersion extra.buildToolsVersion defaultConfig { applicationId "com.abc.sync.test" versionCode 1 versionName "1.0" minSdkVersion extra.minSdkVersion targetSdkVersion extra.targetSdkVersion multiDexEnabled true testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } configurations.all { resolutionStrategy { force 'com.android.support:support-annotations:23.1.1' } } configurations { compile.exclude group: "org.apache.httpcomponents", module: "httpclient" } sourceSets { String sharedTestDir = 'src/test/java' test { java.srcDir sharedTestDir } androidTest { java.srcDir sharedTestDir } } lintOptions { abortOnError false } buildToolsVersion '25.0.0' } sourceSets { main { java { srcDir 'src/test/java' } } test { java { srcDir 'src/test/java' } compileClasspath += sourceSets.main.runtimeClasspath } unitMockTest { java.srcDir file('src/unitMockTest/java') java.srcDir file('../ttt-lib/src/main/java') java.srcDir file('../sync-lib/src/main/java') } } configurations { unitMockTestCompile.extendsFrom testCompile unitMockTestRuntime.extendsFrom testRuntime } task unitMockTest(type: Test) { println 'Start unit test' testClassesDir = sourceSets.unitMockTest.output.classesDir classpath = sourceSets.unitMockTest.runtimeClasspath useJUnit { includeCategories 'com.wdc.sync.UnitTests' excludeCategories 'com.wdc.sync.IntegrationTests' } } dependencies { compile project(path:':sync-lib' ,configuration: "compile") compile project(path:':ttt-lib',configuration: "compile") testCompile project(path: ':sync-lib' ,configuration: "compile") testCompile project(path: ':ttt-lib',configuration: "compile") testRuntime project(path: ':ttt-lib',configuration: "compile") testCompile deps.timber testCompile deps.okhttp // Logging // compile deps.timber testCompile deps.slf4jApi testCompile deps.slf4jSimple // Dagger compile deps.dagger apt deps.daggerCompiler testApt deps.daggerCompiler provided deps.jsr250Api androidTestApt deps.daggerCompiler androidTestCompile(deps.espressoCore, { exclude group: 'com.android.support', module: 'support-annotations' exclude group: 'com.google.code.findbugs' }) compile deps.androidPriorityJobqueue compile deps.playServicesGcm compile deps.supportAnnotations // main APK // RxJava 2 testCompile deps.rxjava2 testCompile deps.rxjava1 // Java tests testCompile deps.junit testCompile deps.mockitoCore // Android tests androidTestCompile deps.mockitoCore androidTestCompile deps.dexmakerMockito androidTestCompile deps.supportAnnotations // test APK androidTestCompile deps.supportTestRunner androidTestCompile deps.supportTestRules unitMockTestRuntime project(path: ':ttt-lib') unitMockTestCompile project(':sync-lib') unitMockTestCompile project(':ttt-lib') unitMockTestCompile deps.rxjava2 unitMockTestCompile deps.rxjava1 unitMockTestCompile deps.mockitoCore unitMockTestCompile deps.dexmakerMockito } 有人知道為何build會找不到第三方package嗎?感謝指教 ----- Sent from JPTT on my Samsung SM-N9208. --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 199.255.47.6
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AndroidDev/M.1502368407.A.96D.html ※ 編輯: finalshinji (199.255.47.6), 08/10/2017 20:36:11







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BuyTogether站內搜尋

TOP