[ROM][DISCONTINUED][12.1] crDroid for Xiaomi Mi A3 (laurel_sprout) [OFFICIAL] [BETA]

Search This thread

zlewchan

Senior Member
BE3pE0l.png

Code:
*** Disclaimer
I am not responsible for any damage you made to your device
You have been warned


crDroid is designed to increase performance and reliability over stock Android for your device also attempting to bringing many of the best features existent today


Features:
https://github.com/crdroidandroid/crdroid_features/blob/12.1/README.mkdn

Flashing Instructions:

Pre-installation:

First time installation:
  • Flash TWRP accordingly to instructions
  • Format data
  • Flash the zip either form internal storage or using adb sideload
  • Flash GApps if wanted
  • Reboot and enjoy!

Update installation:
  • Reboot to recovery
  • Navigate to Apply update -> apply from ADB
  • Flash the ROM using adb sideload
  • Reboot and enjoy!


Sources:
ROM: https://github.com/crdroidandroid
Kernel: Kernel

Download:
ROM Link

Known issues:
- None so far, you tell me


Visit official website @ crDroid.net
crDroid Community Telegram
crDroid Updates Channel
Donate to help our team pay server costs
 
Last edited:

thingonaspring

Senior Member
Mar 8, 2006
453
226
I really can't believe my luck. I picked up an MI A3 as a cheap replacement for a damaged MI A1, and during the process of setting up TWRP and getting full control of the device, this ROM gets released.

I need a lightweight secure system, and from what I've tested so far, this is absolutely the right base for me.

Thankyou to @zlewchan and all at crdroid who worked on the ROM.
 

thingonaspring

Senior Member
Mar 8, 2006
453
226
Not sure if I did something wrong, but using the recommended nikgapps, the clock app would crash every time, and google play/services would not connect (datetime was set correctly, certificates on websites like youtube worked just fine).

Factory-reset, followed by installing bitgapps https://www.pling.com/p/1462970/ - Build 12.0.0.R45 got the clock and all google services/sync working.

This really is a nice clean environment, just 19 apps installed in the base image, before gapps are added. Tested camera in photo/video, FMRadio is pre-installed and works great, tested compass, contact+calendar sync, and a bunch of 3rd party apps (element, signal, whatsapp.....).

Everything seems to work really well so far, and very fast+snappy to use.
 

papafan

Senior Member
Mar 12, 2016
124
18
61
Salonica
As I mentioned about in telegram group, the rom is very rich, but It has a bug with the location. Some apps that use location doesn't work, as the popdiary app and the zepp fit. Does anyone else has noticed the same?
 

zlewchan

Senior Member
I really can't believe my luck. I picked up an MI A3 as a cheap replacement for a damaged MI A1, and during the process of setting up TWRP and getting full control of the device, this ROM gets released.

I need a lightweight secure system, and from what I've tested so far, this is absolutely the right base for me.

Thankyou to @zlewchan and all at crdroid who worked on the ROM.
Glad to hear you enjoyed it!
 

thingonaspring

Senior Member
Mar 8, 2006
453
226
As I mentioned about in telegram group, the rom is very rich, but It has a bug with the location. Some apps that use location doesn't work, as the popdiary app and the zepp fit. Does anyone else has noticed the same?
I've just tested Strava (fitness tracker/GPS-logger) and yeah it's not got GPS at all.
I'm showing as being somewhere in Europe, which is true, but not very accurate.
 

thingonaspring

Senior Member
Mar 8, 2006
453
226
I don't have telegram, so instead I'm attaching log of strava attempting to use GPS here. I've checked the log to ensure there's no identifying info (MAC, UID, telno, name, etc) in there.

In this test, I switched to the strava app, with only coarse location configured (GPS-only) and press the "start" button multiple times, to no effect. I've also checked to ensure that the app has permission to access location prior to running the test.

Hmm, for some reason XDA forum silently fails attachments.
Next plan - quote the interesting bit in the logs.

