Giter VIP home page Giter VIP logo

car-samples's Introduction

Car Samples Repository

This repository contains a set of individual Android Studio projects to help you get started writing apps for the car.

The samples are categorized by the libraries they use to integrate with the car:

  • Car App Library - The library that allows developers to build navigation, parking, and charging apps for the Android Auto-compatible cars. The app may be running in a phone connected to the car or in the Android Automotive OS running in the car.
  • car-lib/ - A sample library for Android Automotive OS.

car-samples's People

Contributors

calhuanggoogle avatar codingjeremy avatar googlerrafael avatar jechjech avatar kokoro-team avatar rasekh avatar zhomart avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

car-samples's Issues

Execution failed for task '...compileDebugJavaWithJavac

I'm facing a build issue for every module:

Execution failed for task ':helloworld:common:compileDebugJavaWithJavac'.
> Failed to calculate the value of task ':helloworld:common:compileDebugJavaWithJavac' property 'options.generatedSourceOutputDirectory'.
   > Querying the mapped value of map(java.io.File property(org.gradle.api.file.Directory, fixed(class org.gradle.api.internal.file.DefaultFilePropertyFactory$FixedDirectory, /Users/jacekkwiecien/Projects/car-samples/car_app_library/helloworld/common/build/generated/ap_generated_sources/debug/out)) org.gradle.api.internal.file.DefaultFilePropertyFactory$ToFileTransformer@634f2d8c) before task ':helloworld:common:compileDebugJavaWithJavac' has completed is not supported

I have a JAVA_HOME env var set and pointing to the correct JAVA 8 jdk. Same is set in Android Studio SDK. ALso using jevn, all set to 1.8.

Been previously using JAVA 11, but changing all these didn't help.

Navigation sample fails to compile

I'm getting compilation error when trying to compile navigation sample app - see

