[Q] How to build AOSP for new hardware. - Android Q&A, Help & Troubleshooting

My company has recently received some new android hardware and has requested that I create a custom operating system for the device. The manufacturer has agreed to provide us with the existing android source, but I have a few questions to get started:
On the following link: http://source.android.com/source/initializing.html
It states that I need to add lines similar to the below to my "51-android.rules" file:"
# adb protocol on maguro/toro (Galaxy Nexus)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0600", OWNER="<username>"
How do I determine the correct information to use for this process? Should I collect this information with the device connected to a windows PC?
Once connected, I would like to scrap their existing operating system and begin from AOSP source, what information from their original source should I retain (Kernel, bootloader, etc), and what information would I be required to remove to bring in AOSP?
I have found many guides which help me to answer these questions, but most seem to be specifying nexus devices, or devices which already have a strong developer backing, neither of which apply to this hardware.
Edit:
I think I've found the guide I'm going to use, if anyone is actually interested I will post my results of success or failure when we have received the source code.
Link: http://forum.xda-developers.com/showthread.php?t=1598713

maybe help
http://www.youtube.com/watch?v=1_H4AlQaNa0

Related

ROM for Accessory Development Kit

Hi XDA,
I am trying to make my Hero work with the Arduino Mega ADK (Accessory Development Kit), but it never detects it.
The files com.android.future.usb.accessory.jar and android.hardware.usb.accessory.xml have been added to the system, as proposed on this thread: https://github.com/ezterry/manifest-gingerbread-DS/issues/32.
The Arduino says:
Code:
Device addressed... Requesting device descriptor.
found possible device. swithcing to serial mode
Data packet error: 5could not read device protocol version
I am currently under SHPONGLE v3.5, but exactly the same happens with Elelinux 7.2.
Does someone knows a ROM that can handle it? I think it should be possible, because the HTC Dream can.
Maybe recompiling the kernel is necessary ?
Thanks!

[Q] What are the steps to port a ROM to an unsupported device?

First a short question. What is the device configuration.(For example:https://github.com/TeamICS/android_device_htc_heroc) Which information does it contain? I don't think it's the whole Rom, but they update it, change stuff and so on?
Now my actual question:
I want to port a Kernel+System on an unsupported device.
Where do I have to start. Is there a difference between building it from source or port one from a similar device? Is one solution slower, more complicated or anything? There are many tutorials for porting, just bundle a system with a working kernel, but what to do if I want to have the Kernel also?
How do I extract the Device Proprietary Files without an github of the device?
Links, short explanation of the steps or anything else would be helpful.
I am sorry if this post seems to be ill informed, but I am searching and searching and can't find really helpful information..
chaoskoch said:
First a short question. What is the device configuration.(For example:https://github.com/TeamICS/android_device_htc_heroc) Which information does it contain? I don't think it's the whole Rom, but they update it, change stuff and so on?
Now my actual question:
I want to port a Kernel+System on an unsupported device.
Where do I have to start. Is there a difference between building it from source or port one from a similar device? Is one solution slower, more complicated or anything? There are many tutorials for porting, just bundle a system with a working kernel, but what to do if I want to have the Kernel also?
How do I extract the Device Proprietary Files without an github of the device?
Links, short explanation of the steps or anything else would be helpful.
I am sorry if this post seems to be ill informed, but I am searching and searching and can't find really helpful information..
Click to expand...
Click to collapse
First off what device do you have?
This link might be helpful
How to Port Android to Another Device
Now in regard to your questions i'll do my best to answer them best I can. The device configuration think of it as a fingerprint every fingerprint is unique (Although some a very similar), basically when building from source is tells the build what device you want the version of android your compiling to run on. They update and change the device configuration to reflect changes in the different versions of Android (Going from Gingerbread to ICS for example). Porting Kernels is not easy if you don't know C, things about embedded systems, basic Linux knowledge, among other skills but take a look at Guidance regarding Kernel porting, and what do you mean by port system? Here is a basic place to start for kernels AOSP Building Kernels and Building Your First Kernel. Yes their is a difference between porting a kernel and building from source, porting implies taking a kernel from device A and porting it to device B, while building from source means your building directly for device A. Porting in your case is probably going to be harder then building from source. If you want to have the kernel also again you have to modify it to run on the device you are porting it too. To extract proprietary files you have to hook your device up to your computer, turn on usb debugging, and using ADB run these commands:
Code:
cd ~/android/system/device/motorola/sholes/ # Replace Motorola and Sholes with your vendor such as HTC, Samsung, etc. and your device codename
Then run:
Code:
./extract-files.sh
Look at this guide for more info Compiling ICS from Source. Hope this helps you in some way :good:.

[Q][Help]Trying to Create Device Tree for ROM Building

Hello,
I'm trying to build a device tree for the Samsung Galaxy Tab A 9.7 (gt510wifi), by following CyanogenMod's porting guide here. I've managed to get a basic device tree going inside CM12.1's source tree, but I'm stuck at the part where I need to create the extract-files.shand the setup-makefiles.sh. The guide says to use other device trees as a reference for creating these scripts, but from what I can tell, each script is vastly different due to device discrepancies, and I'm unsure what to do at this point. I've searched everywhere online, but there doesn't seem to be any documentation whatsoever on how to create these files.
I'm no stranger to porting ROMs, as I've built SlimLP for my other devices, but I always had a pre-built tree created by another developer that I simply renamed files in to get it to work with SlimLP's sources.
Any help is greatly appreciated

"contemporary" device specific code

I am new with the rom development and I would like to know if there is a way to create device specific code (mostly the device tree and the proprietary blobs) depending on the desired android sdk version. To be more specific, my device (Huawei P8 Lite) will not get an official nougat update and I would like to know the prerequisites and a good guide to follow, in order to create (and contribute to others - currently active devs) device specific code for my phone, since there is no open source for this phone.
Thanks in advance.
Many might think that this could be duplicate, but I haven't seen any question regarding the connection of the device tree and the android version ...

Building APK from source for specific Android API version

Hello,
I have an MTK device (Ixion MS155, with MT6737 chipset, to be pricese) that I flashed with a custom ROM. Unfortunately, being new to flashing, I carelessly didn't backup the NVRAM with the IMEI numbers, which got reset to Null. I know that this problem can be addressed through the MTK Engineer Mode. But to activate the right menu option, I need an auxiliary package usually called CDS_INFO.apk, which was not included in the ROM. I found some versions of that package online, but they don't seem compatible with my specific device and/or ROM combination (one version almost works, but it seems that it was compiled against a different Android API/ABI version). This is not a very popular device model, so there are not many ROMs available for it, and I've not yet found one that is capable of running Engineering Mode with the right menu options.
Now, my main question is this: I did find a repository on GitHub (can't post a direct link: user Danile71, repository android_kernel_zte_run4g_mod, path /tree/master/mediatek/packages/apps/CdsInfo) with the source code for CDS_INFO.apk (as well as other low level packages like EngineerMode.apk itself). What could really help me is compiling these packages against the Android 7.1 API/ABI (which I believe would be API version 25). Now, I don't have any direct experience building APK packages from source. Could some kind soul help me out and build an appropriate version of these packages? CDS_INFO.apk and EngineerMode.apk would be sufficient for my purposes, but they might have some other internal dependencies.
Please let me know if there's a better subforum where to direct this request. Thank you in advance for any help!

Categories

Resources