Code:
05-09 14:59:53.815 I/AiAiEcho( 3441): New event: EchoSmartspaceEvent(targetId=0|com.strava|2131955054|null|102932022-05-09T13:59:53.574Z, smartspaceEventType=8, uiSurface=, cardCreationTime=2022-05-09T13:59:53.574Z, cardDeletionTime=2022-05-09T13:59:53.793Z, cardFeatureType=17, componentName=ComponentInfo{package_name/class_name}, userId=0, triggerTime=2022-05-09T13:59:53.814Z)
05-09 14:59:54.541 I/EventSequenceValidator( 1295): Transition from ACTIVITY_FINISHED to INTENT_STARTED
05-09 14:59:54.541 I/ActivityTaskManager( 1295): START u0 {act=android.content.pm.action.REQUEST_PERMISSIONS pkg=com.android.permissioncontroller cmp=com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity (has extras)} from uid 10293
05-09 14:59:54.566 I/EventSequenceValidator( 1295): Transition from INTENT_STARTED to ACTIVITY_LAUNCHED
05-09 14:59:54.571 W/ActivityTaskManager( 1295): Tried to set launchTime (0) < mLastActivityLaunchTime (2868558)
05-09 14:59:54.700 I/ActivityTaskManager( 1295): Displayed com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity: +152ms
05-09 14:59:54.704 V/GrantPermissionsViewModel( 2636): Permission grant result requestId=-5485954870872989867 callingUid=10293 callingPackage=com.strava permission=android.permission.ACCESS_FINE_LOCATION isImplicit=false result=2
05-09 14:59:54.704 V/GrantPermissionsViewModel( 2636): Permission grant result requestId=-5485954870872989867 callingUid=10293 callingPackage=com.strava permission=android.permission.ACCESS_COARSE_LOCATION isImplicit=false result=2
05-09 14:59:54.704 I/EventSequenceValidator( 1295): Transition from ACTIVITY_LAUNCHED to ACTIVITY_FINISHED
05-09 14:59:54.774 W/InputManager-JNI( 1295): Input channel object '1e9806d com.android.permissioncontroller/com.android.permissioncontroller.permission.ui.GrantPermissionsActivity (client)' was disposed without first being removed with the input manager!
05-09 14:59:54.816 W/Choreographer( 2636): Frame time is 0.168975 ms in the future!  Check that graphics HAL is generating vsync timestamps using the correct timebase.
05-09 14:59:54.904 I/ActivityTaskManager( 1295): START u0 {act=android.content.pm.action.REQUEST_PERMISSIONS pkg=com.android.permissioncontroller cmp=com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity (has extras)} from uid 10293
05-09 14:59:54.905 I/EventSequenceValidator( 1295): Transition from ACTIVITY_FINISHED to INTENT_STARTED
05-09 14:59:54.916 I/EventSequenceValidator( 1295): Transition from INTENT_STARTED to ACTIVITY_LAUNCHED
05-09 14:59:54.919 W/ActivityTaskManager( 1295): Tried to set launchTime (0) < mLastActivityLaunchTime (2883931)
05-09 14:59:55.019 I/ActivityTaskManager( 1295): Displayed com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity: +106ms
05-09 14:59:55.026 I/EventSequenceValidator( 1295): Transition from ACTIVITY_LAUNCHED to ACTIVITY_FINISHED
05-09 14:59:55.047 V/GrantPermissionsViewModel( 2636): Permission grant result requestId=-3837907988320746839 callingUid=10293 callingPackage=com.strava permission=android.permission.ACCESS_FINE_LOCATION isImplicit=false result=2
05-09 14:59:55.047 V/GrantPermissionsViewModel( 2636): Permission grant result requestId=-3837907988320746839 callingUid=10293 callingPackage=com.strava permission=android.permission.ACCESS_COARSE_LOCATION isImplicit=false result=2
05-09 14:59:55.093 W/InputManager-JNI( 1295): Input channel object '2bd6ab9 com.android.permissioncontroller/com.android.permissioncontroller.permission.ui.GrantPermissionsActivity (client)' was disposed without first being removed with the input manager!
05-09 14:59:55.149 W/Choreographer( 2636): Frame time is 0.156635 ms in the future!  Check that graphics HAL is generating vsync timestamps using the correct timebase.
05-09 14:59:55.179 I/EventSequenceValidator( 1295): Transition from ACTIVITY_FINISHED to INTENT_STARTED
05-09 14:59:55.180 I/ActivityTaskManager( 1295): START u0 {act=android.content.pm.action.REQUEST_PERMISSIONS pkg=com.android.permissioncontroller cmp=com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity (has extras)} from uid 10293
05-09 14:59:55.195 I/EventSequenceValidator( 1295): Transition from INTENT_STARTED to ACTIVITY_LAUNCHED
05-09 14:59:55.203 W/ActivityTaskManager( 1295): Tried to set launchTime (0) < mLastActivityLaunchTime (2884278)
05-09 14:59:55.224 I/InputDispatcher( 1295): Not sending touch event to 5d6ca49 com.strava/com.strava.recordingui.RecordActivity because it is paused
05-09 14:59:55.224 I/InputDispatcher( 1295): Dropping event because there is no touchable window or gesture monitor at (393, 1345) in display 0.
05-09 14:59:55.290 I/InputDispatcher( 1295): Dropping event because there is no touched foreground window in display 0 or gesture monitor to receive it.
05-09 14:59:55.302 I/EventSequenceValidator( 1295): Transition from ACTIVITY_LAUNCHED to ACTIVITY_FINISHED
05-09 14:59:55.306 I/ActivityTaskManager( 1295): Displayed com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity: +113ms
05-09 14:59:55.315 V/GrantPermissionsViewModel( 2636): Permission grant result requestId=8120416894242169497 callingUid=10293 callingPackage=com.strava permission=android.permission.ACCESS_FINE_LOCATION isImplicit=false result=2
05-09 14:59:55.315 V/GrantPermissionsViewModel( 2636): Permission grant result requestId=8120416894242169497 callingUid=10293 callingPackage=com.strava permission=android.permission.ACCESS_COARSE_LOCATION isImplicit=false result=2
05-09 14:59:55.378 W/InputManager-JNI( 1295): Input channel object '2f1b72f com.android.permissioncontroller/com.android.permissioncontroller.permission.ui.GrantPermissionsActivity (client)' was disposed without first being removed with the input manager!
05-09 14:59:55.407 I/InputDispatcher( 1295): Dropping event because there is no touched foreground window in display 0 or gesture monitor to receive it.
05-09 14:59:55.416 W/Choreographer( 2636): Frame time is 0.213237 ms in the future!  Check that graphics HAL is generating vsync timestamps using the correct timebase.
05-09 14:59:55.552 I/EventSequenceValidator( 1295): Transition from ACTIVITY_FINISHED to INTENT_STARTED
05-09 14:59:55.552 I/ActivityTaskManager( 1295): START u0 {act=android.content.pm.action.REQUEST_PERMISSIONS pkg=com.android.permissioncontroller cmp=com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity (has extras)} from uid 10293
05-09 14:59:55.564 I/EventSequenceValidator( 1295): Transition from INTENT_STARTED to ACTIVITY_LAUNCHED
05-09 14:59:55.569 W/ActivityTaskManager( 1295): Tried to set launchTime (0) < mLastActivityLaunchTime (2884563)
05-09 14:59:55.681 I/ActivityTaskManager( 1295): Displayed com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity: +124ms
 