git/car-samples/car_app_library/navigation/src/main/java/androidx/car/app/samples/navigation/car/NavigationSession.java:110: error: <anonymous androidx.car.app.samples.navigation.car.NavigationSession$2> is not abstract and does not override abstract method onProviderDisabled(String) in LocationListener
            new LocationListener() {

URGENT: HelloWorldSample not getting detected in Android Auto

Hi,
I downloaded the HelloWorldSample from the repository and its not getting detected on the Android Auto App under generalised launcher. I changed the Developer settings of Android Auto as well.
Although when I did the given changes in my android manifest file:-
FROM:-

<service android:name=".AndroidAuto.HelloWorldService" android:exported="true">
<intent-filter>
                <action android:name="androidx.car.app.CarAppService"/>
                <category android:name="androidx.car.app.category.NAVIGATION"/>
</intent-filter>
</service>

TO:-

<service android:name=".AndroidAuto.HelloWorldService" android:exported="true">
<intent-filter>
<action android:name="android.media.browse.MediaBrowserService" />
</intent-filter>
</service>

&

Automative app desc file code for Android auto from:-

<automotiveApp xmlns:tools="http://schemas.android.com/tools">
    <uses name="template" />
</automotiveApp>

to

<automotiveApp xmlns:tools="http://schemas.android.com/tools">
    <uses name="media" />
</automotiveApp>

it was getting detected and was working fine.

Please guide us on how to get the App detected in Android Auto for Navigation as the same settings are working fine for Media app.

Other details you might find relevant:
Android Studio Version: 4.2.1
Android Auto is running on Device with Android 10
Google services version is: 4.3.8
Desktop head unit version is: 1.1
Build tool version is : 30.0.3
Min Sdk Version: 23
Target sdk version : 30

Thanks in advance.

Cannot resolve symbol 'SessionInfo'

I'm getting the following errors when trying to run the helloworld example on my mobile and DHU. Has the SessionInfo class been removed. I can run the navigation example.

1.2.0-rc01
Android Studio Dolphin | 2021.3.1

NavigationTemplate doesn't show the map. Black screen

Hi,
I am playing with the automotive library and I managed to run all the examples and created a project with the templates.

I noticed that using the PlaceListMapTemplate displays the map but when i try using the NavigationTemplate the screen is black (other actions and buttons appear) but only the map is not showing.

I tried to do this simple example on Polestar2:

class NavigationMap(carContext: CarContext) : Screen(carContext) {
override fun onGetTemplate(): Template {
val actionStrip = ActionStrip.Builder()
.addAction(
Action.Builder()
.setTitle("BACK")
.setOnClickListener { this.finish() }
.build())
.build()
return NavigationTemplate.Builder()
.setActionStrip(actionStrip)
.setBackgroundColor(CarColor.SECONDARY)
.build()
}
}

Is is something that I am not doing right or missing a KEY for the map or donno? The examples are using a PNG drawn map and is not that obvious what is wrong.

Google Automotive App Host Unavailable for Pixel 5

Issue Description: Google Automotive App Host - This app is not available for any of your devices. This service seems to be a core requirement for running an Android Automotive application, yet isn't available for my Pixel 5. Is there a list of devices somewhere that are supported? Am I missing something?

Replication:

  1. Try to run the hello world automotive build using the DHU and Pixel 5
  2. "System Requires Update" displays
  3. Select "Update"
  4. Redirect to "https://play.google.com/store/apps/details?id=com.google.android.apps.automotive.templates.host&hl=en_US&gl=US"
  5. This app is not available for any of your devices

Check updates availability

Hi all,
I cloned the project and updated the modules for API 33.
Then I selected a module (e.g. helloworld.automotive) and run it on a mobile (Motorola g14 - API 33).

The mobile show me a black window with two messages:

  • System update required
  • Verify/Check updates availability

If I press the second message, Google Play shows me the 'Google Automotive App Host' + Your device is not compatible with this version.

If I try to run the helloworld.mobile a message appears: Default Activity not found
Actually the Activity is missing into the AndroidManifest.xml ..

I'd like to run the app on the mobile and see it on the display of the car.
Which version achieve that??

How can I solve the problems, please?
PS: I'm using the Desktop Head Unit emulator

OnContentRefreshListener doesn't show refresh button

I tried both PlaceListMapTemplate and PlaceListNavigationTemplate: when I set OnContentRefreshListener, it doesn't make any effect: refresh button doesn't appear as described in documentation.
Is there any other requirements to make PlaceListMapTemplate show that button?
I'm using the latest Android Auto app 7.8.622514 and DHU 2.0, tried all lib versions including the latest one 1.3.0-alpha01.

How to render other maps in PlaceListMapTemplate?

I have built AOSP Automotive with android 12L branch. Then I integrated AOSP Host to system apps, so that Template Apps would be possible to open. My question is how to integrate other Maps(either Google Maps, Openstreetmaps etc) into PlaceListMapTemplate because google maps is not integrated to AOSP version of Automotive OS?

Timed out waiting for process (androidx.car.app.sample.showcase) to appear on [Emulated Device]

I am having this error message when I try to install it to the emulated device. I have the Android 6.0 and Tiramisu SDK's installed.

It is not specific to any project actually, I gave the example of showcase for the reason of the latest commit updating its CAL version.

Steps to reproduce:

  • Download the source code.
  • Open the car_app_library folder in Android Studio
  • Select showcase->mobile and click on Build->Make Module 'carapp_samples.showcase.mobile'
  • Click On Run->Run 'showcase.mobile' while the emulated device (Pixel XL API 33) is selected.

After these steps, I get the following console output

10/25 17:31:49: Launching 'showcase.mobile' on Pixel XL API 33.
Install successfully finished in 529 ms.
Timed out waiting for process (androidx.car.app.sample.showcase) to appear on Pixel_XL_API_33 [emulator-5554].

It is also the same for places.mobile app. For Navigation, the app is installed on the device but nothing happens when I click on the buttons in the app window.

CAR_MILEAGE permission not availble

Hello

I am getting a security exceptions when I trying to get the value of ODOMETER using VehiclePropertyIds.PERF_ODOMETER, saving that requires android.car.permission.CAR_MILEAGE permission for access, But I add permission in menifest.xml and requesting permission at run time as well

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.carapihelloworld">

    <uses-permission android:name="android.car.permission.CAR_SPEED" />
    <uses-permission android:name="android.car.permission.CAR_POWERTRAIN" />
    <uses-permission android:name="android.car.permission.CAR_MILEAGE" />
    <uses-permission android:name="android.car.permission.PERMISSION_READ_DISPLAY_UNITS" />
    <uses-permission android:name="android.car.permission.PERMISSION_VENDOR_EXTENSION" />
    <uses-permission android:name="android.car.permission.READ_CAR_DISPLAY_UNITS" />
    <uses-permission android:name="android.car.permission.PERMISSION_CONTROL_DISPLAY_UNITS" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
if (checkSelfPermission("android.car.permission.CAR_MILEAGE") != PackageManager.PERMISSION_GRANTED) {
          requestPermissions(new String[]{"android.car.permission.CAR_MILEAGE", Car.PERMISSION_CONTROL_DISPLAY_UNITS , Car.PERMISSION_SPEED, Car.PERMISSION_POWERTRAIN, Car.PERMISSION_READ_DISPLAY_UNITS}, REQUEST_CODE_ASK_PERMISSIONS);
      } else {
          initCarApi();
      }

try {
        CarPropertyValue carProperty = mCarPropertyManager.getProperty(VehiclePropertyIds.PERF_ODOMETER, DEFAULT_KEYS_SEARCH_GLOBAL);
        Log.d(TAG, "MilanMistry: " + carProperty.getValue());
    } catch (SecurityException e) {
        Log.d(TAG, "MilanMistry: " + e.getMessage());
    }

And I check Car.java class from android.car library there in no permission like android.car.permission.CAR_MILEAGE, But in official document suggesting this permission

public static final String APP_FOCUS_SERVICE = "app_focus";
    public static final String AUDIO_SERVICE = "audio";
    public static final String CAR_CONFIGURATION_SERVICE = "configuration";
    public static final String CAR_EXTRA_MEDIA_PACKAGE = "android.car.intent.extra.MEDIA_PACKAGE";
    public static final String CAR_INTENT_ACTION_MEDIA_TEMPLATE = "android.car.intent.action.MEDIA_TEMPLATE";
    public static final String CAR_NAVIGATION_SERVICE = "car_navigation_service";
    public static final String CAR_UX_RESTRICTION_SERVICE = "uxrestriction";
    public static final int CONNECTION_TYPE_EMBEDDED = 5;
    public static final String INFO_SERVICE = "info";
    public static final String PACKAGE_SERVICE = "package";
    public static final String PERMISSION_CAR_CONTROL_AUDIO_SETTINGS = "android.car.permission.CAR_CONTROL_AUDIO_SETTINGS";
    public static final String PERMISSION_CAR_CONTROL_AUDIO_VOLUME = "android.car.permission.CAR_CONTROL_AUDIO_VOLUME";
    public static final String PERMISSION_CAR_INFO = "android.car.permission.CAR_INFO";
    public static final String PERMISSION_CAR_NAVIGATION_MANAGER = "android.car.permission.CAR_NAVIGATION_MANAGER";
    public static final String PERMISSION_CONTROL_DISPLAY_UNITS = "android.car.permission.CONTROL_CAR_DISPLAY_UNITS";
    public static final String PERMISSION_CONTROL_INTERIOR_LIGHTS = "android.car.permission.CONTROL_CAR_INTERIOR_LIGHTS";
    public static final String PERMISSION_ENERGY = "android.car.permission.CAR_ENERGY";
    public static final String PERMISSION_ENERGY_PORTS = "android.car.permission.CAR_ENERGY_PORTS";
    public static final String PERMISSION_EXTERIOR_ENVIRONMENT = "android.car.permission.CAR_EXTERIOR_ENVIRONMENT";
    public static final String PERMISSION_IDENTIFICATION = "android.car.permission.CAR_IDENTIFICATION";
    public static final String PERMISSION_POWERTRAIN = "android.car.permission.CAR_POWERTRAIN";
    public static final String PERMISSION_READ_DISPLAY_UNITS = "android.car.permission.READ_CAR_DISPLAY_UNITS";
    public static final String PERMISSION_READ_INTERIOR_LIGHTS = "android.car.permission.READ_CAR_INTERIOR_LIGHTS";
    public static final String PERMISSION_READ_STEERING_STATE = "android.car.permission.READ_CAR_STEERING";
    public static final String PERMISSION_SPEED = "android.car.permission.CAR_SPEED";
    public static final String PROPERTY_SERVICE = "property";

How to Implement Dagger

Can someone guide a little on how to inject my custom classes like Repositories and Helper classes into the Android Auto's Screen class

Thanks

Anybody with DHU experience on Mac?

I'm trying to setup the android auto DHU on Mac.
I've enabled developer mode on my phone and the android auto app, I've enabled usb debugging, and I've enabled adb port forwarding for 5277. I start the head unit server with my phone, then go into the pc, (the first time, this is the spot I used adb) and then start the application. My phone says it's connected to my car, but the pc says that it's waiting for my phone. Any advice? Below he send me a "bye bye" ahahhaha

[W]: No configuration specified - using default values.
[E]: Could not load configuration from '~/.android/headunit.ini'.
BoringSSL is the SSL implementation used in the receiver-lib.
Starting link. Requested protocol version: 1.7
[I]: Connecting over ADB to localhost:5277...
[I]: connected.
> Phone reported protocol version 1.7
ssl state=TLS client read_server_hello -1
ssl state=TLS client process_change_cipher_spec -1
ssl state=SSL negotiation finished successfully 1
SSL version=TLSv1.2 Cipher name=ECDHE-RSA-AES128-GCM-SHA256
Verify returned: ok
[I]: Received ByeBye 1 from phone.

android.car package for CarGearViewerKotlin

For CarGearViewerKotlin it is impossible to access to android.car package.

After adding useLibrary 'android.car' to build.gradle of app module it started building and running on emulator, but Android Studio still unable to access and/or show them.

import android.car.Car
import android.car.VehiclePropertyIds
import android.car.hardware.CarPropertyValue
import android.car.hardware.property.CarPropertyManager

Android Studio versions:

Chipmunk 2021.2.1 | Patch 1
Electric Eel | 2022.1.1 Canary 2
Android SDK: 29, 30, 31, 32

How can I fix it. Or somehow add android.car.jars. Because it is impossible to normally develop without highlighting and importing packages.

Integration of third party maps with Android Auto Cars Library

I am integrating Android Auto Car Library for my navigation application. i have implemented navigation template successfully but stuck in integrating third party maps sdk(Like here maps, mapbox etc) as there is only an option for drawing own map rendering with canvas. Any help would highly be appreciated. Thanks.

examples of TabTemplate

I see examples of TabTemplate in the design guide (here)

Can someone add some examples of this template to the car-samples project?

image

I don't know how to display notifications on the DHU side with messaging apps.

I would like to implement "Incoming messages" and "Saved messages". Is there a github project that explains the detailed implementation?

I tested the execution of the app based on the "Messaging Service Template" of Android Studio, but nothing was notified to the DHU side.

This repository will be helpful when creating apps using the Cars App Library.
When creating media apps, the uamp repository will be helpful.
However, there is no sample project on github to help me create messaging apps.

my project: https://github.com/LeoAndo/android-auto-automotive-training/tree/main/MessageSimpleApp

Mobile(Google Pixel5 OS12) DHU v2

about Android Studio Template

In my opinion, the code in "Android Studio Messaging Service Templates" is old, can't be run right away, and isn't very helpful.(There is no implementation of NotificationChannel etc.)
Issues that cannot be run immediately have been submitted to the issue Tracker.

Are there any plans to add templates for the "media, messaging" apps?(From Cars App Library)

There is one question.

Templates provided by the Android for Cars App Library currently only support apps for "navigation, parking, charging", but are there any plans to add Templates for "media, messaging" apps?
I hope that templates can be used in "media, messaging" apps like CarPlay.

References:

[Template]
https://developer.android.com/reference/androidx/car/app/model/package-summary.html

[Android for Cars App Library design guidelines]
https://developer.android.com/training/cars/Android%20for%20Cars%20App%20Library%20design%20guidelines.pdf
P28

[CarPlay App Programming Guide]
https://developer.apple.com/carplay/documentation/CarPlay-App-Programming-Guide.pdf
P15

Can only get 4 properties?

Any thoughts why I can only get 4 properties?

CarPropertyConfig{mPropertyId= 287310850 > PARKING_BRAKE_ON
CarPropertyConfig{mPropertyId= 289408000 > GEAR_SELECTION
CarPropertyConfig{mPropertyId= 289408001 > CURRENT_GEAR
CarPropertyConfig{mPropertyId= 289408009 > IGNITION_STATE

When I list all properties, I only see the above 4:

        // Create a list of properties in debug window
        val carPropertyList = carPropertyManager.propertyList
        Log.d(TAG, "carPropertyList: " + carPropertyList.toString())
        for (i in 0 until carPropertyList.size) {
            val carProperty = carPropertyList[i]
            data.add(carProperty.toString())
        }

If I try to register any other property, I get an error:
E/CarPropertyManager: registerListener: propId is not in config list: 291504647

Here's the code I try to use:

        // Subscribes to the car speed events.
        carPropertyManager.registerCallback(
            carPropertyCarSpeedListener,
            VehiclePropertyIds.PERF_VEHICLE_SPEED,
            CarPropertyManager.SENSOR_RATE_ONCHANGE
        )

I did add CAR_SPEED permission to my manifest:

    <uses-permission android:name="android.car.permission.CAR_SPEED" />

NavigationTemplate, MapTemplate not showing map

Hello everyone,
I am trying to make android auto navigation app with my existing navigation app.

Tried multiple templates provided by car app library but none of them loading the map. can anyone please help me to add map in app?
how to load map in android auto app? do we need to integrate google map for this? if yes, can anyone please let me know how we can integrate google map?

unable to build helloworld

Executing tasks: [:helloworld:automotive:assembleDebug] in project D:\car_app_library

Starting Gradle Daemon...
Gradle Daemon started in 2 s 665 ms

Task :helloworld:automotive:preBuild UP-TO-DATE
Task :helloworld:automotive:preDebugBuild UP-TO-DATE
Task :helloworld:automotive:javaPreCompileDebug UP-TO-DATE
Task :helloworld:automotive:generateDebugResources UP-TO-DATE
Task :helloworld:common:generateDebugResources UP-TO-DATE
Task :helloworld:common:preBuild UP-TO-DATE
Task :helloworld:common:preDebugBuild UP-TO-DATE
Task :helloworld:common:packageDebugResources UP-TO-DATE
Task :helloworld:automotive:mergeDebugResources UP-TO-DATE
Task :helloworld:automotive:createDebugCompatibleScreenManifests UP-TO-DATE
Task :helloworld:automotive:extractDeepLinksDebug UP-TO-DATE
Task :helloworld:common:extractDeepLinksDebug UP-TO-DATE
Task :helloworld:common:processDebugManifest UP-TO-DATE
Task :helloworld:automotive:processDebugManifest FAILED
Task :helloworld:common:compileDebugLibraryResources UP-TO-DATE
Task :helloworld:common:parseDebugLocalResources UP-TO-DATE
Task :helloworld:common:generateDebugRFile UP-TO-DATE
Task :helloworld:common:javaPreCompileDebug UP-TO-DATE

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.

  • What went wrong:
    Execution failed for task ':helloworld:automotive:processDebugManifest'.

Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed module @18c00ce1

  • Try:
    Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Exception is:
    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':helloworld:automotive:processDebugManifest'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:188)
    at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:186)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:174)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
    at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:79)
    at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
    at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:74)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:408)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:395)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:388)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:374)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "opens java.io" to unnamed module @18c00ce1
    at com.google.gson.internal.reflect.UnsafeReflectionAccessor.makeAccessible(UnsafeReflectionAccessor.java:44)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:159)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
    at com.google.gson.Gson.getAdapter(Gson.java:458)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
    at com.google.gson.Gson.getAdapter(Gson.java:458)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
    at com.google.gson.Gson.getAdapter(Gson.java:458)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
    at com.google.gson.Gson.getAdapter(Gson.java:458)
    at com.google.gson.internal.bind.CollectionTypeAdapterFactory.create(CollectionTypeAdapterFactory.java:53)
    at com.google.gson.Gson.getAdapter(Gson.java:458)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(ReflectiveTypeAdapterFactory.java:117)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:166)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
    at com.google.gson.Gson.getAdapter(Gson.java:458)
    at com.google.gson.internal.bind.ArrayTypeAdapter$1.create(ArrayTypeAdapter.java:48)
    at com.google.gson.Gson.getAdapter(Gson.java:458)
    at com.google.gson.Gson.fromJson(Gson.java:926)
    at com.google.gson.Gson.fromJson(Gson.java:892)
    at com.google.gson.Gson.fromJson(Gson.java:841)
    at com.google.gson.Gson.fromJson(Gson.java:813)
    at com.android.manifmerger.ManifestMerger2.createNavigationMap(ManifestMerger2.java:464)
    at com.android.manifmerger.ManifestMerger2.merge(ManifestMerger2.java:329)
    at com.android.manifmerger.ManifestMerger2.access$600(ManifestMerger2.java:75)
    at com.android.manifmerger.ManifestMerger2$Invoker.merge(ManifestMerger2.java:2094)
    at com.android.build.gradle.internal.tasks.manifest.ManifestHelperKt.mergeManifestsForApplication(ManifestHelper.kt:86)
    at com.android.build.gradle.tasks.ProcessApplicationManifest.doFullTaskAction(ProcessApplicationManifest.java:199)
    at com.android.build.gradle.internal.tasks.IncrementalTask.handleIncrementalInputs(IncrementalTask.kt:108)
    at com.android.build.gradle.internal.tasks.IncrementalTask.access$handleIncrementalInputs(IncrementalTask.kt:64)
    at com.android.build.gradle.internal.tasks.IncrementalTask$taskAction$$inlined$recordTaskAction$1.invoke(AndroidVariantTask.kt:73)
    at com.android.build.gradle.internal.tasks.IncrementalTask$taskAction$$inlined$recordTaskAction$1.invoke(AndroidVariantTask.kt:34)
    at com.android.build.gradle.internal.tasks.Blocks.recordSpan(Blocks.java:91)
    at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction$gradle(IncrementalTask.kt:135)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
    at org.gradle.api.internal.project.taskfactory.IncrementalTaskInputsTaskAction.doExecute(IncrementalTaskInputsTaskAction.java:47)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
    at org.gradle.api.internal.project.taskfactory.AbstractIncrementalTaskAction.execute(AbstractIncrementalTaskAction.java:25)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$2.run(ExecuteActionsTaskExecuter.java:506)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:74)
    at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:74)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:491)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:474)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:106)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:271)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:249)
    at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:83)
    at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:37)
    at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:50)
    at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:47)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:79)
    at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:47)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:37)
    at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:68)
    at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:38)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:50)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:36)
    at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41)
    at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74)
    at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
    at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51)
    at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:29)
    at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:54)
    at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:35)
    at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:60)
    at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:27)
    at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:174)
    at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:74)
    at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:45)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:40)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:29)
    at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36)
    at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:99)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:92)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:52)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:36)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:85)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:42)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
    at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:91)
    at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
    at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:106)
    at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:51)
    at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:72)
    at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:46)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:86)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:86)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:32)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
    at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:43)
    at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:31)
    at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution$2.withWorkspace(ExecuteActionsTaskExecuter.java:284)
    at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40)
    at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30)
    at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37)
    at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27)
    at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:44)
    at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:33)
    at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:76)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:185)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:174)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
    at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:79)
    at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:79)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
    at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:74)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:408)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:395)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:388)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:374)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)

