Use at your own risk - untested
I am not responsible for bricked devices.
Back up before doing anything
Compiled using the following device tree: https://github.com/CyanogenMod/android_device_sony_z3c
Working:
Nothing, as far as I am concerned which is why you should use at your own risk.Not Working:
Everything, as far as I am concerned which is why you should use at your own risk.
The commands I used to make zip package was:
Code:
. build/envsetup.sh
lunch
make bacon
(Brunch and Breakfast are for official devices only, I believe)
Local Manifest includes:
Code:
<project name="CyanogenMod/android_device_sony_z3c" path="device/sony/z3c" remote="github" />
<project name="CyanogenMod/android_device_sony_shinano-common" path="device/sony/shinano-common" remote="github" />
<project name="CyanogenMod/android_kernel_sony_msm8974" path="kernel/sony/msm8974" remote="github" />
<project name="CyanogenMod/android_device_sony_qcom-common" path="device/sony/qcom-common" remote="github" />
<project name="CyanogenMod/android_device_sony_common" path="device/sony/common" remote="github" />
<project name="CyanogenMod/android_device_sony_msm8974-common" path="device/sony/msm8974-common" remote="github" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" />
File can be found in Downloads Tab
And,
Mirror: AndroidFileHost
XDA:DevDB Information
ROM compilation, ROM for the Sony Xperia Z3 Compact
Contributors
m0d
Thank you to Kali- and chirayudesai for setting up device tree at: android_device_sony_z3c
And, thank you to the people who spared the time in correcting my silly mistakes, and for responding to my even sillier questions.
ROM OS Version: 5.0.x Lollipop
Version Information
Status: Testing
Created 2014-12-15
Last Updated 2014-12-17
No clue how you managed to build, I've been trying for days!
Anyhow, booted it up and it restarts repeatedly at the 'starting system apps' stage. Here's a logcat:
Code:
https://bpaste.net/show/6aaa730e0985
---------- Post added at 07:42 PM ---------- Previous post was at 07:37 PM ----------
Gairtial said:
No clue how you managed to build, I've been trying for days!
Anyhow, booted it up and it restarts repeatedly at the 'starting system apps' stage. Here's a logcat:
Code:
https://bpaste.net/show/6aaa730e0985
Click to expand...
Click to collapse
I should also mention that the installation initially failed. The device calls itself 'aries', not 'd5803'. Had to modify the script in the ZIP before flashing.
Gairtial said:
No clue how you managed to build, I've been trying for days!
Click to expand...
Click to collapse
Magic!
But, there is no magic.
Send me your build error,
And also the error for show commands and I will try to help.
As that is the secret. In programming I come to find more and more that there is no better place to go than an actual person - not all errors are documented and some strange things happen for no apparent reason, or so one thinks.
Gairtial said:
I should also mention that the installation initially failed. The device calls itself 'aries', not 'd5803'. Had to modify the script in the ZIP before flashing.
Click to expand...
Click to collapse
Yes, someone mentioned that before.
Not sure where to look.
I did find this in BoardConfig.mk,
Code:
# Assert
TARGET_OTA_ASSERT_DEVICE := D5803,D5833,z3c
And, in init.sony.usb.rc - this:
Code:
on boot
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
write /sys/class/android_usb/android0/iProduct ${ro.product.model}
The problem is sony calls the device aries, the code for the device is d5803, and the device tree by cm12 is z3c.
I like z3c but if anyone knows where, maybe one of the mk files, to make the changes?
Any help appreciated. I am learning as I go and as I said above:
Thank you to the people who take the time to correct my silly mistakes, and for responding to my even sillier questions
Click to expand...
Click to collapse
I only compiled device tree, no changes as of yet, other than small fixes for compilation.
m0d said:
Magic!
But, there is no magic.
Send me your build error,
And also the error for show commands and I will try to help.
As that is the secret. In programming I come to find more and more that there is no better place to go than an actual person - not all errors are documented and some strange things happen for no apparent reason, or so one thinks.
Click to expand...
Click to collapse
The build errors started with libtime_genoff.so being missing from the output directory so I manually copied it over and it continued on fine.
There were some issues with AAPT but I manually fixed those (and submitted patches for review to Gerrit).
Just waiting for the build to complete now. Are you on IRC/Hangouts or something? Mind if I PM you so we can talk a little more freely?
m0d said:
Magic!
But, there is no magic.
Send me your build error,
And also the error for show commands and I will try to help.
As that is the secret. In programming I come to find more and more that there is no better place to go than an actual person - not all errors are documented and some strange things happen for no apparent reason, or so one thinks.
Yes, someone mentioned that before.
Not sure where to look.
I did find this in BoardConfig.mk,
Code:
# Assert
TARGET_OTA_ASSERT_DEVICE := D5803,D5833,z3c
And, in init.sony.usb.rc - this:
Code:
on boot
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer}
write /sys/class/android_usb/android0/iProduct ${ro.product.model}
The problem is sony calls the device aries, the code for the device is d5803, and the device tree by cm12 is z3c.
I like z3c but if anyone knows where, maybe one of the mk files, to make the changes?
Any help appreciated. I am learning as I go and as I said above:
I only compiled device tree, no changes as of yet, other than small fixes for compilation.
Click to expand...
Click to collapse
Check your build.prop in your compiled build folder (/system) and look for the variables below:
"ro.product.device" "ro.build.product"
If you want to change the values, mount your system.img, make your changes and make new .img
(PM me if you need help with this..)
it's not hard to delect the first sentence in updater-script in zip,then we could get it flashed
Okay, did my own build using similar instructions and came up with the following issues:
libtime_genoff.so wasn't copied during the build process, manually copying required manually copying a second time after the build.
DPI was first set to 480 in build.prop. Reset it to 320 through ADB after booting and it works fine
On the first boot the modem appeared to work (connected to my network), on the second it did not. Nothing I can understand in ADB that's relevant.
Wifi appears to work properly
Camera crashes
GPS error message:
Code:
D/LocSvc_utils_cfg( 5088): D/loc_read_conf: using /etc/gps.conf
D/LocSvc_utils_cfg( 5088): D/loc_set_config_entry: PARAM DEBUG_LEVEL = 2
E/gpsone_dmn( 5088): gpsone_glue_pipeget:46] /data/misc/gsiff_ctrl_q, mode = 2
E/gpsone_dmn( 5088): gpsone_glue_pipeget:50] pipe_name: /data/misc/gsiff_ctrl_q failed: 13
E/gsiff_dmn( 5088): W/gsiff_dmn_init: Unable to initialize Message Queue!
E/gsiff_dmn( 5088): W/gsiff_loc_api_close: Improperly closing Loc API Client!
E/gsiff_dmn( 5088): W/gsiff_dmn_destroy: Could not destroy loc api!
E/gsiff_sp_glue( 5088): W/sp_destroy: Sensor provider not initialized. Sensor provider = 0
E/gsiff_dmn( 5088): W/gsiff_dmn_destroy: Could not destroy sensor provider rc = 0!
E/gpsone_dmn( 5088): gpsone_glue_piperemove:92] fd = -1, /data/misc/gsiff_ctrl_q
E/LocSvc_utils_ll( 5088): W/linked_list_destroy: Invalid list parameter!
F/libc ( 5088): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x8 in tid 5088 (gsiff_daemon)
I/DEBUG ( 263): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 263): Build fingerprint: 'Sony/D5803/D5803:4.4.4/23.0.A.2.105/lvf_Rw:user/release-keys'
I/DEBUG ( 263): Revision: '0'
I/DEBUG ( 263): ABI: 'arm'
I/DEBUG ( 263): pid: 5088, tid: 5088, name: gsiff_daemon >>> /system/bin/gsiff_daemon <<<
I/DEBUG ( 263): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8
W/NativeCrashListener( 732): Couldn't find ProcessRecord for pid 5088
I/DEBUG ( 263): r0 00000008 r1 93475f55 r2 93475f55 r3 93475f55
E/DEBUG ( 263): AM write failure (32 / Broken pipe)
I/DEBUG ( 263): r4 00000008 r5 b4f539a4 r6 00000000 r7 b4f539a0
I/DEBUG ( 263): r8 00000003 r9 b6f9a098 sl 00000001 fp b6f94da0
I/DEBUG ( 263): ip b6c5dfbc sp be91f9b8 lr b6f116d1 pc b6f115b6 cpsr 600f0030
I/DEBUG ( 263):
I/DEBUG ( 263): backtrace:
I/DEBUG ( 263): #00 pc 000145b6 /system/lib/libc.so (pthread_mutex_trylock+3)
I/DEBUG ( 263): #01 pc 000146cd /system/lib/libc.so (pthread_mutex_destroy+4)
I/DEBUG ( 263): #02 pc 00002157 /system/lib/libgps.utils.so (msg_q_destroy+66)
I/DEBUG ( 263): #03 pc 00001a85 /system/bin/gsiff_daemon
I/DEBUG ( 263): #04 pc 00002af3 /system/bin/gsiff_daemon
I/DEBUG ( 263): #05 pc 0000fbb9 /system/lib/libc.so (__libc_init+44)
I/DEBUG ( 263): #06 pc 00001968 /system/bin/gsiff_daemon
I/DEBUG ( 263):
I/DEBUG ( 263): Tombstone written to: /data/tombstones/tombstone_
Camera messages:
Code:
E/cacao ( 7380): 1459692 cacao_chokoball.cpp (4914) 9002 E [CKB] ckb preCompile fail. keymgr create credmgr context.
W/cacao ( 7380): 1459761 cacao_chokoball.cpp (4923) 9002 W [CKB] Post process preLoad(0xffffff90)
E/mm-camera-sensor( 297): sony_sensor_power_up:1138,error
E/mm-camera-sensor( 297): sony_sensor_power_up:1145,error
I/Adreno-EGL( 7613): <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: RGURRAM_AU_LINUX_ANDROID_LNX.LA.3.5.2.2_RB1.04.04.04.087.030+PATCH[ES]_msm8974_LNX.LA.3.5.2.2_RB1__release_ENGG ()
I/Adreno-EGL( 7613): OpenGL ES Shader Compiler Version: E031.24.00.15
I/Adreno-EGL( 7613): Build Date: 08/12/14 Tue
I/Adreno-EGL( 7613): Local Branch:
I/Adreno-EGL( 7613): Remote Branch: quic/LNX.LA.3.5.2.2_rb1
I/Adreno-EGL( 7613): Local Patches: 8b00bd16f3c1d9d35a2fa902df5e679888d2b2e3 Fixes an llvm crash with mini dEQP apk
I/Adreno-EGL( 7613): 38bad22e162dead4e008444520a0144c78a347bd Fixes a potential dEQP crash.
I/Adreno-EGL( 7613): ce345e1c45c2ae2d1fb2cb125c8d2574f1af5f95 Rev
I/OpenGLRenderer( 7613): Initialized EGL, version 1.4
D/OpenGLRenderer( 7613): Enabling debug mode 0
E/mm-camera( 297): cpp_module_set_clock_freq:1015] clk:133330000, dim:0, stream_type:0,
D/mm-camera( 297): mct_pipeline_process_set:command=800000e
E/cammw ( 7380): E: void* cammw_util_msg_cli_open(const char*, int32_t, cammw_util_msg_callbacks_t, uint32_t, cammw_any_t, uint32_t, cammw_any_t): connect err -1
E/cammw ( 7380): E: cammw_link_isp_cli_open: msg_cli_open fail
E/cammw ( 7380): E: cammw_camera_isp_create: isp create fail
E/cammw ( 7380): E: cammw_camera_open: isp socket create error
E/cammw ( 7380): E: cammw_camera_isp_destroy: invalid arg
E/cammw ( 7380): E: cammw_camera_sensor_destroy: invalid arg
E/cammw ( 7380): E: cammw_link_sensor_cli_close: invalid arg handle = 0x0
E/cammw ( 7380): E: cammw_err_t cammw_util_ashmem_free(cammw_buf_t*): Invalid Arg
E/cammw ( 7380): E: cammw_err_t cammw_util_ashmem_free(cammw_buf_t*): Invalid Arg
D/mm-camera( 297): mct_pipeline_process_set:command=800000b
D/mm-camera-sensor( 297): module_sensor_stop_session:700 session 1
E/cald ( 7380): 1463787 excal_system.cpp (221) 7891 E [EXC] Camera can't open.
E/cald ( 7380): 1463850 excal_system.cpp (447) 7891 E [EXC] system init is failed. General
E/cald ( 7380): 1463930 excal_comp_mgr.cpp (156) 7891 E [EXC] Unregister component: DebugMgr is not found
E/cald ( 7380): 1463984 excal_comp_mgr.cpp (156) 7891 E [EXC] Unregister component: BufMgr is not found
E/cald ( 7380): 1464037 excal_comp_mgr.cpp (156) 7891 E [EXC] Unregister component: DB is not found
I/cacao ( 7380): 1465315 pal.cpp (3383) 7891 I [INF] PAL_Delete
I/cald ( 7380): 1470629 cald_client.c (2051) 7891 I [INF] Cald_Client_Create
E/libcamera( 7380): failed to create Cald instance
E/libcamera( 7380): createInstance: failed startCamera
I/libcamera( 7380): HAL_openCameraHardware: X created hardware=0x0
E/CameraWrapper( 7380): vendor camera open fail
E/CameraClient( 7380): Could not open camera 0: -19
E/CameraClient( 7380): initialize: Camera 0: unable to initialize device: No such device (-19)
I/CameraClient( 7380): Destroying camera 0
D/NuPlayerDriver( 7380): reset(0xb460d040)
D/NuPlayerDriver( 7380): notifyResetComplete(0xb460d040)
D/NuPlayerDriver( 7380): reset(0xb460d1c0)
D/NuPlayerDriver( 7380): notifyResetComplete(0xb460d1c0)
W/CameraManager( 8386): Error querying camera device 0 for listing.
I/CameraService( 7380): getCameraCharacteristics: Switching to HAL1 shim implementation...
I/libcamera( 7380): HAL_getCameraInfo: E cameraId=1
I/libcamera( 7380): HAL_getCameraInfo: X
I/libcamera( 7380): HAL_getCameraInfo: E cameraId=1
I/libcamera( 7380): HAL_getCameraInfo: X
---------- Post added at 06:15 AM ---------- Previous post was at 06:06 AM ----------
Sorry, noticed a few things were out of date. in my tree. Previous post may not be correct. I'll be doing another build tonight after extracting vendor blobs and syncing properly and I'll post with more results.
Uploading new build I made with following:
I added to check for aries as well:
Code:
# Assert
TARGET_OTA_ASSERT_DEVICE := D5803,D5833,z3c,aries
Which updates update script to:
Code:
assert(getprop("ro.product.device") == "D5803" || getprop("ro.build.product") == "D5803" || getprop("ro.product.device") == "D5833" || getprop("ro.build.product") == "D5833" || getprop("ro.product.device") == "z3c" || getprop("ro.build.product") == "z3c" || getprop("ro.product.device") == "aries" || getprop("ro.build.product") == "aries" || abort("This package is for device: D5803,D5833,z3c,aries; this device is " + getprop("ro.product.device") + "."););
nelvinchi said:
Check your build.prop in your compiled build folder (/system) and look for the variables below:
"ro.product.device" "ro.build.product"
If you want to change the values, mount your system.img, make your changes and make new .img
(PM me if you need help with this..)
Click to expand...
Click to collapse
Build prop is not the problem, consistency is.
Code:
ro.product.name=D5803
ro.build.product=z3c
ro.product.device=z3c
CM uses the above. Sony uses aries.
So I guess checking for all three, and the variation(D5833) should work in the end.
jsscx said:
it's not hard to delect the first sentence in updater-script in zip,then we could get it flashed
Click to expand...
Click to collapse
No, but that is not ideal. It should check the for the correct device.
But, the problem is that there is no consistency so I guess checking for all four should do it - D5803,D5833,z3c,aries.
Gairtial said:
Okay, did my own build using similar instructions and came up with the following issues:
libtime_genoff.so wasn't copied during the build process, manually copying required manually copying a second time after the build.
DPI was first set to 480 in build.prop. Reset it to 320 through ADB after booting and it works fine
On the first boot the modem appeared to work (connected to my network), on the second it did not. Nothing I can understand in ADB that's relevant.
Wifi appears to work properly
Camera crashes
---------- Post added at 06:15 AM ---------- Previous post was at 06:06 AM ----------
[/COLOR]Sorry, noticed a few things were out of date. in my tree. Previous post may not be correct. I'll be doing another build tonight after extracting vendor blobs and syncing properly and I'll post with more results.
Click to expand...
Click to collapse
I am not sure if I had any problems with "libtime_genoff.so", I checked the proprietary files list and it is in none of them.
The aapt was fixed in a commit, z3c.mk is now
Code:
PRODUCT_AAPT_CONFIG := normal hdpi xhdpi
PRODUCT_AAPT_PREF_CONFIG := xhdpi
And it compiled fine.
DPI also had a commit to change to 320.
So doing a repo sync should fix those previous issues.
I believe there was an issue with proprietary files as the proprietary-files.txt has been updated.
And now I have no errors when extracting files, so maybe camera files now are getting tranferred.
Review with updated changes just for z3c - http://review.cyanogenmod.org/#/q/status:merged+project:CyanogenMod/android_device_sony_z3c,n,z
Maybe a commit will be needed to fix update script as mentioned above,
Code:
# Assert
TARGET_OTA_ASSERT_DEVICE := D5803,D5833,z3c,aries
I believe there is a pull request with that specific change as well.
Thank you all for responses
Added to OP:
Mirror: AndroidFileHost
Also,
Please submit feedback.
All issues are welcome
so here's quick test:
boot with animation,when the app starting screen lasts a few seconds,then restart.
https://www.dropbox.com/s/nfexgudos3bni87/1.txt?dl=0
jsscx said:
so here's quick test:
boot with animation,when the app starting screen lasts a few seconds,then restart.
https://www.dropbox.com/s/nfexgudos3bni87/1.txt?dl=0
Click to expand...
Click to collapse
The name of the zip package you used will be helpful, i.e. 20141215 or 20141219
19
jsscx said:
so here's quick test:
boot with animation,when the app starting screen lasts a few seconds,then restart.
https://www.dropbox.com/s/nfexgudos3bni87/1.txt?dl=0
Click to expand...
Click to collapse
Maybe @jerpelea could help as more than one person has been encountering this issue.
jsscx said:
19
Click to expand...
Click to collapse
Uploaded new build only on AFH,
Mirror: AndroidFileHostThe repo sync includes these commits,
http://review.cyanogenmod.org/#/c/82475/
http://review.cyanogenmod.org/#/c/82465/
I can confirm the issue with the start loop.
Get a starting apps message, then reverts back to CM bootanimation, does this in a loop, hard to hard shut down phone (Volume up and Power) to get it to turn off.
EDIT
- Also had to delete first line of updater script to get it to install
- The built in recovery still didn't let me install using 'apply' update, i had to use CWM 6.0.5.0 from AndroPlus Kernel to flash it
- Updater script recognized my device as 'Amami' when i don't have any reference to it in my build.prop, all value were D5803
Regards
spida_singh said:
I can confirm the issue with the start loop.
Get a starting apps message, then reverts back to CM bootanimation, does this in a loop, hard to hard shut down phone (Volume up and Power) to get it to turn off.
Regards
Click to expand...
Click to collapse
I had the same problem and I could not test the rom
spida_singh said:
EDIT
- Also had to delete first line of updater script to get it to install
- The built in recovery still didn't let me install using 'apply' update, i had to use CWM 6.0.5.0 from AndroPlus Kernel to flash it
- Updater script recognized my device as 'Amami' when i don't have any reference to it in my build.prop, all value were D5803
Regards
Click to expand...
Click to collapse
Not sure why it is recognizing your device as Amami.
I added 'aries' to the assert so it should work.
I am creating zip packages using "make bacon", by default CM uses CWM so it is not surprising that you must use CWM to flash it.
As for built-in recovery, I am not sure, as it gets created automatically with the build.
Maybe changes are needed.
spida_singh said:
I can confirm the issue with the start loop.
Get a starting apps message, then reverts back to CM bootanimation, does this in a loop, hard to hard shut down phone (Volume up and Power) to get it to turn off.
Click to expand...
Click to collapse
Burakki said:
I had the same problem and I could not test the rom
Click to expand...
Click to collapse
I may have found why 'com.qualcomm.location.apk' was crashing,
It seems devs are trying to move it from 'app' to 'priv-app':
Code:
-app/com.qualcomm.location.apk:priv-app/com.qualcomm.location/com.qualcomm.location.apk
Changing 'proprietary-files.txt' from the above to
Code:
-app/com.qualcomm.location.apk
might fix that issue.
Compiling with change to see if it works.
m0d said:
It seems devs are trying to move it from 'app' to 'priv-app'
Click to expand...
Click to collapse
Any reason behind why this is trying to be done? Hasn't it always been inside app?
someone755 said:
Any reason behind why this is trying to be done? Hasn't it always been inside app?
Click to expand...
Click to collapse
No, not sure.
On Stock ROM it is located in app; however, somewhere along the line CM devs are moving it to priv-app.
The change I made does not seem to make a difference and I can not seem to find where are they moving it to priv-app
Android.mk in 'vendor/sony/shinano-common'
Code:
include $(CLEAR_VARS)
LOCAL_MODULE := com.qualcomm.location
LOCAL_MODULE_OWNER := sony
[COLOR="SeaGreen"]LOCAL_SRC_FILES := proprietary/priv-app/com.qualcomm.location/com.qualcomm.location.apk[/COLOR]
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true
include $(BUILD_PREBUILT)
And, it is being copied to: out/target/product/z3c/system/priv-app/com.qualcomm.location
I am not sure if this is of any concern, but from the logs com.qualcomm.location.apk looks like the root of the issue as everything dies after it encounters:
Code:
E/installd( 269): DexInv: --- END '/system/priv-app/com.qualcomm.location/com.qualcomm.location.apk' --- status=0x0100, process failed
D/AndroidRuntime( 4634): Shutting down VM
E/AndroidRuntime( 4634): *** FATAL EXCEPTION IN SYSTEM PROCESS: main
I tested it's working great..
Just a heads up! Cyanogenmod now has an official nightly for the Sony Xperia Z3 compact.
You can download their nighty builds from here:
http://download.cyanogenmod.org/?device=z3c
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Code:
/* Disclaimer
* I am not responsible for bricked devices, dead SD cards, thermonuclear war,
* or you getting fired because the alarm app failed. Please do some research
* if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you blame me in any way for what happens to your device, I will laugh at you.
* BOOM! goes the dynamite
*/
About Project:
Citrus-CAF, unlike the name suggests, was initially based off CyanogenMod, in the early days of Marshmallow, we even had another name at that point. Later, taking into consideration feedbacks of the very first slew of testers and carefully studying the needs and demands of our users, we rebased the project to Code Aurora Sources, more commonly known as CAF. Time went by and Nougat released, and we decided that it was time, Citrus-CAF had to see the daylight. We rebased everything to the brank spanking Nougat released. Later we realized the true potential of CAF tags, how each of them altered the device performance on different SOCs. After a lot of thinking, we decided to keep different sources for difference SOCs in our git and hours of debugging later, the Xiaomi Redmi Note 3 was the first device to get a taste of our Tangy Nougat. In the beginning, it was just two people behind , but in time, a lot of people joined us, as each giving their own contibutions.
Citrus-CAF was built to create an amazing combination of customization, performance and most of the demanded features by our users, whereas we've Cardinal, to deliver minimal customizations, but the greatest stability!
Meanwhile, all of our Tangy sources are publicly available on our Github. We also do own a Google+ Community, where you can.... uhm... you know, do what all others do at forums and communities! (Just kidding, we got builds over there and a feature-wish bucket too ) Hope you enjoy your stay and taste the Tanginess of our work!
Out of lemon, with love!
NOTE: There's nothing like, "we've decided to keep the customizations minimum, so as to provide stock AOSP experience, but with necessary features", cause this isn't Cardinal. This is Citrus
**Custom Squash**
*QS and Status Bar tweaks*
- Battery percentage
- Battery Styles [Including AOSPA Style]
- Charging Symbol Near Charging Percentage [Flash Logo etc]
- Show AM/PM toggle
- Time alignment
- Battery LED (shows only if device supports)
- Lights with screen on (only if device supports)
- Play music QS,NFC,Reboot and many extra tile
- Moved SystemUI to Custom Squash
- Quick Setting Customizations[Toggle for QS Tile Titles ,Control number of columns and rows,upto 8 QS Tiles]
- Carrier label
- Network traffic
- Power Notification controls [By Default]
- Enable/Disable logo on Status Bar
- Ticker Style [KK Style Notifications]
- Display Bluetooth battery status
- Advanced Data, Bt, WiFi qs toggle
- notification counter toggle
- USB tether tile
- QS Header image
- Battery bar customisations
*UI Tweaks*
- Expanded Desktop
- Wake on Plug Toggle
- less notification sound
- Incresing ring
- Custom logos
- Unlink notification and ringer volume
- Qs Quick pull-down
- Enabled night light
- option to disable safe headsets
volume
- Screen Color Controls
- Screenshot Type Toggle
- Custom Squash Summary Text
- System App Remover
- Google Assistant included by default [Needs Gapps ]
*Buttons*
- DUI -Fling & Pulse
- Navigation Smart Bar controls
- Full Hardware key custom rebinding
- Disable HW Buttons and Backlight (Control Backlight as well)
- Volume Rocker Wake
- Volume keys Music Playback control
- Volume up for DND
- Volume Down to exit DND
- Show/Hide DND switch on volume panel
- Enable multiwindow swipe up gesture
*Lock Screen*
- Lockscreen visualizer toggle
- Double tap to sleep on lockscreen
- Lockscreen media art toggle
- Lockscreen Items
- Lockscreen Charging Info
- FP Unlock at start
- Lockscreen torch
- Enable/Disable haptic feedback for successful finger print authentication
*Misc*
- Toast Icon
- Custom Summary
- Clear All Fab
- Memory Bar at recents
- One Handed Mode
*Substratum*
- Full substratum support.
Downloads
Download Citrus-CAF Official Builds: https://sourceforge.net/projects/ci...-3.1-TANGERINE-OFFICIAL-20170430.zip/download
Download Dynamic GAPPS : https://telegram.me/dynamic_gapps
Download OpenGAPPS: https://opengapps.org
Flashing Instructions:
- Download ROM and GAPPS
- Reboot to recovery and Backup existing ROM
- Wipe System, Data, ART cache, Cache
- Flash ROM, Gapps and reboot...
Credits
CyanogenMod
Substratum
PureNexusProject
DirtyUnicorns
AOSP-RRO
AOSParadox
ASOPA
@recenz
Extreme apologies if we've missed out someone, please feel free to PM, in case we've forgotten to pin your name here!
FAQs:
Is this ROM based on AOSP or CM?
It's actually based on CAF
Does this ROM have CMTE or RRO-Layers?
None, we've Substratum on board!
<some random app> is forceclosing on my device, what should I do?
Report the issue with proper logs on our Google+ Community.!
How to take Logs ?
This video should help you - https://youtu.be/-LfT5Rt3p70
I would like to suggest a feature for this ROM?
Sure, post it under the "Feature Wish" section in our Google+ Community, though we're not planning on adding more features to this ROM, ATM. We'll certainly look into it.
Does the zip include SuperSU, or should I flash it separately?
Nup , user has to flash himself.
So, you guys, a part of Cardinal?
Aaah, yes! Yes we are!
So, I've this working build ready for an unsupported device. I would like to go official with it. What should I do?
Contact Rohit Poroli/Adarsh MR
So, how do I find out the latest updates, I mean, is there some kinda, a channel, apart from the Google+ Community?
Oh yes, there is. Head to @TheCitrusChannel on Telegram
Source Information:
Citrus-CAF on Github: https://github.com/Citrus-CAF
Device tree: https://github.com/Citrus-Seeds/
Kernel source: https://github.com/Citrus-Seeds/
Our Google+ Community: https://plus.google.com/communities/110928715574226998482
Our Telegram Channel:https://telegram.me/TheCitrusChannel
Our Telegram Group: https://t.me/CitrusCAF
Contributors
@Subham, @PhenomX1998, @Adarsh1998, @martinusbe
Source Code: https://github.com/Subhaam/android_device_oneplus_oneplus2
ROM OS Version: 7.x Nougat
ROM Kernel: Linux 3.10.x
ROM Firmware Required: 3.5.x
Based On: CAF
Version Information
Status: Stable
Created 2016-02-11
Last Updated 2017-04-15
Nice to see new caf based roms for oneplus 2:angel:
Awesomeness arrives to op2
Thanks dev.
Welcome. Always is nice to see new roms. Lets try this.
Volte working ?
satthak sharma said:
Volte working ?
Click to expand...
Click to collapse
yes oviously
Just installed. DPI by default set to 432 but can be changed in display settings..
Volte is working fine. Patch is of December, I guess due to CAF
Vibration intensity not present by default, one need to use kernal aduitor
Substratum needs to be tested yet
ROM is smooth and awesome. Battery life needs to be tested
Overall wonderful rom. Thanks cardinal team
If volte is working, it means we can keep oos 3.5.7 firmware then ?
mousse04 said:
If volte is working, it means we can keep oos 3.5.7 firmware then ?
Click to expand...
Click to collapse
Yes
---------- Post added at 12:25 PM ---------- Previous post was at 12:25 PM ----------
sbhas2k said:
Just installed. DPI by default set to 432 but can be changed in display settings..
Volte is working fine. Patch is of December, I guess due to CAF
Vibration intensity not present by default, one need to use kernal aduitor
Substratum needs to be tested yet
ROM is smooth and awesome. Battery life needs to be tested
Overall wonderful rom. Thanks cardinal team
Click to expand...
Click to collapse
Just change the display size instead
Very good rom! I have lost only 2% of battery overnight. The rom is also very smooth and stable.
Thanks dev!
Substratum themes are not working.
Error log below
» [com.cyanogenmod.settings.device]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.cyanogenmod.settings.device.Belo-signed.apk (Permission denied)
» [com.cyanogenmod.settings.device]: Installation of "com.cyanogenmod.settings.device" has failed.
» [com.android.inputmethod.latin]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.inputmethod.latin.Belo-signed.apk (Permission denied)
» [com.android.inputmethod.latin]: Installation of "com.android.inputmethod.latin" has failed.
» [android]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/android.Belo-signed.apk (Permission denied)
» [android]: Installation of "android" has failed.
» [com.android.calculator2]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.calculator2.Belo-signed.apk (Permission denied)
» [com.android.calculator2]: Installation of "com.android.calculator2" has failed.
» [com.android.server.telecom]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.server.telecom.Belo-signed.apk (Permission denied)
» [com.android.server.telecom]: Installation of "com.android.server.telecom" has failed.
» [com.android.contacts]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.contacts.Belo-signed.apk (Permission denied)
» [com.android.contacts]: Installation of "com.android.contacts" has failed.
» [com.android.emergency]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.emergency.Belo-signed.apk (Permission denied)
» [com.android.emergency]: Installation of "com.android.emergency" has failed.
» [com.android.documentsui]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.documentsui.Belo-signed.apk (Permission denied)
» [com.android.documentsui]: Installation of "com.android.documentsui" has failed.
» [com.google.android.gm]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.google.android.gm.Belo-signed.apk (Permission denied)
» [com.google.android.gm]: Installation of "com.google.android.gm" has failed.
» [com.google.android.googlequicksearchbox]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.google.android.googlequicksearchbox.Belo-signed.apk (Permission denied)
» [com.google.android.googlequicksearchbox]: Installation of "com.google.android.googlequicksearchbox" has failed.
» [com.android.vending]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.vending.Belo-signed.apk (Permission denied)
» [com.android.vending]: Installation of "com.android.vending" has failed.
» [com.google.android.gms]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.google.android.gms.Belo-signed.apk (Permission denied)
» [com.google.android.gms]: Installation of "com.google.android.gms" has failed.
» [com.google.android.tts]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.google.android.tts.Belo-signed.apk (Permission denied)
» [com.google.android.tts]: Installation of "com.google.android.tts" has failed.
» [com.google.android.apps.plus]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.google.android.apps.plus.Belo-signed.apk (Permission denied)
» [com.google.android.apps.plus]: Installation of "com.google.android.apps.plus" has failed.
» [com.android.packageinstaller]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.packageinstaller.Belo-signed.apk (Permission denied)
» [com.android.packageinstaller]: Installation of "com.android.packageinstaller" has failed.
» [com.google.android.dialer]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.google.android.dialer.Belo-signed.apk (Permission denied)
» [com.google.android.dialer]: Installation of "com.google.android.dialer" has failed.
» [com.android.dialer]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.dialer.Belo-signed.apk (Permission denied)
» [com.android.dialer]: Installation of "com.android.dialer" has failed.
» [com.android.phone]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.phone.Belo-signed.apk (Permission denied)
» [com.android.phone]: Installation of "com.android.phone" has failed.
» [com.android.settings]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.settings.Belo-signed.apk (Permission denied)
» [com.android.settings]: Installation of "com.android.settings" has failed.
» [com.android.storagemanager]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.storagemanager.Belo-signed.apk (Permission denied)
» [com.android.storagemanager]: Installation of "com.android.storagemanager" has failed.
» [eu.chainfire.supersu]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/eu.chainfire.supersu.Belo-signed.apk (Permission denied)
» [eu.chainfire.supersu]: Installation of "eu.chainfire.supersu" has failed.
» [com.android.systemui.headers]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.systemui.headers.Belo-signed.apk (Permission denied)
» [com.android.systemui.headers]: Installation of "com.android.systemui.headers" has failed.
» [com.android.systemui.navbars]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.systemui.navbars.Belo-signed.apk (Permission denied)
» [com.android.systemui.navbars]: Installation of "com.android.systemui.navbars" has failed.
» [com.whatsapp]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.whatsapp.Belo-signed.apk (Permission denied)
» [com.whatsapp]: Installation of "com.whatsapp" has failed.
» [projekt.substratum]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/projekt.substratum.Belo-signed.apk (Permission denied)
» [projekt.substratum]: Installation of "projekt.substratum" has failed.
sbhas2k said:
Substratum themes are not working.
Error log below
» [com.cyanogenmod.settings.device]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.cyanogenmod.settings.device.Belo-signed.apk (Permission denied)
» [com.cyanogenmod.settings.device]: Installation of "com.cyanogenmod.settings.device" has failed.
» [com.android.inputmethod.latin]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.inputmethod.latin.Belo-signed.apk (Permission denied)
» [com.android.inputmethod.latin]: Installation of "com.android.inputmethod.latin" has failed.
» [android]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/android.Belo-signed.apk (Permission denied)
» [android]: Installation of "android" has failed.
» [com.android.calculator2]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.calculator2.Belo-signed.apk (Permission denied)
» [com.android.calculator2]: Installation of "com.android.calculator2" has failed.
» [com.android.server.telecom]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.server.telecom.Belo-signed.apk (Permission denied)
» [com.android.server.telecom]: Installation of "com.android.server.telecom" has failed.
» [com.android.contacts]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.contacts.Belo-signed.apk (Permission denied)
» [com.android.contacts]: Installation of "com.android.contacts" has failed.
» [com.android.emergency]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.emergency.Belo-signed.apk (Permission denied)
» [com.android.emergency]: Installation of "com.android.emergency" has failed.
» [com.android.documentsui]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.documentsui.Belo-signed.apk (Permission denied)
» [com.android.documentsui]: Installation of "com.android.documentsui" has failed.
» [com.google.android.gm]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.google.android.gm.Belo-signed.apk (Permission denied)
» [com.google.android.gm]: Installation of "com.google.android.gm" has failed.
» [com.google.android.googlequicksearchbox]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.google.android.googlequicksearchbox.Belo-signed.apk (Permission denied)
» [com.google.android.googlequicksearchbox]: Installation of "com.google.android.googlequicksearchbox" has failed.
» [com.android.vending]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.vending.Belo-signed.apk (Permission denied)
» [com.android.vending]: Installation of "com.android.vending" has failed.
» [com.google.android.gms]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.google.android.gms.Belo-signed.apk (Permission denied)
» [com.google.android.gms]: Installation of "com.google.android.gms" has failed.
» [com.google.android.tts]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.google.android.tts.Belo-signed.apk (Permission denied)
» [com.google.android.tts]: Installation of "com.google.android.tts" has failed.
» [com.google.android.apps.plus]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.google.android.apps.plus.Belo-signed.apk (Permission denied)
» [com.google.android.apps.plus]: Installation of "com.google.android.apps.plus" has failed.
» [com.android.packageinstaller]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.packageinstaller.Belo-signed.apk (Permission denied)
» [com.android.packageinstaller]: Installation of "com.android.packageinstaller" has failed.
» [com.google.android.dialer]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.google.android.dialer.Belo-signed.apk (Permission denied)
» [com.google.android.dialer]: Installation of "com.google.android.dialer" has failed.
» [com.android.dialer]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.dialer.Belo-signed.apk (Permission denied)
» [com.android.dialer]: Installation of "com.android.dialer" has failed.
» [com.android.phone]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.phone.Belo-signed.apk (Permission denied)
» [com.android.phone]: Installation of "com.android.phone" has failed.
» [com.android.settings]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.settings.Belo-signed.apk (Permission denied)
» [com.android.settings]: Installation of "com.android.settings" has failed.
» [com.android.storagemanager]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.storagemanager.Belo-signed.apk (Permission denied)
» [com.android.storagemanager]: Installation of "com.android.storagemanager" has failed.
» [eu.chainfire.supersu]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/eu.chainfire.supersu.Belo-signed.apk (Permission denied)
» [eu.chainfire.supersu]: Installation of "eu.chainfire.supersu" has failed.
» [com.android.systemui.headers]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.systemui.headers.Belo-signed.apk (Permission denied)
» [com.android.systemui.headers]: Installation of "com.android.systemui.headers" has failed.
» [com.android.systemui.navbars]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.android.systemui.navbars.Belo-signed.apk (Permission denied)
» [com.android.systemui.navbars]: Installation of "com.android.systemui.navbars" has failed.
» [com.whatsapp]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/com.whatsapp.Belo-signed.apk (Permission denied)
» [com.whatsapp]: Installation of "com.whatsapp" has failed.
» [projekt.substratum]: APK could not be signed. java.io.FileNotFoundException: /storage/emulated/0/.substratum/projekt.substratum.Belo-signed.apk (Permission denied)
» [projekt.substratum]: Installation of "projekt.substratum" has failed.
Click to expand...
Click to collapse
you need to grant all permissions to substratum. go to settings > Apps > substratum and then click on permission and give all permissions to the app.
Once done, just go back to substratum and you will be successfully compiling themes.
hope it helped.
is hike working ok?
gr8techie said:
you need to grant all permissions to substratum. go to settings > Apps > substratum and then click on permission and give all permissions to the app.
Once done, just go back to substratum and you will be successfully compiling themes.
hope it helped.
Click to expand...
Click to collapse
Yes, it worked.. Thx
just one doubt the filesize is shown as 414 mb but when we download size is 395mb is it normal. Ihavent dwnloaded it yet.
theincredible2009 said:
just one doubt the filesize is shown as 414 mb but when we download size is 395mb is it normal. Ihavent dwnloaded it yet.
Click to expand...
Click to collapse
No problem just download and flash it....
Prinjal Dave said:
No problem just download and flash it....
Click to expand...
Click to collapse
Thanks will try it out soon
Is this the second true CAF ROM after Halogen?
System UI has stopped working, cant do anything flashed Opengapps NANO
TheWolfSVK said:
System UI has stopped working, cant do anything flashed Opengapps NANO
Click to expand...
Click to collapse
Try dynamic gaaps.. Link is in OP
sbhas2k said:
Try dynamic gaaps.. Link is in OP
Click to expand...
Click to collapse
Will try, thanks
I am doing it according to the website.
https://developer.sony.com/develop/open-devices/guides/aosp-build-instructions/build-aosp-android-p-9-0-0
terminal picture
https://imgur.com/a/t08GNrC
[ 97% 86508/88632] //frameworks/base/libs/hwui:libhwui link libhwui.so
Warning: request a ThreadPool with 1 threads, but LLVM_ENABLE_THREADS has been turned off
[ 97% 86509/88632] //frameworks/base/libs/hwui:libhwui link libhwui.so [arm]
Warning: request a ThreadPool with 1 threads, but LLVM_ENABLE_THREADS has been turned off
ninja: build stopped: subcommand failed.
20:00:42 ninja failed with: exit status 1
failed to build some targets (02:41:31 (hh:mm:ss))
Has anyone been able to figure this one out?
I even added "export LLVM_ENABLE_THREADS=1" to my .bashrc and nothing changed, still the same problem.
zagi988 said:
Has anyone been able to figure this one out?
I even added "export LLVM_ENABLE_THREADS=1" to my .bashrc and nothing changed, still the same problem.
Click to expand...
Click to collapse
Thanks, dude. "export LLVM_ENABLE_THREADS=1" works for me but not in the .bashrc
If it failed with same error, don't do anything and run "export LLVM_ENABLE_THREADS=1" then continue build the rom (type "make")
java.lang.OutOfMemory: Java heap space
I'm getting error while building Android 9
Exception in thread "main" Java.lang.OutOfMemory: Java heap space
ninja: build stopped: subcommand failed.
ninja failed with: exit status 1