Converting source blob Android kernel back to Git repository - android

Hope this is the right place to ask, and not softwareengineering.stackexchange.
A couple of enterprising people released a CM11 build for my ancient (Samsung Galaxy S DUOS, released 2012) Android device some time ago. I successfully rebuilt it against the LineageOS 11 code, and now I am wondering about updating it to something newer. It is probably not the best place to start, since newer Androids can use older kernels, but I am looking at the kernel. Basically the kernel in the sources is a source blob based on 3.0 (presumably what Samsung supplied) in a Git repository with a hundred or so commits on top. Using git log -S and internet search I can see that a lot of the difference against android-3.0 is back-ported patches. So the question is how best to convert the blob into a normal Git repository.
My first idea is to locate the appropriate changes in the kernel.org/Android/CodeAurora git trees and cherry pick or git-am them into an android-3.0 tree until I have reduced the difference to something manageable, then to apply the rest as a final commit, and after that to try rebasing to a later (android-3.3 for a start) kernel version. I am sure though that someone out there will be able to suggest ways to improve on that (maybe Git has some clever tricks that I am not aware of).

Related

SVN Version control How to know if same file is under use by other team mate

I want to ask about version control that we are using. And it is SVN. I am working on a project with other team members and using SVN as version control.
So it is very easy to understand and to work with. But There is one problem and that is sometimes it happen that me and my other team member start working on same file. And in the end of the day we have to merge the differences in file to settle issues down.
But my point is, Is not it far batter to know before starting work on same file that It is already under working of any team member.
I have been searching for it for hours but did not get any help.
Can someone please tell me How to do it in SVN That is provided in Android studio and on server side we are using SVN Standard Edition 3.5.10???
Note: We are using SVN and we can not change this version control at
the moment.

How do developers who customise AOSP keep their changes under version control?