==============================================================================

2: Task failed with an exception.

  • What went wrong:
    Execution failed for task ':helloworld:common:compileDebugJavaWithJavac'.

Failed to calculate the value of task ':helloworld:common:compileDebugJavaWithJavac' property 'options.generatedSourceOutputDirectory'.
Querying the mapped value of map(java.io.File property(org.gradle.api.file.Directory, fixed(class org.gradle.api.internal.file.DefaultFilePropertyFactory$FixedDirectory, D:\car_app_library\helloworld\common\build\generated\ap_generated_sources\debug\out)) org.gradle.api.internal.file.DefaultFilePropertyFactory$ToFileTransformer@8f43869) before task ':helloworld:common:compileDebugJavaWithJavac' has completed is not supported

  • Try:
    Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Exception is:
    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':helloworld:common:compileDebugJavaWithJavac'.
    at org.gradle.api.internal.tasks.properties.DefaultTaskProperties.resolve(DefaultTaskProperties.java:82)
    at org.gradle.execution.plan.LocalTaskNode.resolveMutations(LocalTaskNode.java:200)
    at org.gradle.execution.plan.DefaultExecutionPlan.getResolvedMutationInfo(DefaultExecutionPlan.java:665)
    at org.gradle.execution.plan.DefaultExecutionPlan.selectNext(DefaultExecutionPlan.java:577)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$executeNextNode$1(DefaultPlanExecutor.java:166)
    at org.gradle.internal.resources.DefaultResourceLockCoordinationService.withStateLock(DefaultResourceLockCoordinationService.java:45)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:155)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.base/java.lang.Thread.run(Thread.java:831)
    Caused by: org.gradle.api.internal.provider.AbstractProperty$PropertyQueryException: Failed to calculate the value of task ':helloworld:common:compileDebugJavaWithJavac' property 'options.generatedSourceOutputDirectory'.
    at org.gradle.api.internal.provider.AbstractProperty.finalizeNow(AbstractProperty.java:239)
    at org.gradle.api.internal.provider.AbstractProperty.beforeRead(AbstractProperty.java:230)
    at org.gradle.api.internal.provider.AbstractProperty.calculateOwnValueNoProducer(AbstractProperty.java:120)
    at org.gradle.api.internal.file.DefaultFilePropertyFactory$AbstractFileVar.access$100(DefaultFilePropertyFactory.java:180)
    at org.gradle.api.internal.file.DefaultFilePropertyFactory$AbstractFileVar$2.calculateOwnValue(DefaultFilePropertyFactory.java:263)
    at org.gradle.api.internal.provider.AbstractMinimalProvider.getOrNull(AbstractMinimalProvider.java:93)
    at org.gradle.api.internal.tasks.properties.FileParameterUtils.resolveOutputFilePropertySpecs(FileParameterUtils.java:115)
    at org.gradle.api.internal.tasks.properties.OutputUnpacker.visitOutputFileProperty(OutputUnpacker.java:67)
    at org.gradle.api.internal.tasks.properties.CompositePropertyVisitor.visitOutputFileProperty(CompositePropertyVisitor.java:64)
    at org.gradle.api.internal.tasks.properties.annotations.AbstractOutputPropertyAnnotationHandler.visitPropertyValue(AbstractOutputPropertyAnnotationHandler.java:50)
    at org.gradle.api.internal.tasks.properties.bean.AbstractNestedRuntimeBeanNode.visitProperties(AbstractNestedRuntimeBeanNode.java:56)
    at org.gradle.api.internal.tasks.properties.bean.NestedRuntimeBeanNode.visitNode(NestedRuntimeBeanNode.java:41)
    at org.gradle.api.internal.tasks.properties.DefaultPropertyWalker.visitProperties(DefaultPropertyWalker.java:41)
    at org.gradle.api.internal.tasks.TaskPropertyUtils.visitProperties(TaskPropertyUtils.java:44)
    at org.gradle.api.internal.tasks.properties.DefaultTaskProperties.resolve(DefaultTaskProperties.java:73)
    at org.gradle.execution.plan.LocalTaskNode.resolveMutations(LocalTaskNode.java:200)
    at org.gradle.execution.plan.DefaultExecutionPlan.getResolvedMutationInfo(DefaultExecutionPlan.java:665)
    at org.gradle.execution.plan.DefaultExecutionPlan.selectNext(DefaultExecutionPlan.java:577)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$executeNextNode$1(DefaultPlanExecutor.java:166)
    at org.gradle.internal.resources.DefaultResourceLockCoordinationService.withStateLock(DefaultResourceLockCoordinationService.java:45)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:155)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.base/java.lang.Thread.run(Thread.java:831)
    Caused by: org.gradle.api.InvalidUserCodeException: Querying the mapped value of map(java.io.File property(org.gradle.api.file.Directory, fixed(class org.gradle.api.internal.file.DefaultFilePropertyFactory$FixedDirectory, D:\car_app_library\helloworld\common\build\generated\ap_generated_sources\debug\out)) org.gradle.api.internal.file.DefaultFilePropertyFactory$ToFileTransformer@8f43869) before task ':helloworld:common:compileDebugJavaWithJavac' has completed is not supported
    at org.gradle.api.internal.provider.TransformBackedProvider.lambda$beforeRead$0(TransformBackedProvider.java:84)
    at org.gradle.api.internal.provider.ValueSupplier$TaskProducer.visitContentProducerTasks(ValueSupplier.java:136)
    at org.gradle.api.internal.provider.TransformBackedProvider.beforeRead(TransformBackedProvider.java:81)
    at org.gradle.api.internal.provider.TransformBackedProvider.calculateOwnValue(TransformBackedProvider.java:63)
    at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:103)
    at org.gradle.api.internal.provider.MappingProvider.calculateOwnValue(MappingProvider.java:55)
    at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:103)
    at org.gradle.api.internal.provider.AbstractMinimalProvider.withFinalValue(AbstractMinimalProvider.java:151)
    at org.gradle.api.internal.provider.DefaultProperty.finalValue(DefaultProperty.java:133)
    at org.gradle.api.internal.provider.DefaultProperty.finalValue(DefaultProperty.java:25)
    at org.gradle.api.internal.provider.AbstractProperty.finalizeNow(AbstractProperty.java:236)
    ... 27 more

