[HELP] Analysis tools that detect common bugs in Android app development - IDEs, Libraries, & Programming Tools

I am looking for analysis tools specific for Android app development!
I have found many tools online that are not specific for Android, only for Java, either free or commercial, like the famous FindBugs but it is not interprocedural so for example it loses several bad NullPointerExceptions that may occur at runtime! Other tools (like CheckStyle) perform just a syntax check that sometimes is not so powerful, and other tools are not suitable for Android app development
What are, among the available tools, those that you prefer and really use?
What kind of properties do these tools check?
What kind of bugs do these tools detect and remove (among the most common errors that an Android developer may do)?
Please help me with sharing your experiences and suggestions, thanks!

Nobody uses any tool for detecting bugs?

What kind of bugs are you specifically looking for? Solving NullPointers is hard to do automatically, it'll probably just show you where the error is and what it is.
And the emulator/logcat does that, too...

bassie1995 said:
What kind of bugs are you specifically looking for? Solving NullPointers is hard to do automatically, it'll probably just show you where the error is and what it is.
And the emulator/logcat does that, too...
Click to expand...
Click to collapse
I would like to detect the most common errors that may happen during Android app development, like NullPointerExceptions, ClassCastExceptions, OutOfMemory Errors, and so on... but with tools like FindBugs that don't need to execute the app first.

subtask said:
I would like to detect the most common errors that may happen during Android app development, like NullPointerExceptions, ClassCastExceptions, OutOfMemory Errors, and so on... but with tools like FindBugs that don't need to execute the app first.
Click to expand...
Click to collapse
I don't think that's really possible, it would have to be able to reason about and come up with the behaviour of your code like a human... Computers need to run it. The easiest thing you'll get right now is an explanation of what went wrong where, I think...

bassie1995 said:
I don't think that's really possible, it would have to be able to reason about and come up with the behaviour of your code like a human... Computers need to run it. The easiest thing you'll get right now is an explanation of what went wrong where, I think...
Click to expand...
Click to collapse
If you run FindBugs in your source code, it is able to detect many things, like potential NullPointerExceptions, before running your app...but unfortunately it is not powerful enough to detect interprocedural NullPointerExceptions...that's the reason I am looking for something different...

subtask said:
If you run FindBugs in your source code, it is able to detect many things, like potential NullPointerExceptions, before running your app...but unfortunately it is not powerful enough to detect interprocedural NullPointerExceptions...that's the reason I am looking for something different...
Click to expand...
Click to collapse
Yep, that's what I meant. Anyhow, I don't know about anything like it .

The Android SDK provides some API for automatic testing.
You will need to create a test project which checks the functions you want to achieve.
This can be used to ensure that your app is still working correctly after adding new features.

Hi
"static analysis tools" is probably the term you want to be using when looking for these sort of tools, the wikipedia page give a good selection to be going on with http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis
Although I would add that if you're getting a lot of these sort of errors then you probably need to work on your own code writing skills and take the time to understand how and when these sort of issues occur rather than just relying on a plethora of tools which keep you dumb to what's going on! You'll benefit from it in the long run

One thing you might give a try is JetBrains Android Studio. It seems to have a decent static analysis tool which is the same used for ReSharper with Visual Studio.

Try Lint, it comes with ADT,
with Eclipse you can right click your project, ans under android tools you will see something like check lint errors
It will create lots of errors, which are just recomendations, you can simply delete those errors.
Tapatalked... just Tapatalked...

If you're mainly looking for a way to detect NPEs then IntelliJ/Android Studio comes with NPE (and other exceptions) detection. It's based on a new set of annotations implemented in the latest SDK and is very accurate, much better than Eclipse's code analysis.
But honestly, the best tool to find bugs remains Logcat imo, it's verbose enough to find-out the origin of most bugs.

Related

Absuluut newbie, help on eMbedded C++ 4.0 please

