Welcome to Our Website!

As usual, these notes are primarily concerned with my HTC ReZound. Which as of June 2nd, 2014 'I' became the proud OP of our dedicated CyanogenMod Site. Which can be found at:
        (ROM)(4.4.3)(UNOFFICIAL)CyanogenMod 11.0(mm-dd-yy)(GPL)(HYBRID).
The date in the Title changes with each new Build. But the IP address remains the same.

Warning
Now then, ANYTHING, that I say -or- I quote in this document is as correct as possible AT THE TIME IT WAS SAID -OR- QUOTED. This has been one hell-of-a learning experience. -AND- some of the people I quote were also learning. -AND- low and behold we are humans -and- mistakes are sometimes made. THEREFORE... CHECK AND DOUBLE CHECK ANYTHING THAT IS ON THIS WEB PAGE -BEFORE- YOU USE IT.
The instructions -and- information in this guide are intended for use with the
HTC ReZound. Applying these instructions on another device or model may, and probably will, produce undesired outcomes.

Mint install

 From Bunchies - June 20th, 2014/4:30am  Morning and Yeup, I already release a 4.4.4 update for LS. And I keep track of android stuff on xda, androidpolice.com or http://www.phonearena.com/ Great sites Cm looks completely merged, most of the updates looked as if they were pulled straight from Google source Nothing exciting happens on the ROM side

  Setup Notes

 ccache  This step is optional, but can offer significant performance gains while compiling, by using ccache (a compiler cache tool), which caches the output of the compiler, to save time when compiling a file which has not been changed since the last compile.

To enable ccache, edit your ~/.bashrc or ~/.profile file (or equivalent), and add the following line
         export USE_CCACHE=1    
After you log out and back in again, this change will take effect.
Refer: ccache

However, USE_CCACHE is set in the make.sh script that we/I am using.

   

  Initial Build Notes

First you need to decide how you are going to do it. What??   Vell... Ve have our vays.
Choices:

  • Brand new or to be like it??   Create or wipe the dir. Then repo sync
  • FULL Update??   make clobber   Then repo sync
  • Regular Update??   Just do a repo sync.
**** This one is for the Camera.
cd frameworks/av
git fetch https://github.com/vigor/android_frameworks_av cm-11.0 && git cherry-pick 1dd29957a2292c0398923ffff8e2aca47c5931ac

**** This one puts the CyanogenMod Wheels back in for the sign on.
cd vendor/cm
git revert --no-edit b71b47d72b129915327f41653b06edaea5008534 || retval=1

   

  Release Notes

  1. curl -T cm-11-yearmmdd-UNOFFICIAL-vigor.zip ftp://vp-zp.com/roms/iamtheonetheycallneo/cm11.0/vigor/ --user username:passwd
  2. curl -T cm-11-yearmmdd-UNOFFICIAL-vigor.zip.md5sum ftp://vp-zp.com/roms/iamtheonetheycallneo/cm11.0/vigor/ --user username:passwd
  3. curl -T boot.img ftp://vp-zp.com/roms/iamtheonetheycallneo/cm11.0/vigor/ --user username:passwd
  4. curl -T recovery.img ftp://vp-zp.com/roms/iamtheonetheycallneo/cm11.0/vigor/ --user username:passwd

These two commands were used to recover from a problem:
> repo forall -c git reset -hard HEAD

> git revert --no-edit SHA Number

   

  Debugging Notes


> cd TR-Debug
> adb logcat -c
> adb logcat >Camcorder.txt

  1. stty -ixon
  2. ReBoot the device
  3. ctaylor@dusty-tr2:~/Android/TR-Debug
    > adb devices
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    List of devices attached
    HT19PS20**** device
  4. Clear your Gallery from the previous tests ... IF any.
    > adb logcat -c --- Clear the logs
  5. Start up the Camera/Camcorder and do the first two recordings.
    Use the CyanogenMod camera NOT the Google one!!
    a. Put it in Video mode.
    b. Took first two and then got out of Camera and looked in Gallery. Both
    were crap!! I used portrait mode!! -But- we have two.
    c. Back in and this time start a log just before or at the same time we
    start the recording.
  6. > adb logcat -C >Camcorder.txt --- Everthing -and- in color.
  7. Stop recording and ^C.
  8. Now we want to do it again... only this time with some filtering.
    Repeat steps 2 thru 5 ... then do this:
    > adb logcat -C *:W >Camcorder-2.txt --- Filtered and in color. Extra couple of tries
    that would not work.
  9. Examine the files... just produced.

 July 23rd, 2014/8:41am   How to get & read a logcat/ Troubleshoot your own issues!