==============================================================================

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 22s
12 actionable tasks: 1 executed, 11 up-to-date

on android studio chipmunk

Outdated?

IS there a reason these samples are 1 point revisions behind current? Anyone even maintain this any more?

Sample Apps not showing in DHU

The new sample apps like Showcase, etc are not showing in the DHU by default.
Even my own app used to work on DHU, but as soon as I migrate it to androidx, it does not show on the DHU anymore.

I am using the same HostValidator as shown in these sample apps. Kindly help

Unavailable, for your safety. This activity is not available while driving.

I just create sample project for android automotive OS in which i just display "Hello World" text, but the issue is when i install my apk on emulator (Polestar 2) and increase the speed (from 0 to 3, 4 any number) it shows me this text, "Unavailable, for your safety. This activity is not available while driving." I also create config.xml file in which i make my activity white listed also add meta-data tag in manifest but still got this message. Below is my config.xml and manifest.

<?xml version="1.0" encoding="utf-8"?>

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <!--  Comma separated list of activities that need to be exempted from getting
          blocked in a UX restricted state.
          Format of each entry is either to specify package name to allowlist the whole package or
          use format of "packagename/activity_classname" for tagging each activities.
          For general guidelines to design distraction optimized apps, please refer
          to Android Auto Driver Distraction Guidelines. -->
    <string name="activityWhitelist" translatable="false">mypackage/mypackage.myapplication.TestActivity</string>