Hello,
I'm a Visual Basic programmer for some time now.
Made some useful stuff they tell me.
Used C++ (Borland) about 10 years ago, so that’s a bit rusty.
Now I've ordered a Qtek 9090, and I would want to develop some software for it to. So I downloaded and installed the SDK and eMbedded C++ 4.0.
I thought, I start out on the emulator......
I can't even get my own "Hello world" program to work........
I have downloaded a "Hello World" program which I stepped through in debug mode. I have NO idea what they are doing there.
It contains about 20 files, hundreds lines of code, just to put "Hello World" on the screen of the emulator.
And I hoped that:
Code:
#include <stdio.h>
main()
{
printf("Hello, world!\n");
return 0;
}
pleased in a form, would do the trick………
The help in the IDE does not work.
Re-install it tell's me. I have done so, but the help function does not work.
Where is the "visual" part in the embedded Visual C++?
How do I place forms and buttons e.g.?
I have no idea where to start now.
Searched a lot of forum's for starters-help, but I can not find anything that helps me on my way. I just hope I've not become stupid.....
Would somebody please help me on my way?
Can I wholeheartedly recommend the book "Programming Windows CE", by Douglas Boling? It's normally cheap (or the second edition is) on ebay and it really is good.
Failing that, you're writing a console based application for something that uses a windowing environment by default, so you'll either have to change what you're linking to, or have a winmain that makes use of a graphical UI rather than stdout. Call MessageBox perhaps? This is all made *so* much easier with a working help system that you need to get that working.
You can manage resource files visually, so it really is Visual development. Plus, for free, it's an excellent development tool. Well, it isn't bad.
The best advice I can give is to get your machine set up correctly with EVC2002, or EVC 4 with SP4 and the appropriate SDKs, and take it from there.
Good luck starting out.
Cheers,
Nick.
chiark said:
Can I wholeheartedly recommend the book "Programming Windows CE", by Douglas Boling?
Click to expand...
Click to collapse
Thanx. I'm going to order that book.
Failing that, you're writing a console based application for something that uses a windowing environment by default, so you'll either have to change what you're linking to, or have a winmain that makes use of a graphical UI rather than stdout. Call MessageBox perhaps?
Click to expand...
Click to collapse
Well, yes. I know. Like I sayed, I usualy work with VB. It was just me, trying to oversimplify things.
What I ment to express is that I'm pretty supprised I still have to write the message-loop and the main-loop and the jsadgkh-loop and....
I just hoped to put up some forms and attach code to it. But maybe I'm missing the clue on this.
This is all made *so* much easier with a working help system that you need to get that working.
Click to expand...
Click to collapse
I have set it up on an other machine yesterday, and there the help works.
Today I'm going to make use of it.
You can manage resource files visually, so it really is Visual development. Plus, for free, it's an excellent development tool. Well, it isn't bad.
Click to expand...
Click to collapse
Well.... That part, the visual part, I don't see yet, but like I sayed, I'm going to work throuhg the help, now that I've got that working.
And a 'free' tool. Well, that's allways nice. I think it is good for us, AND good for them. The more software there will be on the market, the better the devices sell.
The best advice I can give is to get your machine set up correctly with EVC2002, or EVC 4 with SP4 and the appropriate SDKs, and take it from there.
Good luck starting out.
Cheers,
Nick.
Click to expand...
Click to collapse
Thanks for you tips.
Rens
Dox, drop me a PM, I've got an old copy of the book you can have if it would help
Re the message loop stuff, you've indeed got options. You can either use the message loop approach hitting the API directly, or you can opt for using MFC to abstract the stuff away from you.
Personally, I prefer the straightforwardness of using the API rather than MFC. By the time you've written one application, you've got the bulk of the next . I also write for older machines, and the overhead of MFC is a consideration, but on the XDA it really isn't.
If the application is simple, it can all be handled by a DialogBox. You will need to write a DialogProc to handle the appropriate messages, but the need to register a window class, get messages off the queue etc is removed from you. Similarly, you can have multiple pages on a single dialog box using propertypages.
If you did want to write a console application, you can do this but you need to change the linker options within EVC.
Have a good look at the samples, too, there's some real good stuff in there.
Cheers, and good luck
Nick.

[Q] What debug and log tools are available?

