groovy buildscript { repositories { google() gradlePluginPortal() } dependencies { classpath 'com.android.tools.build:gradle:4.2.2' classpath 'com.google.dagger:hilt-android-gradle-plugin:2.38.1' } } allprojects { repositories { google() jcenter() } } groovy apply plugin: 'com.android.library' apply plugin: 'dagger.hilt.android.plugin' android { compileSdkVersion 31 defaultConfig { javaCompileOptions { annotationProcessorOptions { arguments += ["dagger.hilt.android.plugin.lifecycle.disableAndroidxConstraintLayout": "true"] } } } } dependencies { implementation 'androidx.hilt:hilt-common:1.0.0' annotationProcessor 'androidx.hilt:hilt-compiler:1.0.0' } public class MyDependency { public void doSomething() { System.out.println("Performing operation using MyDependency."); } } public class MyClass { private final MyDependency myDependency; @Inject public MyClass(MyDependency myDependency) { this.myDependency = myDependency; } public void performOperation() { myDependency.doSomething(); System.out.println("Performing operation using MyClass."); } } @Module @InstallIn(SingletonComponent.class) public abstract class LibraryModule { @Provides public static MyDependency provideMyDependency() { return new MyDependency(); } } @AndroidEntryPoint public class MainActivity extends AppCompatActivity { @Inject MyClass myClass; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myClass.performOperation(); } }


上一篇:
下一篇:
切换中文