zlewchan

Senior Member
I don't have telegram, so instead I'm attaching log of strava attempting to use GPS here. I've checked the log to ensure there's no identifying info (MAC, UID, telno, name, etc) in there.

In this test, I switched to the strava app, with only coarse location configured (GPS-only) and press the "start" button multiple times, to no effect. I've also checked to ensure that the app has permission to access location prior to running the test.

Hmm, for some reason XDA forum silently fails attachments.
Next plan - quote the interesting bit in the logs.

Code:
05-09 14:59:53.815 I/AiAiEcho( 3441): New event: EchoSmartspaceEvent(targetId=0|com.strava|2131955054|null|102932022-05-09T13:59:53.574Z, smartspaceEventType=8, uiSurface=, cardCreationTime=2022-05-09T13:59:53.574Z, cardDeletionTime=2022-05-09T13:59:53.793Z, cardFeatureType=17, componentName=ComponentInfo{package_name/class_name}, userId=0, triggerTime=2022-05-09T13:59:53.814Z)
05-09 14:59:54.541 I/EventSequenceValidator( 1295): Transition from ACTIVITY_FINISHED to INTENT_STARTED
05-09 14:59:54.541 I/ActivityTaskManager( 1295): START u0 {act=android.content.pm.action.REQUEST_PERMISSIONS pkg=com.android.permissioncontroller cmp=com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity (has extras)} from uid 10293
05-09 14:59:54.566 I/EventSequenceValidator( 1295): Transition from INTENT_STARTED to ACTIVITY_LAUNCHED
05-09 14:59:54.571 W/ActivityTaskManager( 1295): Tried to set launchTime (0) < mLastActivityLaunchTime (2868558)
05-09 14:59:54.700 I/ActivityTaskManager( 1295): Displayed com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity: +152ms
05-09 14:59:54.704 V/GrantPermissionsViewModel( 2636): Permission grant result requestId=-5485954870872989867 callingUid=10293 callingPackage=com.strava permission=android.permission.ACCESS_FINE_LOCATION isImplicit=false result=2
05-09 14:59:54.704 V/GrantPermissionsViewModel( 2636): Permission grant result requestId=-5485954870872989867 callingUid=10293 callingPackage=com.strava permission=android.permission.ACCESS_COARSE_LOCATION isImplicit=false result=2
05-09 14:59:54.704 I/EventSequenceValidator( 1295): Transition from ACTIVITY_LAUNCHED to ACTIVITY_FINISHED
05-09 14:59:54.774 W/InputManager-JNI( 1295): Input channel object '1e9806d com.android.permissioncontroller/com.android.permissioncontroller.permission.ui.GrantPermissionsActivity (client)' was disposed without first being removed with the input manager!
05-09 14:59:54.816 W/Choreographer( 2636): Frame time is 0.168975 ms in the future!  Check that graphics HAL is generating vsync timestamps using the correct timebase.
05-09 14:59:54.904 I/ActivityTaskManager( 1295): START u0 {act=android.content.pm.action.REQUEST_PERMISSIONS pkg=com.android.permissioncontroller cmp=com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity (has extras)} from uid 10293
05-09 14:59:54.905 I/EventSequenceValidator( 1295): Transition from ACTIVITY_FINISHED to INTENT_STARTED
05-09 14:59:54.916 I/EventSequenceValidator( 1295): Transition from INTENT_STARTED to ACTIVITY_LAUNCHED
05-09 14:59:54.919 W/ActivityTaskManager( 1295): Tried to set launchTime (0) < mLastActivityLaunchTime (2883931)
05-09 14:59:55.019 I/ActivityTaskManager( 1295): Displayed com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity: +106ms
05-09 14:59:55.026 I/EventSequenceValidator( 1295): Transition from ACTIVITY_LAUNCHED to ACTIVITY_FINISHED
05-09 14:59:55.047 V/GrantPermissionsViewModel( 2636): Permission grant result requestId=-3837907988320746839 callingUid=10293 callingPackage=com.strava permission=android.permission.ACCESS_FINE_LOCATION isImplicit=false result=2
05-09 14:59:55.047 V/GrantPermissionsViewModel( 2636): Permission grant result requestId=-3837907988320746839 callingUid=10293 callingPackage=com.strava permission=android.permission.ACCESS_COARSE_LOCATION isImplicit=false result=2
05-09 14:59:55.093 W/InputManager-JNI( 1295): Input channel object '2bd6ab9 com.android.permissioncontroller/com.android.permissioncontroller.permission.ui.GrantPermissionsActivity (client)' was disposed without first being removed with the input manager!
05-09 14:59:55.149 W/Choreographer( 2636): Frame time is 0.156635 ms in the future!  Check that graphics HAL is generating vsync timestamps using the correct timebase.
05-09 14:59:55.179 I/EventSequenceValidator( 1295): Transition from ACTIVITY_FINISHED to INTENT_STARTED
05-09 14:59:55.180 I/ActivityTaskManager( 1295): START u0 {act=android.content.pm.action.REQUEST_PERMISSIONS pkg=com.android.permissioncontroller cmp=com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity (has extras)} from uid 10293
05-09 14:59:55.195 I/EventSequenceValidator( 1295): Transition from INTENT_STARTED to ACTIVITY_LAUNCHED
05-09 14:59:55.203 W/ActivityTaskManager( 1295): Tried to set launchTime (0) < mLastActivityLaunchTime (2884278)
05-09 14:59:55.224 I/InputDispatcher( 1295): Not sending touch event to 5d6ca49 com.strava/com.strava.recordingui.RecordActivity because it is paused
05-09 14:59:55.224 I/InputDispatcher( 1295): Dropping event because there is no touchable window or gesture monitor at (393, 1345) in display 0.
05-09 14:59:55.290 I/InputDispatcher( 1295): Dropping event because there is no touched foreground window in display 0 or gesture monitor to receive it.
05-09 14:59:55.302 I/EventSequenceValidator( 1295): Transition from ACTIVITY_LAUNCHED to ACTIVITY_FINISHED
05-09 14:59:55.306 I/ActivityTaskManager( 1295): Displayed com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity: +113ms
05-09 14:59:55.315 V/GrantPermissionsViewModel( 2636): Permission grant result requestId=8120416894242169497 callingUid=10293 callingPackage=com.strava permission=android.permission.ACCESS_FINE_LOCATION isImplicit=false result=2
05-09 14:59:55.315 V/GrantPermissionsViewModel( 2636): Permission grant result requestId=8120416894242169497 callingUid=10293 callingPackage=com.strava permission=android.permission.ACCESS_COARSE_LOCATION isImplicit=false result=2
05-09 14:59:55.378 W/InputManager-JNI( 1295): Input channel object '2f1b72f com.android.permissioncontroller/com.android.permissioncontroller.permission.ui.GrantPermissionsActivity (client)' was disposed without first being removed with the input manager!
05-09 14:59:55.407 I/InputDispatcher( 1295): Dropping event because there is no touched foreground window in display 0 or gesture monitor to receive it.
05-09 14:59:55.416 W/Choreographer( 2636): Frame time is 0.213237 ms in the future!  Check that graphics HAL is generating vsync timestamps using the correct timebase.
05-09 14:59:55.552 I/EventSequenceValidator( 1295): Transition from ACTIVITY_FINISHED to INTENT_STARTED
05-09 14:59:55.552 I/ActivityTaskManager( 1295): START u0 {act=android.content.pm.action.REQUEST_PERMISSIONS pkg=com.android.permissioncontroller cmp=com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity (has extras)} from uid 10293
05-09 14:59:55.564 I/EventSequenceValidator( 1295): Transition from INTENT_STARTED to ACTIVITY_LAUNCHED
05-09 14:59:55.569 W/ActivityTaskManager( 1295): Tried to set launchTime (0) < mLastActivityLaunchTime (2884563)
05-09 14:59:55.681 I/ActivityTaskManager( 1295): Displayed com.android.permissioncontroller/.permission.ui.GrantPermissionsActivity: +124ms
Hello, If you're using GMS, please try to grant location permission to Play Services.
 