Fetching the AOSP source, is 134GB.
A checkout of a particular version of Android is likely to be many GBs.
How do developers who customise AOSP keep their changes under (their own) version control? (Given that checking-in a snapshot of an Android version's source will be many GBs.)
This is my flow, maybe not the best....
I don't like dealing with repo tool and multiple remotes, so I get rid of all the .git subfolders and create just one tremendously huge repository. This has the bad effect of essentially removing all the "history". So we have a server with the original sync for git blame if we need to.
First check-out for a developer will be time-consuming either way. To make it faster, we have a local bare git repo cloned. So people run git clone on the local server, and the switch the origin to the actual remote.
After all is set-up, the day-to-day dealings are not time consuming. Commits and pushes are quite fast ( maybe 5-10s ) even for a large repo like this. Thanks GIT!
Sorry for necro-posting, but maybe somebody find it useful.
I just use repo utility from Google, e.g. repo start.
Only first repo sync procedure take a long time,
even subsequent checkouts do not like so time-consuming.
If you check some popular ROM, e.g. GrapheneOS, you find they repo too.

Android Studio vs Eclipse with ADT (2015) [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
As of 2015, I see that Android studio is an official IDE for developing android applications according to information on their official site and on each page of their site, there is a note suggesting to go for Android studio rather than Eclipse with ADT.
Note: If you have been using Eclipse with ADT, be aware that Android Studio is now the official IDE for Android, so you should migrate to Android Studio to receive all the latest IDE updates.
But I haven't found any latest article about the pros and cons in choosing the IDE or eclipse with ADT. If some one can throw some light on it then it would help other beginners like me in choosing the right app for android development
IMO everything you can do with Android Studio (gradle, maven, etc) you can do it with Eclipse faster and easier and i mean "faster, easier" because in Eclipse if any problems arises like "error XX" you do a quick search on yahoo/google/whatever and thousands of results appears of guys who had the same problem and how to fix it.
I've been programming with Eclipse for C/C++ and Java over 8 years already switching to IntelliJ for me is a total waste of time with translates in a huge loss of money, all my clients wants their apps for yesterday and i can't have the luxury of "playing" and wasting time tweaking a really different IDE while i have bills to pay. So in my case i will 100% stay with Eclipse.
Indexing. Causes AStudio to load up in a matter of years. Afterwards, same a Eclipse. +E
Language support. +A
Perspectives. One has to actually start fumbling for the different
windows in AStudio once they need to switch between design / debug /
code. This hassle was completely taken care of by the use of
Perspectives. +E
Debugger. Incredibly slow to launch in AStudio. Even Running an app
takes ages to complete in AStudio. And on the rare occasions it
doesn't, one ends up with all sorts of exceptions in his app under
development or plainly app won't install any longer. +E
Support. StackOverflow is the main resource in both cases. Just that
with Eclipse there is not much need for it. +E
UI: AStudio is just eye cancer. Eclipse is such a breeze. +E
Building: gradle > ant; but Eclipse also offers mvn. Also, this is
the main reason of slow run/debug -ing in AStudio and there is no way
around it. You just have to swallow the pill and wait 15-20 seconds
every time you change a line of code. +E
Auto-save: just makes me think Google felt I was retarded and this feature would save my life. +E
Final score:
A : E
1 : 7
Which begs the question of why in the world did they switch to AStudio. That being said, we naturally have no say in this, we just blindly follow the Man.
First, Android Studio is created and maintained by Google toolkit development team. That means that seemingly every latest update of Android Development will be pushed to AS at the first time. Second, AS is an integration of different Android Development Tools, including ADT, IntelliJ, Gradle, Maven, Ant...You know, ADT could be pluggin in many different open-source development tools, like Eclipse, IntelliJ, NetBeans...When you migrate projects from one to another, some problems could be caused because they have different programming rules and formats which pains not only developers but also Google's and Android's. That is a question. So Android Studio may be a solution for this.
I am a seasoned developer in eclipse adt and recently switched to AS ( Dec 2015) . I should say eclipse is definitely better than AS! True eclipse crashes but so does AS and even more! Eclipse know how a Java developer thinks and thus is very very intuitive. AS crashes blatantly throwing NPEs which is embarrassing! As of now AS is definitely over-hyped. I am sure intellij has done some evil deals with google to push its IDE. People who are voting for AS have definitely not worked in eclipse for long. This debate is becoming more of "Who knows what!" rather than "Which is better!"
Here is an article that I am currently writing. Its high somebody raise his voice:
http://pissedoff-techie.blogspot.in/2016/01/why-android-studio-sucks-over-eclipse.html
Android Studio's primary problems:
Very slow compilation for debugging. For some of my project Eclipse - 11 sec AS 5 min!
String completion is unusable. For example, completion without parameters. No completion for some operators, for example if, else, for etc.
AS dramatically slows the PC down: mouse and keyboard are periodically freezing.
Project structure is intricated.
So, how to continue using Eclipse if new version of Google Play Services (V30 and higher) is not available for Eclipse but only for AS? This is info how to prepare AS libs (Analytic, ADS, etc) for Eclipse.
Eclipse is far more superior to AS. It is much easier to use, more intuitive, much less buggy (even though alot buggier than VISUAL Studio, but we're comparing to AS), and will probably make your work more productive. It's 2016 now and I'm planning to keep using Eclipse as long as it's possible.
I am new and I started with AS, but soon grew frustrated when it came down to using other developers repositories in my project. The whole aggrevating process and guesswork of migrating them over to the gradle and configuring manually just became over bearing to me, so I went retroactive and downloaded Mars1 and gave it a try. I found it to be a little unintuitive at first, but once it I learned the navigation I fell in love with the openness of it.. I still intend to use Android Studio for all or my releases, but eclipse is now my goto ide right now unless Google tries making some API that is only used in Studio. I like options and hate it when companies try to streamline they lose great experienced developers that way. Also #mistersmith...you probably cannot afford to be that naive. You are going to go the way of the dodo thinking their is only one solution and feeding into corporate garbage. You may not know it, but google is grooming people like you into believing AS is the only practical solution. Just wait until you are forced to migrate to something differnent in the future after buying into AS for all of your mobile application needs.
In my opinion:
Android Studio is official IDE for Android developer which was provided by Google. So, we can have latest support for updating or any official change from google.
Using Android Studio is better than Eclipse for layout. You can code the layout and see the preview [at least, when I answer this question, Android Studio is better than Eclipse]
With build.gradle we can easily access share library of others on github.
We also can avoid some silly bugs with code analyzer tool of Android Studio (without add any plug-in). And we also can have many other help from it to improve coding style or logic, ...
I feel mad with the problem of generate R.java on Eclipse. Sometimes, my Eclipse does not generate this file, so I have to find many solutions to solve it. On Android Studio, we can easily deal with this problem (this problem almost occurs due to define resource).
If you familiar with Shortcuts (combination key) on Eclipse (Mac OS or Windows,...) you can configure to get this on Android Studio: Go to File -> Settings -> KeyMap -> Keymaps dropdown Option. Select from them.
But, Android Studio is not always good. Specially, when you work on a big project, which includes many projects (each project will generate a apk file). Android Studio is not possible to open two projects in a single window. New projects can only either be opened in a new window or replace the project in the existing window. Someone talks that Module in Android Studio is same as project on Eclipse and Project in Android Studio is same as workspace on Eclipse. But, I think it is not equivalent.
gradle and indexing process on Android Studio is so heavy for wooden PC (just like laptop core-i5 + RAM 4GB + HDD sata), it will result in showing Android Studio is not responding
There's a question already here which answer this perfectly.
To add my bits, Android Studio is the one which is getting the latest update and is going to be the only official IDE for the future, so I think everyone should move to Android Studio.
Android Studio is far better, stable and lightweight IDE. Eclipse has been crashing on me since I started Android Development, while Android Studio had a lot less crashing. On top of that we have a very good integration of Maven for libraries in Android Studio.
The future is here with Gradle, ANT is a thing of past.
Here are some thoughts about how Android Studio team has not been able to become a product of a lot better than Eclipse and why, in my opinion, Google Android Studio will close the project in the near future due to some chronic problems: http://turbocolour.blogspot.com/p/eclipse-adt-vs-android-studio.html
Interesting topic for me:
I used to think that Eclipse was a hell of IDE for building Android apps... ironically, now that I am using AS things got worst.
For sure AS is much more integrated with the android platform but that is why I would have expected something smoother and hassle free: Eclipse had the excuse of being a general purpose IDE after all.
I think the problem lies in the android architecture itself and the related dev tools that makes coding awkward, unpleasant with much lower throughput compared to other more stable platforms.
Google seems not to care too much about changing API and forcing project/code upgrades to make possible to update projects written for previous versions.
They seem to not care at all about backward compatibility.
They introduce changes their libs, even stripping away entire APIs from the core (apache for instance in Android 6), think about play services (that is becoming now bigger than the OS itself), admob, analytics....they keep on changing and changing forcing to upgrade / change source / re deploy.
Every time I see a popup in the dev console about a new feature I feel shivers down my spine.
What about the fact they discontinued eclipse while their studio was still unstable and most important not giving decent reliable tools for porting projects ? Have you guys tried to port a big old project into AS ? It’s a kind of hell...
I just think they don't care that much about coders cause we ARE A LOT, We do not pay them and want it or not you will have to conform if you want to stay in.
I cannot even think about for example Microsoft or Apple doing the same with their dev tools, but it is also true that in such cases you pay them.
My opinion of course.
#Eugene
The reason you say this is the same reason aged developers end up without jobs.
Hey kid, RESPECT.
Have a look to what the previous generations of coders did for the IT and what your one is doing and then think about what you write.
Just give you some names to start your homework: Stallman Knuth Torvalds Berners Lee Wozniak Ritchie Codd Thomson Engelbart and I could continue ....
I tried android studio(AS) and it makes your computer very very slow. I have a intel I5 core processor but it takes a lifetime to open AS. I tried to code a little and i see that auto-completion is great in AS. I tried to search the internet how to make AS fast so try it a little more. There are bunch of tutorials that say it can make the AS fast including disabling other programs. With all the hardwork you have to input just to make AS fast, i switched back to Eclipse. Eclipse is a lot lot lot faster than AS. Installing AS just wasted one day of my life.
As of May 2015, Android Studio support for NDK has significantly improved. You can choose between automatic native lib generation, or using your own Android.mk in more complex cases. But AS still does not provide a way to debug native parts of an app (if you are using JNI). This may be the last reason to keep Eclipse on one's desktop.
Update, a year later: Android Studio 2.2.1 provides decent NDK support, and is almost fully compatible with the old Android.mk - based configuration. And it does support C++ debug, much easier than Eclipse ever did.
The main Pro now is one has to use it for Android dev. The main con is many other tools still use Eclipse. Even Appium automated test framework for Android.
Nowadays one must use Android Studio. It has great features such as code search: one can context click on
Find Usages
when a class is highlighted and find uses in the code. (nevermind the word "usages" is incorrect English. :-) It's the Google way. Swim with it.
It has some tighter integration than was accomplished with Eclipsed such as the nice feature to context menu on an xml layout file and find where in code it is used. Useful.
Also, it uses Gradle so people can write their own build processes rather than having an IDE do it automatically. I think this frees Google from having to waste time figuring out how to make the IDE handle all the configuration mess.
While our build went from 2+ minutes with AS 1.x to 17 minutes with AS 2.x, this could be attributable to how we have our Gradle files laid out. We need a build programmer to make sure our build configuration is correct.
As you can see, the main Pro is one has to use it and the putative Pros are it has better support for Android code navigation and screen designers. The main Con is it moves from the standard IDE used for most all other Java development and it doesn't provide drastic improvements in performance. Another Con is it arguably introduces the need for a new role of build engineer; but many projects already were bogged down into manual build definitions with Maven; so, that may not be a Con depending on your team's speed.
For Android development definitely Android Studio is better than Eclipse. I have worked on Eclipse for almost 4 years but when I switched to Android Studio, I felt the difference. Below are few points I have noticed:
Performance:
Android Studio's performance is better than Eclipse and improving with each new release.
Intelligent:
Android Studio is more intelligent than Eclipse. It gives you suggestions more accurate and fast
More options:
You can build multi flavor APKs at once in build.gradle
Summary:
After working on Android Studio if you will work on Eclipse you will feel the same as driving a entry level car of Toyota after driving Lamborghini Aventador :)
I felt this difference
Update:
Android Studio 2.0 is coming. Its very very fast than current Android Studio. http://android-developers.blogspot.jp/2015/11/android-studio-20-preview.html
Update:
Android Studio 3.0 is released. As I mentioned 2 years ago about the difference, Android Studio is getting better day by day. Have a look into AS 3.0 : https://android-developers.googleblog.com/2017/10/android-studio-30.html
Update:
Android Studio 3.3 has been released last month. Please check here for more details: https://android-developers.googleblog.com/2019/01/android-studio-33.html

Is it possible to get older kernel versions from the android common repo?

I am trying to port the android kernel to a vendor SoC which is currently running the 2.6.35 kernel. I have looked for a while, and it seems that the only Google released kernels which are not made specifically for an existing device can be found here:
https://android.googlesource.com/kernel/common/+refs
The problem is that the oldest version they have there is 2.6.39. Is this there anywhere I can find older kernel versions which only have android specific material on them, or will I have to use this and settle the extra merging conflicts?
I am currently an intern (so I am new to all this..), and the last person in my position was apparently trying to merge the company kernel with something from ARM called "armdroid" (which has all the kernel versions):
http://linux-arm.org/git?p=armdroid.git;a=commit;h=3baa6a09028e75b210a659bc9b5c7631943edd44
This doesn't make sense though, because it looks like this kernel is designed to work with Realview and Versatile Express platforms, so trying to merge it with the code here would only cause more conflicts. No one here knows anything about android, and I can't get a good explanation as to why he was trying to use it.
For what I am trying to do, do you think that I should use the Google common kernel code, or could it be worth looking for a device specific kernel to merge with? And to repeat my main question, is there a way to get the older android kernel source code?
Thank you!
The 2.6.35 kernel was used by Gingerbread.
If there is no 'common' kernel, you have to use an old Samsung kernel and remove the Samsung-specific stuff.
Please note that 2.6.35 was released in 2010.
If that SoC cannot run a current kernel, you should not use it at all.

Project/versioning software - what's most commonly used for mobile/android?

Just curious whether folks still use CVS or if there are other versioning programs out there these days. Been out of software development for a few years and just kind of have the itch to play around a bit with some mobile development. I'd like something that I can share with at least one other remotely-located developer. Is there an industry standard or a particular program that most folks doing android development use?
Thanks!
Steve
CVS? Ancient history. It's either Subversion or Git these days. The type of development seems immaterial to where you archive it.
I use Mercurial (hg) DVCS to manage my projects (not just for Java, but also C and Python).
IMHO Mercurial is quite a modern VCS with very good support for merging (it has to since it is a DVCS).
If you are going to be working in parallel and doing lots of merges I'd recommend Mercurial.
If you are going to contribute to Android, you want to use git. Google has a layer on top of it called repo, which does a good job of dealing with the problem space they are dealing with.
If your last exposure was CVS, however, you may find that git is so much more powerful that it becomes confusing. hg is very good alternative. If you have a project which you are sure will never branch, and you need it to be PHB friendly, I recommend SVN.

Categories

Resources