</resources>

--Manifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="mypackage.myapplication">

    <uses-feature
        android:name="android.hardware.type.automotive"
        android:required="true" />
    <uses-permission android:name="android.car.permission.CAR_POWERTRAIN" />
    <uses-permission android:name="android.car.permission.CAR_SPEED" />
    <uses-permission android:name="android.car.permission.CAR_ENERGY" />
    <uses-permission android:name="android.car.permission.CAR_UX_RESTRICTIONS_CONFIGURATION" />
    <uses-permission android:name="android.car.permission.CAR_DRIVING_STATE"/>
    <uses-permission android:name="androidx.car.app.NAVIGATION_TEMPLATES"/>
    <uses-permission android:name="androidx.car.app.ACCESS_SURFACE"/>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@android:style/Theme.DeviceDefault.NoActionBar">
        <activity android:name=".TestActivity"
            android:exported="true"
            android:label="e">
            <meta-data android:name="distractionOptimized" android:value="true"/>
            <intent-filter>
                <action android:name="android.intent.action.APPLICATION_PREFERENCES"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

I also tried your sample application, but the behaviour is same.

Places needs Permission. No way to grant them

Hello,
when I try to start the Android Auto places example App I get the error that my App does not have the needed permission but I also haven't found a way to grant those permissions. Can anybody help me?
Here are two Screenshots of the Error I get. The needed permission is Android.permission.ACCESS_FINE_LOCATION:

Bildschirmfoto 2021-07-16 um 14 47 58

Bildschirmfoto 2021-07-16 um 14 48 07

Thanks in advance if you can help me :)

DRM Protected Music

Hey , I have an app that contains DRM protected content and we want to port it to Android Auto.
But i have tried different ways but can't seem to find the way to add my DRM info to play the content?Is there any example or documentation on this?

Thx

URGENT: UNABLE to detect Navigation App in Android Auto

UNABLE to detect navigation app in Android Auto

We are working on a Navigation application and are facing problems in getting navigation app detected in Android Auto

Below you will see:

a) Libraries we used
b) Android Manifest file
c) automative app desc file code for Android auto
d) Different solutions we tried but didn't work

For the same we have followed the given documentation: https://developer.android.com/training/cars/navigation

a) We have used the given libraries (To check the working with both)
implementation “androidx.car.app:app:1.0.0”
implementation "androidx.car.app:app:1.0.0-rc01"

Now the issue we are currently facing is the detection of app in Android Auto (The android auto along with the desktop head unit for testing are both updated to the latest version)

b) Here is how the Android Manifest file looks:-

            <!-- <category android:name="androidx.car.app.category.NAVIGATION" /> -->

and the meta data is:-

c) Further the automative app desc file code for Android auto is:-