Hi,
I'm interested to know which debugging/logging tools are available.
I'd like to get more information about the processes at startup, and specially logs of the CPU usage by each application over a period of time.
I've been searching for some time and the only I've found are the old Htc Test applications, but can't get what I want.
Noted that HTC devices have a builtin debug tool (debuglog.dll). Anyone knows how to use it?
Also found the following the following post describing the HTCDiagDriver and the possibility to analyze the device using QUALCOMM eXtensible Diagnostic Monitor.
http://forum.xda-developers.com/showpost.php?p=12624471&postcount=2
Anyone uses it?
Global debuglog can be enabled via DebugTool.exe (available in Htc Test Applications). It depends on debuglog.dll, yeah. Read manual, it works quite well.
Then, if you want to get log for selected app, launch it via IDA.
Also we have CeLog available, I will post needed launchers soon. I can hardly call it useful as we have retail/ship SYS builds. The only useful purpose for us is page faults chart.
EDIT: CeLog attached.
Some of the builds come with the Perfman package. That s.o.b. will really slow down your device, though, and it creates a massive log file, which I could never find the tools to analyze. I think celog does it, though, which is pretty sweet.
The htc debugger works better. You just change one of the debug flags and reset, and the device starts writing the log file. It doesn't slow down the device nearly as much as perfman. I think celog may work on that log file, too. You can royally eff up your device with that tool, though, if you mess with the radio flags. It's pretty cool how it writes to flash memory. Too bad you can't change other things with it like the page pool size.
ultrashot said:
Also we have CeLog available, I will post needed launchers soon. I can hardly call it useful as we have retail/ship SYS builds. The only useful purpose for us is page faults chart.
EDIT: CeLog attached.
Click to expand...
Click to collapse
I have been playing with the tool on my Tornado and observed the following (usage related):
Use it while the device is disconnected from PC. The overhead of repllog.exe (connected to ActiveSync on XP PC) and syncing is just filling your log. For my installation (no further MS Mobile development tools on the PC) kerneltracker.exe does not connect to the device anyway.
Though obvious, the files CeLog*.exe have to run on the device, so copy them to a convenient place there.
The CeLogAttach.exe seems to start the kernel logging and it slows down the device (kind of obvious). There is no way to stop this logging. Something like CeLogDetach would be needed, if it exists, to restore the state before CeLogAttach.exe was run.
The CeLogFlush.exe will flush the existing log but also immediately start the logging again.
The CeLogStopFlush.exe does just what the name tells - it stops the flush to file of the (still ongoing) logging.
After transfering the celog.clg file (from \Release\ directory of the device) it can be opened in kerneltracker.exe. Then you see all the kernelactivities logged and aligned per process/thread on a zoom-able timeline (10ms - 10s) including the labels of the logged primitives. With event filtering you can sort out what you are not interested in. Here you may need advice on what to look after when you want to hunt down a certain device behaviour.
I have checked for page-faults, Virtual Memory related actions (Allocate, Copy, Free) and also Module actions (load, free) to get a clue if and how modules and paging (or better said: the use of the Page-Pool) is correlated. Nothing eye-striking coming up here, but it may just be for the unknowing observer like myself.
@ultrashot: I could not find anything I would call a "page faults chart" - where is that - or what is that?
Looking further: If I change certain device properties (like increase the pagepool or playing with OSB advanced options) I fear that the logged information here is just far too detailed for a useful compare. For that you would have to create identical conditions for the action under scrutiny - something that cannot be done with a disconnected device.
So I have to admit that all objective compare of such tuning and tweaking is far above my head and I just have to join the many that make more or less clever assumptions trusting on their model of actions in their heads. I hope that the better knowing heads continue to spread their wisdom without only telling RTFM or guide with LMGTFY (which can help if the results really point to right places).
tobbbie said:
@ultrashot: I could not find anything I would call a "page faults chart" - where is that - or what is that?
Click to expand...
Click to collapse
Use Event filter->Miscellaneous->Page fault.
I am not too advanced user of this tool. If we had builds with extra celog instrumentation, we could have take much more from this tool. However, there are some articles in the internets about celog, so anyone who wants to be get more info may just try to google it. I don't want
ultrashot said:
Use Event filter->Miscellaneous->Page fault.
Click to expand...
Click to collapse
That is what I did already when telling about the items I cared below. Page faults are however part of generic virtual memory management and they do also apply for any normal loaded executables. As you know I seek for traces of module related paging and the use of the page-pool.
So it will stay with the trial and error and side-by-side compare with two devices having different settings. Not a big thing doing that...
Some interesting articles on MSDN regarding the paging pool (aka "pagepool"):
Kernel Blog article explaining the fundamentals (highly recommended): http://blogs.msdn.com/b/ce_base/archive/2008/01/19/paging-and-the-windows-ce-paging-pool.aspx
Pagepool Variable explained and simple methods to measure impact: http://msdn.microsoft.com/en-us/library/aa451041.aspx
-> this is what kitchentools are patching in the kernel
Then some more backup on virtual memory - just to complete on that:
http://blogs.msdn.com/b/ce_base/archive/2006/10/30/what-is-virtual-memory.aspx
http://blogs.msdn.com/b/hegenderfer/archive/2007/08/31/slaying-the-virtual-memory-monster.aspx
http://blogs.msdn.com/b/hegenderfer...aying-the-virtual-memory-monster-part-ii.aspx
And to get back to the debug tools topic of this thread, linked form the first article an introduction to the Remote Kernel Tracker to explain what you can actually see there (and why you cannot see certain things as we have shipped ROM builds and not profiling builds to deal with): http://blogs.msdn.com/b/sloh/archive/2005/05/17/introduction-to-remote-kernel-tracker.aspx
Great insight if you want to get a glimpse of how Windows CE operates under the hood.
...reading a little deeper in the MSDN articles, Sue Loh mentions there when talking about the paging pool size determination:
The best tool I know is that readlog.exe will print you a page fault report if you turn on the “verbose” and “summary” options. If you get multiple faults on the same pages, your pool may be too small (you may also be unloading and re-loading the same module, ejecting its pages from memory, so look for module load events in the log too). If you don’t get many repeats, your pool may be bigger than you need.
Click to expand...
Click to collapse
To avoid dealing with a full setup of the Mobile Development toolsets, could any one (ultrashot - you have been so helpful - could you??) post that mentioned "readlog" tool? If there is something like "CeLogDetach.exe", please add it too.
BTW: you may notice that the paging pool is a central part of the Windows CE memory management when it comes to running executable code from "memory mapped files" (as Sue Loh calls them). In my understanding these are simply what we know as "modules".
A lot of tweaking strategies go around that when building ROMs with OSBuilder. There are several ways how to avoid or optimize the use of the paging pool for certain or all modules in OSB. I think these options deserve an own thread and I am not sure if the one OSB thread we have should be cluttered with discussing this.
don't have any of those.

