Using repo sync for building android GPL-compliant? - android

the android sourcecode is pulled with repo sync, but as it consists of many repos, I can't think of a way how to create an exact same binary without kind of "exporting" the current state in a list with the repos with the last synced commit. But this is needed for it being GPL-compliant.
Or, as only the Linux-kernel is under GPL, ain't that needed?
Thanks for any answers!

Related

Is it possible to recover overwritten files from Android Studio?

For a mistake i've overwritten my two project that has same names from android studio and i've dismissed that action today i've tryed to open the main project and i've found no Java classes in it and just the layout's files.
While in the second project to which i was overwritting there is a huge confusion of files and trying to recover the project version by using history of Android Studio even those files has disappeared.
Is it possible in anyway to recover the whole project?
Ps: all that remain from that project is a generated apk.
I have some solutions that may work.
Candidates are:
Search for $AppData$ folders
Search for registries
(Hardest) you may have to preserve the disk state and carve the files yourself..
Cheers, and hope it helped..!
To use the third method(file carving), you may not cause many file operations occur!!(The system may overwrite the previous data)
Hopefully you used source control such as git or svn and it is a simple matter of reverting to the last commit you made, however that is done in your chosen source control. If you don't use source control, perhaps this will serve as a lesson to do so in the future.
I've not used Android Studio, but as a JetBrains product like IntelliJ, it will have a local history record of changes. But that would only record very recent changes.
If that doesn't work, you may have to find out if your chosen operating system backed up the files in a restore point etc.
If you have turned on the file history, you can use that to go to a previous version of the folder. Can also use system restore to go back to a previous date. Can also use third party softwares such as Recuva to get deleted files back.
Make sure to keep a copy of current state somewhere before trying these out.

Android AOSP Repo Sync Local Mirror

When you are working with AOSP repo you can create a local manifest folder and store your own manifest files for your own projects. As our project grows though we continue to add more projects to our manifest. We track this manifest file on git so we can all stay current.
The problem is that when you call repo sync you have to pull all the changes to your local manifest file first. If you don't you may miss out on required projects someone else has added. Well, repo is capable of syncing it's own manifest file and does so automatically when you call repo sync. Is there a way to have our own manifest file also get updated automatically at the same time before the actual sync occurs? I'd rather not use some extra script to do it, it would be really awesome if repo could handle this on it's own and I feel like it should be able to.
This sounds like a reasonable request. You might want to post it to the repo-discuss mailing list to get some traction (or get an explanation why it's a bad idea).
From my point of view, the point of local manifests is that they're... local. If you want to persist changes and share between different users via Git, why not modify the original manifest file (typically default.xml)? You've branched the manifest git anyway, and adding a separate section with your gits shouldn't cause much grief when merging.

When using repo tool how to delete all commits but keep my changed files?

Im using the repo tool to sync android source.
I have two questions about this;
When I change something in the source and sync later on but want to keep the changes, what is the correct way to do this? (im now doing git add ., git commit and later on merge if necessary) But this seems not to be the right way.
Can I reset the entire repo (all git dirs) to remove all commits but still keep all my changed files? (because they are all polluted with commits now)
Thanks.
As Far As I know repo does this for you. Once its done with sync it rebase you chanegs on TOP of that.
Or else you can try
git pull --rebase

AOSP downloading just one flavour (ICS) source code

This might be a trivial question but I dont know the answer to it. Looking for android gurus.
My task is to compile android kernel and run on a pandaboard. I cannot just take the uImages there are drivers which I need to modify..
Now one way is to download every thing from AOSP by repo init... and downloading 3-4 Gb of git from day 1 of android git init.
Is there a way to just get the source files for ICS. It is easy for linux just go to git.kernel.org and get the snapshot of the tag like 3.0 , is there a same git snapshot available in android ?
Any help is welcome....
TLDR: Not likely. Don't bother and simply repo sync to the branch you need.
Longer explanation:
If somebody has created snapshot of your particular tree, then you might be able to do that.
However, I don't think anybody will bother to do so, because having this git-less snapshot is pretty much useless from developer's standpoint, and space/traffic savings over repo sync are miniscule.
Note that git is extremely efficient at packing historic metadata in object store (provided it was packed by git gc recently). It is relatively rare situation when compressed git metadata takes more space than simple checkout of the top of the tree. Since repo sync only downloads compressed metadata, this process is very efficient.
So speed this up even further and avoid handling small objects, Android projects creates single-file compressed bundles for most repositories included in standard manifest, and modern repo script understands how to get these bundles first for efficiency, and then get small deltas afterwards. This allows to perform first repo sync much faster than otherwise. Basically, you are only limited by the speed of your internet connection.

how can I access SVN from an Android device

I've been trying to use SVN Kit to gain access to an SVN repository from an Android app.
Our project is supposed to check for changes to files and download them if they have changed, but still with the ability to rollback to previous versions if nessecary.
I set up a regular Java project, and had no problem using SVN Kit, I logged into the SVN server and retrived a list of the files stored there.
But when I tryed to do this from an Android project all hell broke loose. The VM run out of heap space, just trying to build it and Eclipse went down in sreaming flames mith comments like 'GC overhead limit exceeded'.
I get the impression that this is due to the diffrent type of virtural machine that Android uses, and the SVNKit jars are compiled for a diffrent type of VM.
This Guy claims to have got it working, with what looks like an older version of Android.
Now I have suggested that we use some kind of ftp server approach, uploading new versions of the files, perhaps with seperate files containing versioning information, but I have to explore this path before I write it off as a dead end, or at least suggest that to my boss!
anyu help or suggestions would be greatly appricated.
My answer may not be directly related to SVNKit but would actually try to address the original problem.
As I understand your use-case, you want to download files if they have changed and are trying to use SVN to do this with its update command. I would rather create a simple web-service which should return me the list of files with their checksums or md5Hash. Now I am assuming that only the relevant files are present on the server. Upon receiving the hashes, you can compare them with the hashes on the device and decide to update based on any difference. This approach will work for rollback too as you need to just replace the file on the server with old file and this would be treated as a new one.
As far as heap overflow and out of memory is concerned, they are mostly because of the limited heap space around 10MB.
I created a SVN client based on SVNKit it is available for free here : https://play.google.com/store/apps/details?id=com.valleytg.oasvnlite.android
I am not sure if that will work for your purpose or you have to build your own. If you are looking to build your own, svnkit will not work directly on the android platform. Some of the libraries used by SVNkit are not available on the Android platform.

Categories

Resources