Reputation: 19
I try to compile an Android system app (Jetpack Compose) in AOSP 13 for Android Automotive. I have success to do that until i try to insert Hilt functionalities.
Researching online, I found that this dependency could be added to the list of libraries: "hilt_android"
. But when i try to compile i receive this error:
[ 25% 7/28] //packages/apps/Car/MyComposeAppCarProperty:MyComposeAppCarProperty turbine apt
FAILED: out/soong/.intermediates/packages/apps/Car/MyComposeAppCarProperty/MyComposeAppCarProperty/android_common/kapt/kapt-sources.jar out/soong/.intermediates/packages/apps/Car/MyComposeAppCarProperty/MyCompos
eAppCarProperty/android_common/kapt/kapt-res.jar
prebuilts/jdk/jdk11/linux-x86/bin/java -XX:OnError="cat hs_err_pid%p.log" -XX:CICompilerCount=6 -XX:+UseDynamicNumberOfGCThreads -jar out/host/linux-x86/framework/turbine.jar --gensrc_output out/soong/.intermedi
ates/packages/apps/Car/MyComposeAppCarProperty/MyComposeAppCarProperty/android_common/kapt/kapt-sources.jar.tmp --resource_output out/soong/.intermediates/packages/apps/Car/MyComposeAppCarProperty/MyComposeAppCa
rProperty/android_common/kapt/kapt-res.jar.tmp --sources @out/soong/.intermediates/packages/apps/Car/MyComposeAppCarProperty/MyComposeAppCarProperty/android_common/kapt/kapt-sources.jar.rsp --source_jars out/so
ong/.intermediates/packages/apps/Car/MyComposeAppCarProperty/MyComposeAppCarProperty/android_common/kapt/stubs.jar out/soong/.intermediates/packages/apps/Car/MyComposeAppCarProperty/MyComposeAppCarProperty/andro
id_common/gen/android/R.srcjar --javacopts -Xmaxerrs 9999999 -encoding UTF-8 -sourcepath "" -g -XDskipDuplicateBridges=true -XDstringConcat=inline -Xlint:-dep-ann -source 1.8 -target 1.8 -- --bootclasspath out/s
oong/.intermediates/build/soong/java/core-libraries/stable.core.platform.api.stubs/android_common/turbine-combined/stable.core.platform.api.stubs.jar out/soong/.intermediates/libcore/core-lambda-stubs/android_co
mmon/turbine-combined/core-lambda-stubs.jar --classpath out/soong/.intermediates/frameworks/base/ext/android_common/turbine-combined/ext.jar out/soong/.intermediates/frameworks/base/framework/android_common/turb
ine-combined/framework.jar out/soong/.intermediates/packages/services/Car/car-lib/android.car/android_common/turbine-combined/android.car.jar out/soong/.intermediates/prebuilts/sdk/current/androidx/androidx.comp
ose.runtime_runtime/android_common/turbine-combined/androidx.compose.runtime_runtime.jar out/soong/.intermediates/prebuilts/sdk/current/androidx/androidx.compose.material3_material3/android_common/turbine-combin
ed/androidx.compose.material3_material3.jar out/soong/.intermediates/prebuilts/sdk/current/androidx/androidx.compose.ui_ui/android_common/turbine-combined/androidx.compose.ui_ui.jar out/soong/.intermediates/preb
uilts/sdk/current/androidx/androidx.compose.foundation_foundation/android_common/turbine-combined/androidx.compose.foundation_foundation.jar out/soong/.intermediates/prebuilts/sdk/current/androidx/androidx.activ
ity_activity-compose/android_common/turbine-combined/androidx.activity_activity-compose.jar out/soong/.intermediates/prebuilts/sdk/current/androidx/androidx.core_core-ktx/android_common/turbine-combined/androidx
.core_core-ktx.jar out/soong/.intermediates/prebuilts/sdk/current/androidx/androidx.appcompat_appcompat/android_common/turbine-combined/androidx.appcompat_appcompat.jar out/soong/.intermediates/prebuilts/sdk/cur
rent/androidx/androidx.lifecycle_lifecycle-runtime-ktx/android_common/turbine-combined/androidx.lifecycle_lifecycle-runtime-ktx.jar out/soong/.intermediates/external/kotlinx.coroutines/kotlinx_coroutines_android
/android_common/turbine-combined/kotlinx_coroutines_android.jar out/soong/.intermediates/frameworks/base/packages/SystemUI/compose/core/PlatformComposeCore/android_common/turbine-combined/PlatformComposeCore.jar
out/soong/.intermediates/external/dagger2/hilt_android/android_common/combined/hilt_android.jar out/soong/.intermediates/external/kotlinc/kotlin-stdlib/android_common/combined/kotlin-stdlib.jar out/soong/.inter
mediates/external/kotlinc/kotlin-stdlib-jdk7/android_common/combined/kotlin-stdlib-jdk7.jar out/soong/.intermediates/external/kotlinc/kotlin-stdlib-jdk8/android_common/combined/kotlin-stdlib-jdk8.jar out/soong/.
intermediates/external/kotlinc/kotlin-annotations/android_common/combined/kotlin-annotations.jar --processorpath out/soong/.intermediates/external/dagger2/dagger2-compiler/linux_glibc_common/withres/dagger2-comp
iler.jar out/soong/.intermediates/external/dagger2/hilt_android_entry_point_processor/linux_glibc_common/combined/hilt_android_entry_point_processor.jar out/soong/.intermediates/external/dagger2/hilt_aggregated_
deps_processor/linux_glibc_common/combined/hilt_aggregated_deps_processor.jar out/soong/.intermediates/external/dagger2/hilt_alias_of_processor/linux_glibc_common/combined/hilt_alias_of_processor.jar out/soong/.
intermediates/external/dagger2/hilt_define_component_processor/linux_glibc_common/combined/hilt_define_component_processor.jar out/soong/.intermediates/external/dagger2/hilt_generates_root_input_processor/linux_
glibc_common/withres/hilt_generates_root_input_processor.jar out/soong/.intermediates/external/dagger2/hilt_originating_element_processor/linux_glibc_common/combined/hilt_originating_element_processor.jar out/so
ong/.intermediates/external/dagger2/hilt_root_processor/linux_glibc_common/combined/hilt_root_processor.jar out/soong/.intermediates/external/dagger2/hilt_viewmodel_processor/linux_glibc_common/combined/hilt_vie
wmodel_processor.jar --processors dagger.internal.codegen.ComponentProcessor dagger.hilt.android.processor.internal.androidentrypoint.AndroidEntryPointProcessor dagger.hilt.processor.internal.aggregateddeps.Aggr
egatedDepsProcessor dagger.hilt.processor.internal.aliasof.AliasOfProcessor dagger.hilt.processor.internal.definecomponent.DefineComponentProcessor dagger.hilt.processor.internal.generatesrootinput.GeneratesRoot
InputProcessor dagger.hilt.processor.internal.originatingelement.OriginatingElementProcessor dagger.hilt.processor.internal.root.RootProcessor dagger.hilt.android.processor.internal.viewmodel.ViewModelProcessor
&& (for o in out/soong/.intermediates/packages/apps/Car/MyComposeAppCarProperty/MyComposeAppCarProperty/android_common/kapt/kapt-sources.jar out/soong/.intermediates/packages/apps/Car/MyComposeAppCarProperty/MyC
omposeAppCarProperty/android_common/kapt/kapt-res.jar; do if cmp -s ${o}.tmp ${o} ; then rm ${o}.tmp ; else mv ${o}.tmp ${o} ; fi; done )
com/test/demoa/app/MyApplication.java:8: error: [Hilt]
Expected @HiltAndroidApp to have a value. Did you forget to apply the Gradle Plugin? (dagger.hilt.android.plugin)
See https://dagger.dev/hilt/gradle-setup.html
[Hilt] Processing did not complete. See error above for details.
public final class MyApplication extends android.app.Application {
^
com/test/demoa/app/MainActivity.java:27: error: [Hilt]
Expected @AndroidEntryPoint to have a value. Did you forget to apply the Gradle Plugin? (dagger.hilt.android.plugin)
See https://dagger.dev/hilt/gradle-setup.html
[Hilt] Processing did not complete. See error above for details.
public final class MainActivity extends androidx.activity.ComponentActivity {
^
11:49:53 ninja failed with: exit status 1
#### failed to build some targets (43 seconds) ####
The problem is that i don't use Gradle buil system, the error message suggest to use a Gradle plugin.
This is the Android.bp file:
android_app {
name: "MyComposeAppCarProperty",
certificate: "platform",
manifest: "AndroidManifest.xml",
min_sdk_version: "33",
java_version: "1.8",
platform_apis: true,
compile_multilib: "both",
optimize: {
enabled: false,
},
dex_preopt: {
enabled: false,
},
srcs: [
"src/**/*.kt",
"src/**/*.java",
],
resource_dirs: [
"res",
],
static_libs: [
// Other libs
// ...
// Hilt
"hilt_android",
],
}
I tried to resolve this error but could not. Does anyone know how to solve it. It seems that the problem is not in the library import but in the annotation interpreter.
Upvotes: 1
Views: 127
Reputation: 363
In AOSP you need to pass in a value to @HiltAndroidApp
and @AndroidEntryPoint
because there is no support for the plugin.
Gradle:
@AndroidEntryPoint
class MainActivity : AppCompatActivity()
@HiltAndroidApp
class FooApplication : Application()
AOSP:
@AndroidEntryPoint(AppCompatActivity::class)
class MainActivity : Hilt_MainActivity()
@HiltAndroidApp(Application::class)
class FooApplication : Hilt_FooApplication()
For more info see this guide: https://aayush.io/posts/snippet-hilt-in-aosp/
Upvotes: 0