There are a few things that you need to know before you'll understand what is what.
Preceding every line in a logcat is a class, you can learn about them here.
These will look like this and I have placed the meaning next to each:

E/     Error - I would hope this is self explanatory
F/     Fatal Error - Again pretty self explanatory
I/     Information - This is pretty tricky, the information class shows what the system is doing, but it can also show you errors so read it carefully!
D/     Dalvikvm - This class will show what the dalvik processes are doing, but can also show you where mistakes are
W/     Warning - Warnings are basically errors, but less severe. Usually it will show you missing resources, conflicting or missing paths, etc...
V/     Verbose - Basically everything the phone is doing
S/     Silent - You will not see silent

The beautiful thing about these logs is that they tell you exactly what and where everything is, as long as you know what you're looking at.
I'm only going to use the one line to show you how to read a log, as the format is exactly the same for any class.

E/DropBoxManagerService(2014):  at com.android.server.am.ActivityManagerService.addErrorToDropBox(ActivityManagerService.java:8288)

So here we have the printed error from logcat, the format used is as follows
Class/Process/Location
Important! The log WILL NOT tell you what apk or jar the error occurs in, this is the hardest part of debugging!

In the above error we see
Class = E/
Process = DropBoxManagerService
Location = com.android.server.am.ActivityManagerService.addErrorToDropBox(ActivityManagerService.java:8288) (Folder directory.File Name. Method)

I know from all my digging that the specified path is in services.jar so once I have services.jar decompiled I'll follow the path laid out. (Decompile "apkname".odex for odexed roms and classes.dex for deodexed roms)
These paths will always be located in the smali folder! For example I open my classes.dex folder after decompiling and see a smali folder, I'll open that and then I have options. The . after every word is a folder directory ( same as / in your computer directory )
The specified path says com. so I'll open the com folder, next I'm directed to android, then server, then am folder.
Now I should see a bunch of files and possibly some folders, if there is no folder name that matches the next directory it is a file!
ActivityManagerService is a filename, so I'll open that file using NotePad++ and search for the specified method which is addErrorToDropBox.
From here I can use another file to compare the lines to find my error, or I can know exactly where the error occured and report my problem to a helpful dev or member.
How to Filter your Logcat

Lets say you want to find only the logs for a specific app or process, searching through thousands of lines can be a pain. Luckily, adb allows you to filter your logs based on application tags!
Here's how:
Code:
adb logcat ActivityManager:I MyApp:D *:S
This filter basically says "Show me only logs for ActivityManager at an Information or above level, and all logs for 'MyApp' with a priority level of Debug and higher" The *:S is important here, this makes all other tags Silent so that it ensures only the filtered tags are shown in your log.How's that for handy?

Demesg (kernel) Logs

For a demesg log you'll want to follow the same instructions as above to get into adb terminal.
Once there, type adb devices to verify you're connected. Now you can pull a log by simply typing "adb shell dmesg > dmesg.txt" (without the quotatons" This will place the logs in the same folder that you launched terminal from (platform-tools)

Google Debug Info

   

  Jose Notes