[Q] Do I need to write drivers?

I have fair number of years of programming behind me. But I haven't tried anything for Android, as I dislike Java.
But I want to try. I want to make something that works at low level, say, like a firewall. It acts as a filter between two communicating parties/devices.
To write anything like that, can someone suggest which is the best approach - code in Java (if it can perform such a feast) or code driver in C?
Thanks much!
Regards,
Nayan
Sent from my Micromax A117 using xda app-developers app
The interesting thing in such low level projects is the entry point: So for a firewall you only have to acces iptables because android has linux kernel. So no C-part, no drivers, only plain java. See AFWall, it's an open source firewall.
EmptinessFiller said:
The interesting thing in such low level projects is the entry point: So for a firewall you only have to acces iptables because android has linux kernel. So no C-part, no drivers, only plain java. See AFWall, it's an open source firewall.
Click to expand...
Click to collapse
Excellent! I would certainly study AFWall. Thanks for the reference.
But actually, my quest doesn't stop here. I am exploring Android, and Google's restriction of "UI to be built only via Java". (I am not interested in scripting and widgets for now, unless they are absolutely needed.)
I want to know the answers for same question (driver or app) for the following:
* Network Filter [EmptinessFiller, you already answered this as Java]
* Disk (SD cards) (for many various purposes) - file system should not block the intention, hopefully.
* USB filter
* SMS filter
I am still thinking of other categories. Will write more later.
Please suggest and refer. Thanks again!
General answer: Your app is always built in java. (It's UI components, it's LifeCycle (Activity, Service, Broadcastreceiver))
You may include native code, but that does not have more possibilities. It's only a little bit quicker.
Forgotten: If you have root, you may want to change some binaries, because you can't change things in an app. There you need native code of course.
EmptinessFiller said:
You may include native code, but that does not have more possibilities. It's only a little bit quicker.
Click to expand...
Click to collapse
Shame, isn't it? Too much power in Java's hand
EmptinessFiller said:
Forgotten: If you have root, you may want to change some binaries, because you can't change things in an app. There you need native code of course.
Click to expand...
Click to collapse
My point exactly! Low level stuff is best written in native code.
But right now, I am learning how to.
cnayan said:
Shame, isn't it? Too much power in Java's hand
My point exactly! Low level stuff is best written in native code.
But right now, I am learning how to.
Click to expand...
Click to collapse
Have a look at the Android NDK and this guide about the development of root apps.
nikwen said:
Have a look at the Android NDK and this guide about the development of root apps.
Click to expand...
Click to collapse
Thanks for the link. Good stuff, but won't help in my targets... unless an example is seen.