d) Now I would like to point out couple of things:-

  1. The name="template" is not supported we have to add tools:ignore="InvalidUsesTagAttribute"
  2. The multiple combination so tried includes:-

i) Simple changing template to - media/sms/notifcation (Still not detected in android auto)
ii) Further on changing the service's name to Messaging or Media and keeping template as the name in xml file the app is still not detected in android auto
iii) Now the only case the app was detected in android auto was when I switched the category to Media/Messaging in intent filter of service and keeping the automotiveApp tag name as media/sms/notifications.

So the combination in iii) point although detected by android auto doesnt fit
requirement of Navigation App.

In conclusion the setup for Android Manifest and XML file are working fine and are getting detected by android auto in case of Media/Messaging app
refernece taken from: https://developer.android.com/training/cars/messaging

But on the same website content of the given files present in document for Navigation: https://developer.android.com/training/cars/navigation
is not working.

Please guide us on what changes needs to be done in order to fix the same.

Can't run showcase.automotive on automotive Q emulator

when I run the showcase.automotive module on my Android Emulator with Android 10.0 (Automotive with Play Store) all it shows is a screen saying that "System requires an update. Please check for updates, or contact the device manufacturer" click update button but all it does is open the play store nothing more (even updating google play services to latest haven't done anything).

and I'm getting this stack trace on my logcat:
2021-06-22 16:58:24.492 7602-7602/androidx.car.app.sample.showcase E/CarApp.Act: Service error: HOST_NOT_FOUND java.lang.Exception: No handlers found for intent: Intent { act=android.car.template.host.RendererService } at androidx.car.app.activity.ServiceConnectionManager.bind(ServiceConnectionManager.java:195) at androidx.car.app.activity.CarAppViewModel.bind(CarAppViewModel.java:103) at androidx.car.app.activity.CarAppActivity.onCreate(CarAppActivity.java:235) at android.app.Activity.performCreate(Activity.java:7825) at android.app.Activity.performCreate(Activity.java:7814) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

I might have missed something, can someone help me with this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.