To create a new repository on git from your local repo. We are going to assume a few things, obviously your situation may differ, but principles are the same. Lets say you want to have your own vigor kernel for example, we will also use "MyGitRepo" as the git account username. There are 3 steps to complete this. You must make sure you are on a branch and that you do not have any open commits. You can do this by typing git branch, it will show you what branch you are on, if it says no branch we must create one. Lets use kitkat. Since there was no previous branch, we will type git checkout -b kitkat. This will create the branch and move us into that branch in one command. If the branch you wanted to use already existed then git checkout kitkat to move into that branch. Now, to make sure that you do not have any open commits, type git status. It should say nothing to commit and that your working on a clean directory. If all this is done, now we can start.

  1. Goto github and create a repo with nothing in it. For this example just plain kernel will do
  2. we should now make a remote to make it easier to push things in the future to github.
    git remote add mg http://github.com/MyGitRepo/kernel
  3. now all we have to do is to push our local files to the git repo using our remote.
    git push mg kitkat. enter your username and password when prompted

that's it, your new repository should now be current with your local repo

   

  XDA Notes

What is a Recognized Contributor?
Recognized Contributor is a role intended for members who produce some of the best original and helpful guides for users, as well as helping other users who have problems, in a friendly manner. Recognized Contributors will get a custom user title and the faster ad-free XDA template, as well as access to developer tools currently being created. Any Senior Moderator on XDA can add Recognized Contributors, should you feel deserving of this title.
What is a Recognized Themer?
Recognized Themers are those users who work (often tirelessly) on designing new theme graphics and user interface overhauls for ROMs. Users who aspire to be Recognized Themers should be creating original graphics work for their themes being released, demonstrate a commitment to crediting other users� work when applicable, and seek the relevant permission in advance from the original creator. Recognized Themers will receive a custom user title and the faster ad-free XDA template, as well as access to developer tools currently being created. Any Senior Moderator on XDA can add Recognized Themers, should you feel deserving of this title.

Member->Senior Member->RC/RT->RD->FSM->SM
go in that order:

  • Member
  • Senior Member
  • Recognized Contributor/Recognized Themer
  • Recognized Developer
  • Forum Specific Moderator
  • Senior Moderator

And we have OP - "Original Poster"... even though the person may not be. It is the default "Title" for the person in charge of the Thread. Also means "Original Post"

  [Clarification] Development ~ Original Development  

   

  Neo Camera notes

hey so guys you all know i do crap the hard way is there a simpler way to just grab the commit for frameworks av for camera instead of me manually adding it for every single figgen rom like is it cherry pickable Reven

It's cherry-pickable for CM You are gonna have to do some code work to make it work with other rom av repos What you could do though, is push it to it's own separate branch on your personal git once you've made it Neo

what if the rom is cm based? Reven

then it may still work? If it doesn't, diff the changes and figure out how to make it work then push it to it's own branch on your git under whatever the rom is called so you'll know to use it next time Neo

what you do is attempt the pick if it fails, do a git status the files in red will be listed as the problematic files so git reset --hard then, pull the unmodified files that were considered a problem aside (to be worked on) and then attempt the cherry-pick again once it errors like before, compare my changes in the cherry-pick from github with your current unmodified file then make the changes manually once the changes are made, drop the files where they originally were, then git commit -a the commit message will indicate that however many files had a problem. Just delete that message (or not) and commit then push it to your github for that specific rom on it's own branch for use later so you won't have to do all the code work in the future Neo

so what would be the code for this commit heres the sha 1dd29957a2292c0398923ffff8e2aca47c5931ac to attempt the pick Reven

did you attempt to do the cherry pick for your frameworks/av? Neo nah Reven

It will be the same cherry-pick attempt git fetch https://github.com/vigor/android_frameworks_av cm-11.0 && git cherry-pick 1dd29957a2292c0398923ffff8e2aca47c5931ac or something like that I just typed that up but it should be on our github If it goes clean, then great. if not, do a git status Neo then list the problem files (which will show as red)

didnt give an error Reven good :-) then you're lucky Neo

do i need to do anything before attempting to build Reven

Reven:
ihave a m7 user wants to build sense

Neo:
Build as in??

Reven:
i told him i knew shit about making sense roms

Neo:
Take the latest full RUU, throw it through the kitchen and turn it into a Rom. Deodex, zipalign, add init.d support, and you're good to go Then you can use VTS to decompile and recompile anything and make changes to xml or smali files that would otherwise be encrypted