I think that I am the last CyanogenMod Motorola Defy developer in the whole world. But if you plan to develop something for the old Motorola defy (aka jordan aka mb526) and your eclipse classpath is completely messed up, you can find a fixed “.classpath” in my GitHub repo. Simply download the “ide/eclipse/.classpath” file and put it in your project folder. It fixes all the FM Radio releated classes and libraries (fmradio, com.stericsson … etc etc): with this .classpath file you can use Eclipse in order to debug (on device) your mods.
My first CyanogenMod new (little) feature is born. Today I’ve finished the “Development shortcut” project. It enables the wipe data and application force close option in the recent tasks list and in the notification area. These options will be available only if the Development mode is enabled.
The first version is only for Motorola defy mb525 and is available on my github repo. I do a pull request to Quarx2k in order to merge my mod in his “official” Motorola repo.
The next step is to merge it in the official CM dev branch and submit it to gerrit review. But the first CyanogenmMod 10.2 M build is coming (this weekend) with the code freeze phase. I have to be quick!
I’m still waiting for my 9$ Arduino…some mistake in Hong Kong customs procedure has generated a huge delay in shipment.
But finally I found an “idea” for some Cyanogen development, and I want to share here the steps that I’m doing.
At work I’m working on a feature that requires frequent “Force stop” and “Clear data” during the debug and development phase. I want to improve the “Application info” popup menu on the notification area (long click on the app notification) in order to add two new item: “Force Stop” and “Clear data”.
- At the moment the Nexus S is not available, so I will use the ugliest android phone ever seen: the Motorola Defy (MB 526), aka “Jordan” – specs (From GSM arena)
- I will use the CyanogenMod fork by Quarx2k, based on Android JB 4.1.2 – XDA forum post
- My old development machine @ work – a Dell studio XPS with Ubuntu 12.04 LTS
Step 0 : setup the development environment
Simply follow the post on XDA forum. After a few hours you should have your standard build from JB sources
Step 1 : setup a new github repo
I need to modify the “frameworks/base” project, because the notification area sources are in “frameworks/base/packages/SystemUI” folder. Simply go to “https://github.com/Quarx2k/android_frameworks_base” and fork this repository. My forked repo location is “https://github.com/sarbyn/android_frameworks_base_jordan”
Now you need to add a “local_manifest.xml” in your .repo/local_manifests folder, in which you must define the new repository:
<?xml version="1.0" encoding="UTF-8"?> <manifest> <remove-project name="Quarx2k/android_frameworks/base"/> <project remote="github" path="frameworks/base" name="sarbyn/android_frameworks_base_jordan" revision="jellybean"/> </manifest>
A simple explanation (from CM wiki)
- remote — the name of the remote. this can be one that was defined in either the regular manifest or local_manifest.xml.
- name — the name of the git project– for github it has the format account_name/project_name.
- path — where the git repository should go in your local copy of the source code.
- revision — (OPTIONAL) which branch or tag to use in the repository.
Now you are ready to “repo sync” your source tree.
Step 2 : start editing
Before you change anything you need to start a new git branch. Go into the main project folder and do a “repo start banchname frameworks/base“. Now you are ready to modify the code in a new git branch.
Step 3 : build
When all the development is done, do a full build with the standard procedure
source build/envsetup.sh && brunch mb526 make -j# bacon
# represents double the cores you have on your computer
Step 4 : commit and push on github repo
Enter in frameworks/base and check the repo status with git status. Add all the modified files with the standard git add FILENAME and commit the changes with git commit -m ‘message’. Now you are ready to upload the new git branch on server git push -u github branch_name
Step 5 : backup & install
The last step is very simple: go into recovery mode and do a full Nandroid backup. After that you can flash your build and try if it works 🙂