thingonaspring

Senior Member
Mar 8, 2006
453
226
Yep I'm using GMS, but attempting to grant location access to google play services doesn't work unfortunately.

Instead the permissions part of the settings app points out that play services is a provider of location services, rather than a client.

That requestor prompts the user to the "location" section of the settings app, which shows strava as a user of location "when the app is open", but not much else that's helpful.
 

papafan

Senior Member
Mar 12, 2016
124
18
61
Salonica
I did have that issue, see above.

Fixed by factory reset and install bitgapps instead.
https://www.pling.com/p/1462970/ - Build 12.0.0.R45 got all google services/sync working

I did have that issue, see above.

Fixed by factory reset and install bitgapps instead.
https://www.pling.com/p/1462970/ - Build 12.0.0.R45 got all google services/sync working.
Did you solve the location problem installing this gapps file? Because I have location problems in two apps.
 

thingonaspring

Senior Member
Mar 8, 2006
453
226
Did you solve the location problem installing this gapps file? Because I have location problems in two apps.
I've not found a way to fix GPS yet no. Tried the obvious things like installing gps.conf to /etc, and adding a permissions file to /etc/permissions, but no joy.
Really I think we just await a new build. i'm using this rom daily and can't fault anything else about it, just there's no ability to use "coarse location" using gps.
 
  • Like
Reactions: papafan

Top Liked Posts