Gradlew 构建失败,Android studio 成功
Gradlew build fails, Android studio succeeds
尽力不打扰 android 开发人员。
我已经检查了一个分支以在 Gitlab 中设置 CI/CD 管道,因此我可以从源代码构建 APK。
该应用程序使用 Android Studio 构建良好,但在 docker 中使用 gradlew
构建时失败。
第一个错误是:
:app:compileDebugJavaWithJavacwarning: Supported source version 'RELEASE_7' from annotation processor 'android.arch.persistence.room.RoomProcessor' less than -source '1.8'
/builds/root/android-build/app/src/main/java/rs/project/ssam/drive/database/AppDatabase.java:17: warning: Schema export directory is not provided to the annotation processor so we cannot export the schema. You can either provide `room.schemaLocation` annotation processor argument OR set exportSchema to false.
public abstract class AppDatabase extends RoomDatabase {
设置后exportSchema = false
又出现了一个错误
:app:compileDebugJavaWithJavac/builds/root/android-build/app/src/main/java/rs/project/ssam/drive/api/repository/UserRepository.java:25: error: no suitable method found for injectInto(rs.project.ssam.drive.api.repository.UserRepository)
App.getInstance().getComponent().injectInto(this);
这是我卡住的地方,在 "enforce" 他们提供帮助之前,我会尽可能多地进行研究。
欢迎任何建议。
在检查代码时,我意识到有两个不同的 UserRepository.java
类 位于不同的包中并使用不同的方法。
导入正确后问题解决
尽力不打扰 android 开发人员。 我已经检查了一个分支以在 Gitlab 中设置 CI/CD 管道,因此我可以从源代码构建 APK。
该应用程序使用 Android Studio 构建良好,但在 docker 中使用 gradlew
构建时失败。
第一个错误是:
:app:compileDebugJavaWithJavacwarning: Supported source version 'RELEASE_7' from annotation processor 'android.arch.persistence.room.RoomProcessor' less than -source '1.8'
/builds/root/android-build/app/src/main/java/rs/project/ssam/drive/database/AppDatabase.java:17: warning: Schema export directory is not provided to the annotation processor so we cannot export the schema. You can either provide `room.schemaLocation` annotation processor argument OR set exportSchema to false.
public abstract class AppDatabase extends RoomDatabase {
设置后exportSchema = false
又出现了一个错误
:app:compileDebugJavaWithJavac/builds/root/android-build/app/src/main/java/rs/project/ssam/drive/api/repository/UserRepository.java:25: error: no suitable method found for injectInto(rs.project.ssam.drive.api.repository.UserRepository)
App.getInstance().getComponent().injectInto(this);
这是我卡住的地方,在 "enforce" 他们提供帮助之前,我会尽可能多地进行研究。
欢迎任何建议。
在检查代码时,我意识到有两个不同的 UserRepository.java
类 位于不同的包中并使用不同的方法。
导入正确后问题解决