[HOW TO] Build AOSP based (4.2.x) Roms for i9305
In this thread I will be compiling a list of tricks and techniques that I use to build roms for our phone.
I am not a developer, so some of the fixes in this may be bandaid-y and I may not be able to help will all errors, but I will post fixes for those that I have encountered.
[u] This thread is a WIP and will be updated as I receive questions and encounter problems myself. This hopefully will be a good source of knowledge for those who are interested in compiling other roms for our phone, and from this hopefully we will see some more roms developed.
First of all, the device trees. Thanks to codewerx, who has generously created a device tree we can use for our phone.
I would like to link you to the following guide, which instructs you on how to build AOSPA (formerly Paranoid Android).
You can follow this guide verbatim, as it is mostly laid out for i9300, however we must add this to the Manifest.xml rather than what he has provided.
<project name="teamhacksung/android_device_samsung_i9305" path="device/samsung/i9305" remote="gh" revision="cm-10.1" />
<project name="CyanogenMod/android_device_samsung_smdk4412-common" path="device/samsung/smdk4412-common" remote="gh" revision="cm-10.1" />
<project name="CyanogenMod/android_kernel_samsung_smdk4412" path="kernel/samsung/smdk4412" remote="gh" revision="cm-10.1" />
<project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="gh" revision="cm-10.1" />
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="gh" revision="cm-10.1" />
<project name="teamhacksung/proprietary_vendor_samsung_i9305" path="vendor/samsung/i9305" remote="gh" revision="cm-10.1" />
Check to see if any of these are already in your manifest, and remove them if they are.
To make sure that the correct RIL for phone support is included,
1. Navigate to your frameworks/opt/telephony folder.
2. Open a shell session in this folder.
3. Apply this change by codewerx http://review.cyanogenmod.org/#/c/31703/
4. Typing the following into terminal
[code]git fetch http://review.cyanogenmod.org/CyanogenMod/android_frameworks_opt_telephony refs/changes/03/31703/1 && git cherry-pick FETCH_HEAD/[code]
If you encounter the following error:
make: *** No rule to make target `/home/sam/RootBox/out/target/product/i9305/obj/SHARED_LIBRARIES/libTVOut_intermediates/export_includes', needed by `/home/sam/RootBox/out/target/product/i9305/obj/EXECUTABLES/mediaserver_intermediates/import_includes'. Stop.
Navigate to vendor/samsung/smdk4412-common/proprietary, and open Android.mk
The reason we get this error is because the propietary files are not copied over properly, so we must edit the line in Android.mk which resembles
ifneq ($(filter i9300 n7100 n8000 n8013,$(TARGET_DEVICE)),)
ifneq ($(filter i9300 i9305 n7100 n8000 n8013,$(TARGET_DEVICE)),)