├── README.md
├── androidautostub
├── Android.mk
├── AndroidAutoStubPrebuilt.apk
├── default-permissions.xml
└── privapp-permissions-com.google.android.projection.gearhead.xml
├── gappstub
├── Android.mk
└── gappsstub.apk
└── speechservicestub
├── Android.mk
└── speech-services-stub.apk
/README.md:
--------------------------------------------------------------------------------
1 | ## AndroidAutoStub
2 |
3 | - stock AndroidAutoStub extracted from pixel
4 | - custom built Google Search App and Google Speech Services Stubs
5 |
6 | ## Build (Generic AOSP)
7 |
8 | *This assumes you already are getting microg on your device some other way.*
9 |
10 | add this to your manifests to use:
11 | ```
12 |
13 |
14 |
15 |
16 | ```
17 |
18 | then include the following line in your device.mk or common.mk:
19 | ```
20 | PRODUCT_PACKAGES += AndroidAuto gappsstub speechservicestub
21 | ```
22 | or you can also add it to your `vendor/$vendor/config/common.mk`
23 |
24 | Now continue to "Get android auto setup" below
25 |
26 | ## Build lineageOS with Android Auto
27 |
28 | *this method will include microg and Android Auto and the stubs automatically in your build*
29 |
30 | I suggest using https://github.com/lineageos4microg/docker-lineage-cicd
31 |
32 | see the following repo for an example device:
33 | https://github.com/SolidHal/lineageos-microg-oneplus-lemonade
34 |
35 | Now continue to "Get android auto setup" below
36 |
37 | ## Get android auto setup
38 |
39 | - Install the latest android auto apk (you can find this online or get it with aurora store)
40 | - Install google maps in the same way
41 | - open google maps once, grant it location permissions. Just while in use is fine.
42 | - android auto *should* just work now
43 |
44 | if you get stuck on google maps permission, try pressing cancel instead of settings.
45 |
46 | if you are having trouble with first time setup, I found it was helpful to setup the bluetooth connection to the car before plugging in the usb c.
47 |
48 |
49 | ## Sources
50 |
51 | sources for custom built stubs with build instructions for each of the stubs:
52 | https://github.com/SolidHal/SpeechServices-Package-Spoof
53 | https://github.com/SolidHal/Gapp-Package-Spoof
54 |
55 | ## Thanks
56 | big thanks to @dylangerdaly and the thread here https://github.com/microg/GmsCore/issues/897
57 |
58 |
--------------------------------------------------------------------------------
/androidautostub/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 |
3 | include $(CLEAR_VARS)
4 | LOCAL_MODULE := privapp-permissions-com.google.android.projection.gearhead.xml
5 | LOCAL_MODULE_TAGS := optional
6 | LOCAL_MODULE_CLASS := ETC
7 | LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/permissions
8 | LOCAL_SRC_FILES := privapp-permissions-com.google.android.projection.gearhead.xml
9 | LOCAL_REQUIRED_MODULES := default-permissions.xml
10 | include $(BUILD_PREBUILT)
11 |
12 | include $(CLEAR_VARS)
13 | LOCAL_MODULE := default-permissions.xml
14 | LOCAL_MODULE_TAGS := optional
15 | LOCAL_MODULE_CLASS := ETC
16 | LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/default-permissions
17 | LOCAL_SRC_FILES := default-permissions.xml
18 | include $(BUILD_PREBUILT)
19 |
20 | include $(CLEAR_VARS)
21 | LOCAL_MODULE_TAGS := optional
22 | LOCAL_MODULE := AndroidAuto
23 | LOCAL_SRC_FILES := AndroidAutoStubPrebuilt.apk
24 | LOCAL_MODULE_CLASS := APPS
25 | LOCAL_PRIVILEGED_MODULE := true
26 | LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
27 | LOCAL_CERTIFICATE := PRESIGNED
28 | LOCAL_REQUIRED_MODULES := privapp-permissions-com.google.android.projection.gearhead.xml
29 | include $(BUILD_PREBUILT)
30 |
--------------------------------------------------------------------------------
/androidautostub/AndroidAutoStubPrebuilt.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidHal/android-auto-stub/17daf293dc48dff6780a78f05bdec8464eb1fc97/androidautostub/AndroidAutoStubPrebuilt.apk
--------------------------------------------------------------------------------
/androidautostub/default-permissions.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
17 |
18 |
33 |
34 |
35 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/androidautostub/privapp-permissions-com.google.android.projection.gearhead.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/gappstub/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 |
3 | include $(CLEAR_VARS)
4 | LOCAL_MODULE_TAGS := optional
5 | LOCAL_MODULE := gappsstub
6 | LOCAL_SRC_FILES := gappsstub.apk
7 | LOCAL_MODULE_CLASS := APPS
8 | LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
9 | LOCAL_CERTIFICATE := PRESIGNED
10 | include $(BUILD_PREBUILT)
11 |
12 | include $(CLEAR_VARS)
13 | LOCAL_MODULE_TAGS := optional
14 | LOCAL_MODULE := gappsstub-unsigned
15 | LOCAL_SRC_FILES := gappsstub-unsigned.apk
16 | LOCAL_MODULE_CLASS := APPS
17 | LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
18 | LOCAL_CERTIFICATE := release
19 | include $(BUILD_PREBUILT)
20 |
--------------------------------------------------------------------------------
/gappstub/gappsstub.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidHal/android-auto-stub/17daf293dc48dff6780a78f05bdec8464eb1fc97/gappstub/gappsstub.apk
--------------------------------------------------------------------------------
/speechservicestub/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH := $(call my-dir)
2 |
3 | include $(CLEAR_VARS)
4 | LOCAL_MODULE_TAGS := optional
5 | LOCAL_MODULE := speechservicestub
6 | LOCAL_SRC_FILES := speech-services-stub.apk
7 | LOCAL_MODULE_CLASS := APPS
8 | LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
9 | LOCAL_CERTIFICATE := PRESIGNED
10 | include $(BUILD_PREBUILT)
11 |
12 | include $(CLEAR_VARS)
13 | LOCAL_MODULE_TAGS := optional
14 | LOCAL_MODULE := speechservicestub-unsigned
15 | LOCAL_SRC_FILES := speech-services-unsigned-stub.apk
16 | LOCAL_MODULE_CLASS := APPS
17 | LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
18 | LOCAL_CERTIFICATE := release
19 | include $(BUILD_PREBUILT)
20 |
--------------------------------------------------------------------------------
/speechservicestub/speech-services-stub.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SolidHal/android-auto-stub/17daf293dc48dff6780a78f05bdec8464eb1fc97/speechservicestub/speech-services-stub.apk
--------------------------------------------------------------------------------