Help Developing An App

Morning all,
I have never created an app, but decided to look into it late last year. I began work on an app around September 2014, did a little work every weekend, and haven't really touched anything since November.
I have experience with HTML, CSS etc (I can write them). I can also have a basic understanding of other codes such as PHP, JavaScript, Java, C etc - basically, enough that I could take some code and edit it to suite.
I was hoping that creating an app would a) help grow my current business and b) give me a new challenge to learn new code.
Anyway, I'm really stuck on what to do. I downloaded Eclipse at home, but my laptop is on it's last legs. I have been creating the app at the office, using Adobe Flash Builder 4.7. I read a few tutorials, and downloaded some sample apps to learn from (as part of some of the tutorials). However, none of them have what I want.
My App Idea
So, enough waffling on, I'll try and explain my app without giving away what I want to do.
Basically, the app will be one where users can enter an error code, and press search. The result would be a page showing the description of the error code, and then what the solution is to fix it. There is then potential to add a "buy this part from" link which will suggest suppliers to visit.
So, as an example, let's say a user got a Blue Screen error code on their PC of "ABC1234". They would enter that code into my app, and the result would say something like:
Code: ABC1234
Description: RAM Error - overheating
Fix/Solution: Replace RAM
What I Have So Far
Other than a couple of test files that I've been learning with, I don't have anything solid in terms of an app. What I do have though is an Excel file with 889 error codes and what each code means.
What I Need
So, I guess what I need is either:
some help/guidance on how to create an app that in it's simplest form is a home page with a search box, and then 889 pages in the background that return depending on the searched error code.
or, someone willing to help me develop such an app
Firstly, download Android Studio - Don't use eclipse anymore
Secondly, here is a tut on using an older version of Android Studio
Have a go, see how you end up. Let us know, if you're really needing help, ask here again
Thanks,
I'll have to try that once I get home as the IT Administrator at work has to vet everything that gets installed.
minooch said:
Firstly, download Android Studio - Don't use eclipse anymore
Secondly, here is a tut on using an older version of Android Studio
Have a go, see how you end up. Let us know, if you're really needing help, ask here again
Click to expand...
Click to collapse
Hi sir! Is Android Studio is better than Eclipse?
john.reyes.jmr said:
Hi sir! Is Android Studio is better than Eclipse?
Click to expand...
Click to collapse
Yes.
john.reyes.jmr said:
Hi sir! Is Android Studio is better than Eclipse?
Click to expand...
Click to collapse
Jonny said:
Yes.
Click to expand...
Click to collapse
^^^
The only way to say it
Jonny said:
Yes.
Click to expand...
Click to collapse
Thanks sir but do we have a highly compressed Android Studio? 800mb+ is such a big file to download.
Like minooch said, install an IDE, understand how it works and then try some tuts on Internet to learn how Android works. What you want to do isn't really hard, you'll manage quickly to do it but you will be prouder if you do all by yourself.
Some hints : Don't go coding directly, try to organize your project (data structure, classes, methods) before starting to code. On a small project, it's not as important but if you start doing things well now, you'll thank yourself in the future
minooch said:
Firstly, download Android Studio - Don't use eclipse anymore
Secondly, here is a tut on using an older version of Android Studio
Have a go, see how you end up. Let us know, if you're really needing help, ask here again
Click to expand...
Click to collapse
What are the requirements for this app to run on my PC ,jdk?i have installed jre but didn't worked help me ....
Randomly Set said:
Morning all,
I have never created an app, but decided to look into it late last year. I began work on an app around September 2014, did a little work every weekend, and haven't really touched anything since November.
I have experience with HTML, CSS etc (I can write them). I can also have a basic understanding of other codes such as PHP, JavaScript, Java, C etc - basically, enough that I could take some code and edit it to suite.
I was hoping that creating an app would a) help grow my current business and b) give me a new challenge to learn new code.
Anyway, I'm really stuck on what to do. I downloaded Eclipse at home, but my laptop is on it's last legs. I have been creating the app at the office, using Adobe Flash Builder 4.7. I read a few tutorials, and downloaded some sample apps to learn from (as part of some of the tutorials). However, none of them have what I want.
My App Idea
So, enough waffling on, I'll try and explain my app without giving away what I want to do.
Basically, the app will be one where users can enter an error code, and press search. The result would be a page showing the description of the error code, and then what the solution is to fix it. There is then potential to add a "buy this part from" link which will suggest suppliers to visit.
So, as an example, let's say a user got a Blue Screen error code on their PC of "ABC1234". They would enter that code into my app, and the result would say something like:
Code: ABC1234
Description: RAM Error - overheating
Fix/Solution: Replace RAM
What I Have So Far
Other than a couple of test files that I've been learning with, I don't have anything solid in terms of an app. What I do have though is an Excel file with 889 error codes and what each code means.
What I Need
So, I guess what I need is either:
some help/guidance on how to create an app that in it's simplest form is a home page with a search box, and then 889 pages in the background that return depending on the searched error code.
or, someone willing to help me develop such an app
Click to expand...
Click to collapse
Hello.. You just cannot make a app like for such kind of work. You have to make make a website server for the same and then make a app for it. I know a technique for such kinda work.Web crawling us your answer. If you could setup a website for that then I can make a app for that easily within two days. Inbox for any further information or quote back
**********Hit thanks if I helped you***********
Shreyseviltwin said:
Hello.. You just cannot make a app like for such kind of work. You have to make make a website server for the same and then make a app for it. I know a technique for such kinda work.Web crawling us your answer. If you could setup a website for that then I can make a app for that easily within two days. Inbox for any further information or quote back
**********Hit thanks if I helped you***********
Click to expand...
Click to collapse
Hi,
What would be involved in creating an app?
pranavraut033 said:
What are the requirements for this app to run on my PC ,jdk?i have installed jre but didn't worked help me ....
Click to expand...
Click to collapse
You need the JDK. Please read the instructions on the download page. Under the section 'Requirements'

