我已經在測試包中編寫了這個測試,用于測試一個retrofit類,但是即使在測試星之前,除了未知的“常量”之外@Config,還會顯示此錯誤:@Config(constants = BuildConfig.class, sdk =21, manifest="app/manifests/AndroidManifest.xml")@RunWith(RobolectricTestRunner.class)public class MultiFactorAPITest {private MainActivity mainActivity;@Mockprivate MultiFactorAPI mockMultiFactorAPI;@Captorprivate ArgumentCaptor<Callback<List<ValidatePhoneUserResponse>>> callbackArgumentCaptor;@Beforepublic void setUp() { MockitoAnnotations.initMocks(this); ActivityController<MainActivity> controller = Robolectric.buildActivity(MainActivity.class); mainActivity = controller.get(); // Then we need to swap the retrofit api impl. with a mock one // We store our Retrofit api impl as a static singleton in class RestClient, hence: RestClient.setApi(mockMultiFactorAPI); controller.create();}錯誤是:現在必須顯式聲明注釋處理器。發現編譯類路徑的以下依賴項包含注釋處理器。請將它們添加到 annotationProcessor 配置中。- auto-service-1.0-rc4.jar (com.google.auto.service:auto-service:1.0-rc4) 或者,設置 android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true 以繼續之前的行為。請注意,此選項已棄用,將來會被刪除。有關詳細信息,請參閱https://developer.android.com/r/tools/annotation-processor-error-message.html 。我添加了這些行來漱口:dependencies { implementation 'org.robolectric:robolectric:4.3' implementation "org.mockito:mockito-core:1.10.19" implementation 'org.hamcrest:hamcrest-library:1.1'}在gradle.Madule:android{testOptions { unitTests { includeAndroidResources = true }} }在 gradle.app 中:dependencies{ classpath 'org.robolectric:robolectric-gradle-plugin:1.0.1'}在 gradle.propertice 中:android.enableUnitTestBinaryResources=trueandroid.enableAapt2=false
1 回答

慕標5832272
TA貢獻1966條經驗 獲得超4個贊
通過將此代碼放入我的 app.gradle 解決了我的問題:
dependencies{
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
implementation 'com.squareup.okhttp3:mockwebserver:3.6.0'
}
和
1) 在 Android Studio 中找到 .gradle 文件夾的位置,轉到“文件”->“設置”,然后在搜索框中鍵入“gradle”。您將能夠在那里選擇正確的路徑
2)刪除.gradle目錄(我的位置是C:\Users\UserName.gradle),重啟android studio。它會自動創建一個新的。
來自Android 工作室:構建項目錯誤 - 無法完成 Gradle 執行
添加回答
舉報
0/150
提交
取消