ok guys, i need some help. and knowing me the answer is staring me directly in my face, but i need it pointed out to me. I am working on compiling from AOSP, and have eclipse set up to compile from AOSP everything(that i know of.) when running make build type everything is generic, i'm trying to compile for the device specific. what do i need to do to setup make to compile for the droid, nexus, magic, or dream. do i need to compile my own kernel?
what is happening is every time i go to push an .apk (that i have compiled) to my phone and reboot i either get a boot loop or a black screen so obviously something isn't right.
to give my steps up to this point.
i have followed the directions as set on this page: source.android.com/download
as well as the directions set on this page: source.android.com/using-eclipse
i also had to do a few other steps to get everything running correctly on ubuntu 9.1 (sun-java5-jdk in particular)
i can edit the source and no errors are present in eclipse, so with my logic i feel like i am missing something with make or in my set up somewhere any help would be greatly appreciated.
edit: mods if this is in the wrong place please move it where it should go. i took a shot in the dark guess
make runs without erroring out.
i've made a little progress today as i am working on this at work. where my problem is coming in is that the sholes board isn't supported by lunch in any of the repo's that i have downloaded(master tree, android-2.0.1_r1, android-2.1_r2, android-2.1_r1) does anyone know where i can get that info or how i can set it up?
reading more into the documentation on: source.android.com/documentation/building-for-dream, it mentions unzip-files.sh in the htc vendor directory. only one problem there isn't a motorola directory. does the unzip-files.sh script in the htc directory work the same for the motorola droid? i'll have to try it and see when i get home. if there is a differnt or better way to do this i would definately appreciate it.
sniffle said:
reading more into the documentation on: source.android.com/documentation/building-for-dream, it mentions unzip-files.sh in the htc vendor directory. only one problem there isn't a motorola directory. does the unzip-files.sh script in the htc directory work the same for the motorola droid? i'll have to try it and see when i get home. if there is a differnt or better way to do this i would definately appreciate it.
Click to expand...
Click to collapse
id doubt it, and i cant say my way is a "better" way, but if nothing else you can just adb pull the files from the droid manually...
-BMFC
No matter what I do or use, (Aptana or Eclipse) errors always show in the XML files and I can never get anything to run.
I've done google searches and I can't find answers...I also can't seem to force ignore the errors in the IDE.
The other day I almost broke my keyboard, it's driving me crazy because it's such a stupid issues I can't seem to fix.
PLEASE, I just want it to work...xda is my last resort, I don't want to bug you guys about this, but I just want answers.
*** BUMP ***
without the files and errors no one here can help you.
http://pastebin.com
nenn said:
without the files and errors no one here can help you.
http://pastebin.com
Click to expand...
Click to collapse
You want me to upload the entire eclipse/aptana setup I have?
This is not unique to the sources, this happens with any code...this has something to do with my IDE setup.
Same thing happens on my workstation and my desktop at home.
in the spirit of understanding the problem, how far along developing are you? have you tried compiling the sample code thats out there already?
without information on what you know how can anyone help you solve your problem?
nenn said:
in the spirit of understanding the problem, how far along developing are you? have you tried compiling the sample code thats out there already?
without information on what you know how can anyone help you solve your problem?
Click to expand...
Click to collapse
Yes, can't compile anything...it always tells me an XML error.
I'm not at a point where I can give you the exact error, but I probably can tomorrow.
Start Eclipse and delete all Errors in the Problems View.
Then try to recompile.
Sometimes it solve the problems
Post the xml manifest and errors.
It is a pain to get started. Take a break and try again.
I would recommend un-installing Eclipse and any Android SDK stuff and start from scratch re-installing everything. If you haven't already, use the Android developer section walkthrough to set Eclipse up properly. They indicate which versions of Eclipse and the JDK to download. Maybe you installed the wrong versions of Eclipse or JDK?
Just something to try.
PM Kingklick he's the best at compiling Android.
Well hello everyone.
I am an application development student from Belgium.
I am proficient in Java, VB.NET, some c/c++ and also PHP/JS/HTML/CSS
Anyways, my recent interest has been going out to creating custom roms for the galaxy S!
The problem now is though, I was able to find some guides and such, but most were incomplete, and for HTC(and other) devices.
I have no idea what is different between making a ROM for galaxy S or a ROM for an HTC device.
If anyone would like to link me to some good resources that can help me on my way, or would like to collaborate (and in the meanwhile teach me a bit) I would be more than happy! (I am open for collaboration as I am pretty proficient in Java and I'm always happy to code and learn more about coding!)
I think the question is really want you want to do!
Custom ROMs for Android are as simple as using recovery console to replace files on the system with your own versions.
ie. Replace the framework.apk which contains all theme images with your own modified one, which you can use to skin the device. Same for replacing other system apps.
Unfortunately, most of these apps are closed source, so modifying them is difficult. The stock android system has open source versions of most of them though, and you can modify those and build them, and then replace the ones on the device. I'm not entirely sure how to build them up though, but it probably isn't too hard.
Then there are custom kernels, which let you actually change the underlying linux system underneath android - Samsung has an open source version of the kernel available that you can compile, and then flash to your phone using Odin or other tools. Compiling the kernel is pretty tricky though.
Well i'm really talking about stuff like SamSet, MoDaCo, Doc's ROM and others.
I'm not saying I want to create a pro ROM in a day or anything, but i'd really love to learn more to get better (always looking for more stuff to put on the resume, I guess?!)
Thanks a lot,
Kenny
Bump for some help
(sorry for the double post but i'm really eager to learn)
I don't have time to give a detailed response right now. However you will want to read up on yaffs (file system) and odexing/deodexing ROMs.
Thank you I will definately do that,
I am following a guide now to start out creating custom ROMs for android, however it was written for Motorola Droid and I have no idea what you have to do different for a samsung galaxy s.
I am a good coder, even though I say so myself, with a lot of experience. I also have a lot of linux experience, you name it
Only the problem is the old, and much known "where do I get started?"
So if anyone can point me out in the right direction on that, tell me how/where you started out, I would appreciate it greatly!
Thanks!
Very sorry to bump again
I set up my environment in ubuntu today to get started (just gotta fix a few errors, didn't know android wouldn't compile on java 1.6, only on 1.5)
Anyways, still need some help here! thanks!
Again I am awefully sorry for the bump here but i'd really like some help.
Note that i'm not a newbie at coding whatsoever and i'm not unfamiliar with some hardcore java, c/c++ and other languages, I'm just having trouble getting started when it comes to modding an existing android release (there are tutorials on HTC and other devices but some methods do not apply to the galaxy S)
If you're trying to create a ROM from scratch then unfortunately you're out of luck at the moment. No one has really managed to do so yet. By "from scratch" I mean the Android Open Source Project (i.e. official Android git repository).
What you can do is grab an existing firmware. Extract the contents, de-odex the apks, modify them or add new apks, optionally you can also compile a custom SGS kernel using Samsung's kernel source. Then you can re-odex the ROM, pack it back up and distribute it.
There's no real "starting place" as such and you won't yet find any tutorials about how to create SGS ROMs. Just give it a go and see where you get.
Yes, I do mean creating a ROM from stock samsung firmware, of course.
So my next logical question would be now:
How do I go over extracting contents from the existing samsung firmware, de-odexing and so on?
Any links/guides/tips are greatly appreciated, as long as they are applicable to this cell phone and not totally crap, thanks!
Samsung uses rfs, I think you should know. There is a thread somewhere in this forum regarding extracting .rfs file. Understood you need Debian though.
For some readup, go search for a famous guy named JesusFreke. Tons of materials...
Hope that from here onwards, this can lead you on, and to find out more. Google is your friend too...
I'm afraid my biggest problems already occur in setting up the environment, so it's really the very beginning that gets me stuck, i'm sure coding would be a bikeride compared to setting up the environment for me (i'm no hero in linux,not at all, i'm afraid)
How the hell do I get from point A (being downloading the full source) to point B (starting to create a custom ROM?)
thanks
of course if anyone has the time, and wants to, you can PM me your msn or something, if anyone is up to it
Raykoid666 said:
I'm afraid my biggest problems already occur in setting up the environment, so it's really the very beginning that gets me stuck, i'm sure coding would be a bikeride compared to setting up the environment for me (i'm no hero in linux,not at all, i'm afraid)
How the hell do I get from point A (being downloading the full source) to point B (starting to create a custom ROM?)
thanks
of course if anyone has the time, and wants to, you can PM me your msn or something, if anyone is up to it
Click to expand...
Click to collapse
Agreed completely! Getting a full cross-compilation to Samsung's Android going is seriously difficult! There have been some promises for tutorials and guides for setting things up though, but none have appeared yet. Probably because it's hard!
Well thank you for agreeing with me on that.
I am really hoping for anyone that can help me out here, either on here or in private, and give some detailed instructions on how to get started.
Hell there is enough information on creating roms alread, deodexing, adding/removing apps etc etc etc... The real problem lies in setting everything up properly.
I think I have gotten to the point where I'm compiling the android source (without samsung specific files)
note i'm saying "i think i am compiling" because i'm hoping it won't error out on me again after an hour of compiling!
But once that is done... I have no idea where to go next, where to get the samsung specific files, or what to do with them whatsoever once i have them
thanks!
Android generic source won't actually help you much. Samsung has made a huge number of changes to it, and while it is all open source, backporting their changes to get your stock source running on the phone is a major undertaking. I believe cyanogenmod was actually working on this, but it seems without much success so far.
What the other rom makers you see are doing is taking a snapshot of a running rom, copying over all of the APKs and the files on a running device, and then tweaking those. ie. Opening up framework-res.apk and changing the image files inside.
The update.zip roms that are what most people are doing are really just using the Android recovery to replace files on the phone with their own versions. Since the underlying system is linux, and everything is a file, this actually works pretty well.
The kernel development effort is completely separate from the rest of the system though, and Samsung has provided the entire source tree that just has to be compiled. I'm a bit stumped myself on all the details of setting it up, but I have seen some threads on this forum about it, and it didn't seem too bad to set up. Apparently you shouldn't use the codesourcery toolchain though, or something. Not too clued up on it, sorry. Hopefully someone with the details can chime in, or give us a link to the old post on it (I'm failing to find it using the search function! )
Alright sounds good!
So these recovery files you are talking about (the contents of /system) how do i retrieve those from a base ROM such as JM7 or the likes after a clean flash?)
Raykoid666 said:
Alright sounds good!
So these recovery files you are talking about (the contents of /system) how do i retrieve those from a base ROM such as JM7 or the likes after a clean flash?)
Click to expand...
Click to collapse
Root your phone, zip them up onto the sdcard, and then copy them off.
There are probably better methods, but this works fine.
Also, with credits to Unhelpful, he has told me that the correct toolchain to be using is 'uClibc or eglibc toolchain with ct-ng'. I have no idea what to do with that yet, but it's a start.
RyanZA said:
Root your phone, zip them up onto the sdcard, and then copy them off.
There are probably better methods, but this works fine.
Also, with credits to Unhelpful, he has told me that the correct toolchain to be using is 'uClibc or eglibc toolchain with ct-ng'. I have no idea what to do with that yet, but it's a start.
Click to expand...
Click to collapse
You don't even need to root your phone to pull /system Ryan
adb pull /system <random folder>
is all you need ^^
Alright thank you, I managed to get all the /system files using abd pull /system
now next thing up would be de-odexing right, before I go editing stuff?
Now before I go de-odexing. Can anyone tell me what exactly de-odexing is and why I need it?
and what do I need to do to create an update.zip again?
thanks a lot all!
Tayutama said:
You don't even need to root your phone to pull /system Ryan
adb pull /system <random folder>
is all you need ^^
Click to expand...
Click to collapse
Haha cool, didn't know you could pull whole folders!
Raykoid666 said:
Alright thank you, I managed to get all the /system files using abd pull /system
now next thing up would be de-odexing right, before I go editing stuff?
Now before I go de-odexing. Can anyone tell me what exactly de-odexing is and why I need it?
and what do I need to do to create an update.zip again?
thanks a lot all!
Click to expand...
Click to collapse
The apk files in Android are odexed - that means they have a special index applied for dalvik that speeds them up somehow! I don't know how, I haven't checked how it actually works.
The important point is though:
odexed is faster, but you can't edit it because of signatures or something technical
deodexed means you can change it however you want
More useful info can be found from google - lots of it!
update.zip is easy - it's a zip file in a special format that can be understood by Android's recovery console. The easiest way to do it is to grab an existing update.zip and modify it as needed. Tayutama has millions of em around, so use his!
Then you need to sign it once you're finished with it so that the SGS will accept it. Samsung made a boo-boo and didn't disable the test keys for the 2.1 SGS firmwares. That makes it easy!
http://www.londatiga.net/it/how-to-sign-apk-zip-files/
Just use the test keys to sign it, and then copy it to /sdcard/update.zip and reboot into recovery and it'll work.
I have programmed in java for quite some time, and am decent at android apps.
However, i have two questions about developing on my device (rooted samsung captivate).
First, how can i get dev tools to run correctly on my phone. I have installed it as stated in "developer.android com/guide/developing/debug-tasks html#additionaldebugging". However, when clicking on Dev Settings it crashed with HARDWARE_TEST security exception. I have read that you need to sign/run it as system.
Is it possible to run it on my rooted captivate? if so how do i install it as system or find the system signature to sign it.
My other question is about programing, compiling, and running android applications from a device. I can take my .apk and unzip it. Then edit any resource files. Then rezip and sign it. However if i want to replace the actual code i need to compile it. I can use an online java compiler but i need to convert it to android format.
I know that dx.bat does this by using dx.jar . I can add dx.jar to the referenced libraries of my app. However i cant figure out what to do past there. Is what i am attempting even possible?
Thanks for your help.
There's a couple threads in this forum from folks like me who want to do this. Perhaps you can help us figure it out
Step one is I think to get an java compiler running on the phone. Then to make a version of DX that can run on the phone to convert the class to .apk
Thanks. in normal java programs you can use "com.sun.tools.javac.Main.compile( new String[] {args} );" found in the "<sdk>/lib/tools.jar" to compile a program. And dx.jar is what is used to covert it to android, however i do not know what to call in it.
We just need to find a way to get these jars to work on android.
Hello all,
I have hardly posted on this forum because I usually don't need to. My answers are usually answered in some thread or another. I have been lurking for a couple of years now. Thanks to all the XDA users who help out.
I am perfectly satisfied with the Nexus 7 completely stock, with one exception: I want to access windows and linux/samba shares from the tablet over Wifi. I do not want to install a custom ROM to do this. I saw a thread or two that mentioned this briefly, saying there was a kernel that does this, but mostly it is all vague. I found one kernel in the development forum that provides CIFS, but I do not know if that will work with the stock rom if I were to flash it.
Would someone please help me understand this? All I want is to use files on my other computers.
Thanks in advance!
-David
You can access files on a network with ES file explorer.
Sent from my Nexus 7 using XDA Premium HD app
If you want to mount the CIFs shares as local directories then you need to be rooted and the stock ROM will need some additional kernel modules. You don't need a custom ROM in that respect, but you do need to root the device. Cifs Manager, which only works as root anyway, will allow you to load the modules and then manage the mounting/unmounting of the shares.
There's the N7 specific modules in qwerp_'s thread here: http://forum.xda-developers.com/showthread.php?t=1781411. The 10th post of that thread tells you how to add those modules.
There's a Cifs Manager thread here: http://forum.xda-developers.com/showthread.php?t=756158 which details some common problems and set up tips.
thankyousam said:
If you want to mount the CIFs shares as local directories then you need to be rooted and the stock ROM will need some additional kernel modules. You don't need a custom ROM in that respect, but you do need to root the device. Cifs Manager, which only works as root anyway, will allow you to load the modules and then manage the mounting/unmounting of the shares.
There's the N7 specific modules in qwerp_'s thread here: http://forum.xda-developers.com/showthread.php?t=1781411. The 10th post of that thread tells you how to add those modules.
There's a Cifs Manager thread here: http://forum.xda-developers.com/showthread.php?t=756158 which details some common problems and set up tips.
Click to expand...
Click to collapse
Thanks Thankyousam! A little redundant, but thank you. I'll try this out tonight and report back how it went. I appreciate your thoroughness!
-Dave
COMPLETE
hesperaux said:
Thanks Thankyousam! A little redundant, but thank you. I'll try this out tonight and report back how it went. I appreciate your thoroughness!
-Dave
Click to expand...
Click to collapse
Just so everyone knows, I got this to work flawlessly , but I had to go through hell to make sharing on Windows 7 work properly . I'm going to document that here for everyone's benefit.
Before I start, the end result was watching VOB format movies over wifi for 2+ hours with no issues at all. Very pleased with this. You can't do this with a basic SMB browser (because it has to download the file before viewing it).
I followed a lot of tutorials online after my initial attempts at sharing over the network failed. I wanted to do this WITHOUT a HomeGroup and WITH USER SECURITY ENABLED. I didn't want to share everything to Everyone like most tutorials suggest.
It turned out that sharing worked fine, with or without HomeGroup enabled, but only with other Windows 7 machines. This is because Microsoft hates my life and because it doesn't support "legacy" devices by default. The coolest part about all of this is that there is no way to fix this except by editing the registry directly. I will paste the registry fix into this post and also link to the source (Microsoft) just in case the link goes down.
Open: regedit.exe as Administrator
Navigate to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
Create: DWORD (32-bit), called "AllowLegacySrvCall"
Set: AllowLegacySrvCall = 1 (binary, hex, or octal, doesn't matter if it's value is 1)
(I am a new user and cannot post links...)
support.microsoft.com/kb/957441
Another important thing: in the Network and Sharing Center, you'll need to edit advanced sharing options and enable 48- and 56-bit encryption support for older protocols (Don't use the 128-bit encryption because it probably won't work with most other devices, like the tablet).
Lastly, in your CIFS mount options (in CIFSManager this is the last input box in the settings) you may need to add domain=WORKGROUP,sec=ntlmv2
This is because the username it logs in with may or may not need to be specified according to the workgroup you are in (or domain, if applicable). The security option tells CIFS.ko to use one of the more recent authentication protocols that Windows 7 requires by default. You can change this default setting in Windows 7, but I think it is better to use the updated authentication method from Android since it appears to be supported.
Hope that helps anyone who is raging about this. I know I did.
If I think of anything else that's important, I will try to update this post. If anyone has any questions about getting this to work, let me know!
Thanks again to all who helped me figure this out. CIFS is wonderful!
-Dave