nook touchndevelopmemt toolchain Qs

Hi All,
I'm a software developer, reasonably comfortable with compiling apps in Linux, though still got more to learn on inner workings of the full system.
I've been thinking about following the Linux from Scratch book for a while - and also about converting my Nook e-reader into a useful device for developing on when out im the sun.
I guess there are some significant challenges here - device trees and commercial secrets, perhaps some crypto keys used for signing update images to boot (I'm familiar with these problems, but not solutions or good workarounds).
What I'd really like is a good understanding of:
- what tool chain I need to setup
- What has been tried already and what the problems were
- any further help/datasheets that can get me going
I'd have posted this in the 'android development' area as the closest forum for what l'm trying to do, but apparently I'm not allowed until I've got my post count up - so I'm being forced to post in 'general'. If someone agrees and can move it, that would be great.
P.s. I have searched the xda site, but I'm not finding what I'm looking for. I'm sure it must be here somewhere, so any pointers/links on where it is would be appreciated.
SimonSimpson said:
Hi All,
I'm a software developer, reasonably comfortable with compiling apps in Linux, though still got more to learn on inner workings of the full system.
I've been thinking about following the Linux from Scratch book for a while - and also about converting my Nook e-reader into a useful device for developing on when out im the sun.
I guess there are some significant challenges here - device trees and commercial secrets, perhaps some crypto keys used for signing update images to boot (I'm familiar with these problems, but not solutions or good workarounds).
What I'd really like is a good understanding of:
- what tool chain I need to setup
- What has been tried already and what the problems were
- any further help/datasheets that can get me going
I'd have posted this in the 'android development' area as the closest forum for what l'm trying to do, but apparently I'm not allowed until I've got my post count up - so I'm being forced to post in 'general'. If someone agrees and can move it, that would be great.
P.s. I have searched the xda site, but I'm not finding what I'm looking for. I'm sure it must be here somewhere, so any pointers/links on where it is would be appreciated.
Click to expand...
Click to collapse
I have tried to get info on such things three times over 2 years for different devices, no one every seems to point me in the right direction, the most i have been able to find out is how to make compile cm and a little bit of how to customize roms, not to be a downer but i think the process is often so different for ever device and difficulties usually happen that the only people that build roms are people that have either have experience I n some form from their job, just edit existing source for cm(updating to a new version, customizing roms ect...) or have screwed with the stuff for years till the point that they just figured out alot of problems themselves. Wish a could find a good guide myself to atleast get the basic dependencies required for a device to boot together, if i could get something to boot the rest of the issues could be worked out with trial and error, boot noone on xda, Android authority, Reddit or cm's own forums goes into enough depth to make that possible.
Hi jaykoerner,
Thanks for your reply - good to know I'm not alone with my echo!
I've discovered some useful links if anyone wants to begin getting to grips with all this...
1. XDA Devs has a wiki (not sure how to find from the forum links...?)
http://forum.xda-developers.com/wiki/BN_Nook_Simple_Touch
2. There's a (atleast one) customized kernel (and probably a dev-tool chain) available on GitHub:
https://github.com/javifo/NST/tree/master/kernel -- including kernel compilation instructions
https://github.com/javifo/NST -- root of the repository.
3. Parallel to Raspberry Pi kernel compilation (so you may want to learn from that as it probably has more articles)
https://www.raspberrypi.org/documentation/linux/kernel/building.md
I'll post more when I next do something with the information (Still want to understand more on the android HAL)
Hope that helps someone!
SS.
SimonSimpson said:
Hi jaykoerner,
Thanks for your reply - good to know I'm not alone with my echo!
I've discovered some useful links if anyone wants to begin getting to grips with all this...
1. XDA Devs has a wiki (not sure how to find from the forum links...?)
http://forum.xda-developers.com/wiki/BN_Nook_Simple_Touch
2. There's a (atleast one) customized kernel (and probably a dev-tool chain) available on GitHub:
https://github.com/javifo/NST/tree/master/kernel -- including kernel compilation instructions
https://github.com/javifo/NST -- root of the repository.
3. Parallel to Raspberry Pi kernel compilation (so you may want to learn from that as it probably has more articles)
https://www.raspberrypi.org/documentation/linux/kernel/building.md
I'll post more when I next do something with the information (Still want to understand more on the android HAL)
Hope that helps someone!
SS.
Click to expand...
Click to collapse
My initial thought was that toolchain should match the underlay Linux kernel of Eclair (2.6.x.y) for us to be sure it could be run on NST. This info that I still have to search through is certainly helpful. Thanks!
SimonSimpson said:
I guess there are some significant challenges here - device trees and commercial secrets, perhaps some crypto keys used for signing update images to boot...
Click to expand...
Click to collapse
Neither the NST or the newer glows use device trees.
In the Glows this is all handled by the custom ntxconfig which allows simple configuration.
For building Android apps, you use the straight Android SDK, possibly also the Android NDK (for native code).
You'd also use the NDK for building command line utilities.
I've never built a kernel from scratch, but I have binary modified/patched them.
There is the simpler bit of patching system image ramdisks which can be conviently handled by my imgutil.exe in the signature.
If you want to do audio, you really are better off with the Glow4 (7.8") which actually supports it.

Categories

Resources