How to port ROMs to the Galaxy Player series
The Galaxy Player range of devices have a lot of potential, but we could do with some more development going on. I'm mainly writing this guide to encourage more people to develop their own roms eventually and this will provide a good starting point. This guide will help you to create a CWM flashable rom.
WARNING:
This is an experimental method which means that it will not always work, especially for roms which have manufacturer skins such as Touchwiz, Sense etc...
Required packages, programs etc:
For this guide, you will require:
A Samsung Galaxy Player with CWM recovery
A USB cable or any other method to transfer files to your device
An archive explorer such as 7zip or Winrar although any archive explorer should do.
A text editor - I highly recommend Notepad++
A nandroid backup or some sort of recovery rom that you can restore from in case something goes wrong
Apktool for advanced users who want to edit system apps
Instructions:
Find a ROM you want to port and pm/email the dev asking for their permission to port it. This is probably the most important step in the process. Wait a few days for a reply if you have to. The most annoying thing for a dev to see are unauthorised ports - its happened to me and its not nice. If you have no reply after a week, it might be a better idea to move onto a different ROM. If the original dev refuses to allow you access to their work, then do not keep bugging them about it and move onto a new project. The galaxy players are ARM v7 devices so pick a rom from an ARM v7 device to port. A very large list of devices and their processor architecture type is available here.
Once you have the permission of the original dev, you should download the ROM you want to port. To keep things simple, let's rename it to Original. Then you need a base ROM from your device. If you are porting a GB ROM, use a CM7 or similar base. If you are porting an ICS ROM, use a CM9 or similar base. Let's rename this to Player. Bear in mind that your ported rom will have the same issues that your base rom has so its a good idea to pick the most bug free rom as a base. It's also a good idea to use open source roms as a base as they usually have more support over a range of devices so it may be easier to fix bugs.
Open both ROMs side by side using an archive explorer. Open the system folder and delete the app, framework and media folders from Player. Then select the app, framework and media folders from Original and copy them to Player
Navigate to Player/META-INF/com/google/android and open the updater-script in a text editor such as Notepad++. Edit the ui_print lines so those lines match the corresponding lines in the Original rom. Feel free to edit any of the lines, but it is best to modify as little as possible if you are unsure of what you are doing.
You will now have a functional port of a rom, so you can copy Player to your device and flash it. If the rom boots then great! If the rom fails to boot, check the basic troubleshooting section below.
If you want to make changes to some of the system apps, such as theming or changing their layout, use apktool to decompile them. Then you can edit the apps and recompile them properly. System apps must have the correct signature or your rom will not boot correctly. Check the troubleshooting section below for instructions on how to correctly sign system apps
Important
Remember this is not the end of development. In most scenarios this method will work, but there will be certain cases where the rom won't boot or certain aspects will not work.
Although the rom will have basic functionality, you should add your own tweaks to improve the functionality of your rom. You can port a fairly stock like rom such as CM9 and you can make it into your own rom by adding speed tweaks, theming the system apps, adding unique features and anything else you can think of.
If you choose to release your ported rom, you must give credit to the original developer and it's usually a good idea to give credit to the developer of the base rom you used. In addition, Please be aware that users will be asking you for help with any issues they occur, so be prepared to provide support. It's always a good idea to test your rom yourself to make sure it actually does what you claim it does.
Basic Troubleshooting
My rom doesn't boot. What should I do?
Click to expand...
Click to collapse
There are many reasons why a rom may not boot and the first thing you should do is obtain a logcat. My preferred method of doing so is to first install the Android SDK and then you need to set up your environment variables so your PATH variable is set to the location of Android-SDK/platform-tools. Then you should open a terminal window or command promt and enter adb logcat > [folder path]/logcat.txt . The logcat can then be opened in a text editor and look through it to see if there are any errors where a fatal error or something similar occurs.
Another thing you can try is to copy libandroid_runtime.so from Original to Player and see if the rom boots.
If this also fails then you can try copying LMprec_508.emd and PFFprec_600.emd from /system/media from the Base rom (you may need to redownload it) and copy it to /system/media of Player. Then flash the .zip file again to see if it now boots.
More to follow
Tips and tricks
My file host of preference is Mediafire as it typically has the fastest downloads. However some people cannot access Mediafire so it might be useful to have other mirrors available
Screenshots are a good way of showing people what your rom looks like so people can see whether they would like to try your rom
A changelog is useful for people to see what's new in the latest version so they know whether it is worth updating
You must be willing to take criticism and you must be able to be critical about your own work. Nobody knows everything, so if someone makes a suggestion that you don't like, try and see whether they actually have a vaild point. Also use Google and the XDA website to find fixes to issues instead of ignoring them as this will aid your development work in the long run.
Don't be afraid to ask for help!
Is it possible to port paranoid android rom with this method ?
Sent from my YP-G1 using xda app-developers app
GalaxySWifi4 said:
Is it possible to port paranoid android rom with this method ?
Sent from my YP-G1 using xda app-developers app
Click to expand...
Click to collapse
Paranoid Android is a pretty complex ROM so its pretty likely that this method will not work. However, it would be worth a try to port the PA ROM for the 5.0 as the 4.0 and 5.0 have pretty similar hardware.
Sent from my Nexus 7 using XDA Premium HD app
My port won't boot, netd won't start according to the logcat
I/Netd ( 1003): Netd 1.0 starting
I/Netd ( 1030): Netd 1.0 starting
I/Netd ( 1056): Netd 1.0 starting
I/Netd ( 1083): Netd 1.0 starting
I/Netd ( 1109): Netd 1.0 starting
I/Netd ( 1137): Netd 1.0 starting
I/Netd ( 1163): Netd 1.0 starting
I/Netd ( 1190): Netd 1.0 starting
I/Netd ( 1216): Netd 1.0 starting
I/Netd ( 1243): Netd 1.0 starting
I/Netd ( 1269): Netd 1.0 starting
I/Netd ( 1296): Netd 1.0 starting
theraf said:
My port won't boot, netd won't start according to the logcat
I/Netd ( 1003): Netd 1.0 starting
I/Netd ( 1030): Netd 1.0 starting
I/Netd ( 1056): Netd 1.0 starting
I/Netd ( 1083): Netd 1.0 starting
I/Netd ( 1109): Netd 1.0 starting
I/Netd ( 1137): Netd 1.0 starting
I/Netd ( 1163): Netd 1.0 starting
I/Netd ( 1190): Netd 1.0 starting
I/Netd ( 1216): Netd 1.0 starting
I/Netd ( 1243): Netd 1.0 starting
I/Netd ( 1269): Netd 1.0 starting
I/Netd ( 1296): Netd 1.0 starting
Click to expand...
Click to collapse
Which ROM are you trying to port and from which device? You might have missed out a step. I think it might be a problem with the libs not being compatible with the ported framework. I'm currently away from my computer so I can help you much so I'd advise you to Google the error to look for any possible fixes
Sent from my Nexus 7 using XDA Premium HD app
provision rom from galaxy nexus
it's something to do with the runtime libs apparently
theraf said:
provision rom from galaxy nexus
it's something to do with the runtime libs apparently
Click to expand...
Click to collapse
Which galaxy player do you have? Try copying the libandroid_runtime.so from the gnex ROM to your port
Sent from my Nexus 7 using XDA Premium HD app
4.0, already have and it didn't work i also tried copying libsqlite.so and libsqlite_jni.so
solved that error by copying player runtime.so and using gnex libsqlite.so and libsqlite_jni.so except now logcat is spamming with errors
E/MediaProfiles( 229): Guru :Else 1
E/MediaProfiles( 229): Guru : quality = 0, index = -1
E/MediaProfiles( 229): Guru : quality = 1, index = -1
E/MediaProfiles( 229): Guru : quality = 1000, index = -1
E/MediaProfiles( 229): Guru : quality = 1001, index = -1
E/MediaProfiles( 229): Guru : quality = 0, index = -1
E/MediaProfiles( 229): Guru : quality = 1, index = -1
E/MediaProfiles( 229): Guru : quality = 1000, index = -1
E/MediaProfiles( 229): Guru : quality = 1001, index = -1
E/MediaProfiles( 229): Guru : quality = 0, index = -1
E/MediaProfiles( 229): Guru : quality = 1, index = -1
E/MediaProfiles( 229): Guru : quality = 1000, index = -1
E/MediaProfiles( 229): Guru : quality = 1001, index = -1
E/MediaProfiles( 229): Guru : quality = 0, index = -1
E/MediaProfiles( 229): Guru : quality = 1, index = -1
E/MediaProfiles( 229): Guru : quality = 1000, index = -1
E/MediaProfiles( 229): Guru : quality = 1001, index = -1
theraf said:
4.0, already have and it didn't work i also tried copying libsqlite.so and libsqlite_jni.so
solved that error by copying player runtime.so and using gnex libsqlite.so and libsqlite_jni.so except now logcat is spamming with errors
E/MediaProfiles( 229): Guru :Else 1
E/MediaProfiles( 229): Guru : quality = 0, index = -1
E/MediaProfiles( 229): Guru : quality = 1, index = -1
E/MediaProfiles( 229): Guru : quality = 1000, index = -1
E/MediaProfiles( 229): Guru : quality = 1001, index = -1
E/MediaProfiles( 229): Guru : quality = 0, index = -1
E/MediaProfiles( 229): Guru : quality = 1, index = -1
E/MediaProfiles( 229): Guru : quality = 1000, index = -1
E/MediaProfiles( 229): Guru : quality = 1001, index = -1
E/MediaProfiles( 229): Guru : quality = 0, index = -1
E/MediaProfiles( 229): Guru : quality = 1, index = -1
E/MediaProfiles( 229): Guru : quality = 1000, index = -1
E/MediaProfiles( 229): Guru : quality = 1001, index = -1
E/MediaProfiles( 229): Guru : quality = 0, index = -1
E/MediaProfiles( 229): Guru : quality = 1, index = -1
E/MediaProfiles( 229): Guru : quality = 1000, index = -1
E/MediaProfiles( 229): Guru : quality = 1001, index = -1
Click to expand...
Click to collapse
Try removing the retouch binaries code from the updater-script and see if it makes a difference
Sent from my Nexus 7 using XDA Premium HD app
Supermaster34 said:
Try removing the retouch binaries code from the updater-script and see if it makes a difference
Sent from my Nexus 7 using XDA Premium HD app
Click to expand...
Click to collapse
i also get a load of errors from libc.so libwebcore.so libnativehelper.so and libdvm.so
so i replaced them with the gnex's
MEDIAPROFILE error is persisting
theraf said:
i also get a load of errors from libc.so libwebcore.so libnativehelper.so and libdvm.so
so i replaced them with the gnex's
Click to expand...
Click to collapse
Theoretically using libs from other devices will not work. Do the errors go away when you replace the libs? Also did you do the long winded installation for the rom? It might be a problem with the kernel
Supermaster34 said:
Do the errors go away when you replace the libs?
Click to expand...
Click to collapse
yes
Supermaster34 said:
Also did you do the long winded installation for the rom?
Click to expand...
Click to collapse
yes
apparently my new errors are due to the fact that I didn't do a full wipe between each flash...if it boots i'll feel like an idiot
What would happen if say tried to port a jelly bean ROM with a base of an ICS rom?
Karim.younus said:
What would happen if say tried to port a jelly bean ROM with a base of an ICS rom?
Click to expand...
Click to collapse
It won't boot
Sent from my Nexus 7 using XDA Premium HD app
Karim.younus said:
What would happen if say tried to port a jelly bean ROM with a base of an ICS rom?
Click to expand...
Click to collapse
it wouldn't work and besides there is not kernel support for jelly bean
looks like supermaster and i posted at exactly the same time
theraf said:
it wouldn't work and besides there is not kernel support for jelly bean
looks like supermaster and i posted at exactly the same time
Click to expand...
Click to collapse
Did your ROM boot after a full wipe?
Sent from my Nexus 7 using XDA Premium HD app
Supermaster34 said:
Did your ROM boot after a full wipe?
Sent from my Nexus 7 using XDA Premium HD app
Click to expand...
Click to collapse
nope, please look at the logcat on post #12
theraf said:
nope, please look at the logcat on post #12
Click to expand...
Click to collapse
I'll try and help you but remember that it is up to you to fix any errors in your rom
Sent from my Nexus 7 using XDA Premium HD app
OK. I'll start porting and adding stuff to ROMs when Jelly Bean gets going which will hopefully be when the Jelly Bean thread gets some info.
theraf said:
My port won't boot, netd won't start according to the logcat
I/Netd ( 1003): Netd 1.0 starting
I/Netd ( 1030): Netd 1.0 starting
I/Netd ( 1056): Netd 1.0 starting
I/Netd ( 1083): Netd 1.0 starting
I/Netd ( 1109): Netd 1.0 starting
I/Netd ( 1137): Netd 1.0 starting
I/Netd ( 1163): Netd 1.0 starting
I/Netd ( 1190): Netd 1.0 starting
I/Netd ( 1216): Netd 1.0 starting
I/Netd ( 1243): Netd 1.0 starting
I/Netd ( 1269): Netd 1.0 starting
I/Netd ( 1296): Netd 1.0 starting
Click to expand...
Click to collapse
The error has to do with your kernel config.You need to turn the dependencies and NETFILTERS on.
Related
How To FIX yourself the laggy deodexed browser.apk :
Credits :
pulser-g2 found this FIX.
He gave us the .smali files to modify.
Here is a link from his original answer : showpost.php?p=15317327&postcount=15
Click to expand...
Click to collapse
1/ Download "smali from browser.apk.zip" at the end of the post
Extract it in a folder, you should have 3 files :
* BitmapWebViewSurface3D.smali
* BitmapWebViewLayout.smali
* BitmapWebView.smali
2/ Download smali-1.2.6.jar and baksmali-1.2.6.jar : HERE
and rename them in smali.jar and baksmali.jar
3/ Create a folder with :
baksmali
smali
your stock deodexed browser.apk (with the Lag bug)
Click to expand...
Click to collapse
4/ With 7-Zip open (without extracting) your stock browser.apk and drag and drop classes.dex in the folder with baksmali
Don't close 7-Zip windows
5/ Open a CMD promt (start > run > cmd) and goto your folder : cd C:\path of your folder\
6/ Then run the command: (don't close CMD)
Code:
java -Xmx512m -jar baksmali.jar classes.dex
An OUT folder is created
7/ Copy the 3 .smali files in \out\com\android\browser and overwrite if prompted
8/ Then run the command :
Code:
java -Xmx512m -jar smali.jar out -o new_classes.dex
A new_classes.dex fils is created
9/ Delete out folder and classes.dex
10/ rename new_classes.dex in classes.dex
11/ In the 7-Zip windows : delete classes.dex and drag and drop the classes.dex you renamed. You can close 7-Zip
not an obligation : (using my how to Extract ...) :
12/ Put your Moded browser.apk in _Kit_Deodexage/app/ then run Deodex_Gingerbread.cmd in order to zipalign
13/ in Deodex_app you have your FIXED deodexed browser.apk
the end
Edit : fixed KF2 browser.apk added (attached)
This fix is not working anymore on 2.3.4 KG1 and KG2
sicopat said:
Hi,
Hope some Devs can help me.
I saw a fix for laggy browser.apk in the Lite'ningROM Thread.
I made a simple deodexed KF1 ROM and i have this trouble :
The scrolling function of the browser is very laggy. I didn't have this trouble with official or customROM.
As you see I am a noob.
Any help will be appreciate ...
SicO
Click to expand...
Click to collapse
Custom ROMs use an older browser.apk usually. I'm going to try work out the slow-down cause some time.
pulser_g2 said:
Custom ROMs use an older browser.apk usually. I'm going to try work out the slow-down cause some time.
Click to expand...
Click to collapse
Thanks Pulser for this fast answer.
If I find an old Browser.apk.
I will have to re sign it ?
Edit : I tried with one from a customROM "Bmarko-Muveszur-KE7".
I have Force close : "com.android.browser" (witch seem to be the cache ?)
sicopat said:
Thanks Pulser for this fast answer.
If I find an old Browser.apk.
I will have to re sign it ?
Click to expand...
Click to collapse
No, it would work fine, provided the signatures in your rom were the same to begin with.
pulser_g2 said:
No, it would work fine, provided the signatures in your rom were the same to begin with.
Click to expand...
Click to collapse
Edit : I take the Laggy Browser fix "Browser.apk" from LitePro (for Lite'ningROM 1.0) :
The apk is starting.
When I touch the screen, to scroll, to choose a favourite, I have some "force close" of com.android.browser.
If I touch any link, no force close, same if I don't touch anything
any idea ?
Any other idea ?
this is the logcat :
D/PowerManagerService( 2803): setLightBrightness : mButtonLight : 69
I/InputDispatcher( 2803): Dropped event because of pending overdue app switch.
I/InputDispatcher( 2803): Dropped event because of pending overdue app switch.
I/InputDispatcher( 2803): Dropped event because of pending overdue app switch.
I/InputDispatcher( 2803): Dropped event because of pending overdue app switch.
I/HomeKeyDoubleClick( 2803): addAction() is called. action = 0 canceled = fals
e
I/HomeKeyDoubleClick( 2803): in addAction(), now add
I/HomeKeyDoubleClick( 2803): in addAction(), down event. now call postCheckRunna
ble().
I/HomeKeyDoubleClick( 2803): postCheckRunnable() is called
I/HomeKeyDoubleClick( 2803): in postCheckRunnable(), now posting.
I/HomeKeyDoubleClick( 2803): in postCheckRunnable(), posting success.
I/HomeKeyDoubleClick( 2803): addAction() is called. action = 1 canceled = fals
e
I/HomeKeyDoubleClick( 2803): in addAction(), now add
W/PowerManagerService( 2803): Timer 0x7->0x3|0x0
I/PowerManagerService( 2803): Ulight 7->3|0
D/PowerManagerService( 2803): setLightBrightness : mButtonLight : 0
E/lights ( 2803): write_int: path /sys/devices/virtual/misc/melfas_touchkey/bri
ghtness, value 2
D/PowerManagerService( 2803): onSensorChanged: light value: 100
D/BatteryService( 2803): update start
E/BatteryService( 2803): TMU status = 0
D/BatteryService( 2803): updateBattery level:64 scale:100 status:2 health:2 pres
ent:true voltage: 3927 temperature: 340 technology: Li-ion AC powered:false USB
powered:true icon:17302229
I/StatusBarPolicy( 2918): BAT. S:2 H:2
I/InputReader( 2803): dispatchTouch::touch event's action is 0
I/InputDispatcher( 2803): Delivering touch to current input target: action: 0, c
hannel '4096ffc8 D├®sol├® ! (server)'
I/PowerManagerService( 2803): Ulight 3->7|0
D/PowerManagerService( 2803): setLightBrightness : mButtonLight : 69
E/lights ( 2803): write_int: path /sys/devices/virtual/misc/melfas_touchkey/bri
ghtness, value 1
I/InputReader( 2803): dispatchTouch::touch event's action is 1
I/InputDispatcher( 2803): Delivering touch to current input target: action: 1, c
hannel '4096ffc8 D├®sol├® ! (server)'
I/Launcher( 3011): onWindowFocusChanged(true)
I/HomeKeyDoubleClick( 2803): run() is called ***********************************
******************
I/HomeKeyDoubleClick( 2803): isSingleClick() is called
I/HomeKeyDoubleClick( 2803): list value = (0) 0 (1) 1
I/HomeKeyDoubleClick( 2803): in isSingleClick() true
I/HomeKeyDoubleClick( 2803): -------------------------------single clicked
I/HomeKeyDoubleClick( 2803): singleClickJob() is called.
I/HomeKeyDoubleClick( 2803): in singleClickJob(), mSentHomeDownToApp is false.
Now call launchHomeFromHotKey()
I/HomeKeyDoubleClick( 2803): launchHomeFromHotKey() is called.
I/HomeKeyDoubleClick( 2803): in launchHomeFromHotKey(), now call startDockOrHo
me(), #2
I/HomeKeyDoubleClick( 2803): reset() is called
I/HomeKeyDoubleClick( 2803): in reset() after reset, mPosted = false mHomeActi
onList.size() = 0
I/ActivityManager( 2803): Starting: Intent { act=android.intent.action.MAIN cat=
[android.intent.category.HOME] flg=0x10200000 cmp=com.sec.android.app.twlauncher
/.Launcher } from pid 2803
I/Process ( 6547): Sending signal. PID: 6547 SIG: 9
E/com.samsung.app( 3851): [MSC]>>> WeatherWidgetProvider.java:303 [0:0] onReceiv
e()@@@ sec.android.intent.action.HOME_PAUSE
E/com.samsung.app( 3851): [MSC]>>> WidgetIdManager.java:39 [0:0] AccuWeatherCloc
kWidgetID_Length
E/com.samsung.app( 3851): [MSC]>>> WidgetIdManager.java:40 [0:0] getPrefIDs() :
length = 0
E/com.samsung.app( 3851): [MSC]>>> WeatherWidgetProvider.java:1511 [0:0] disable
handler
D/PhotoAppWidgetProvider( 3807): OnReceive Start
D/PhotoAppWidgetProvider( 3807): PauseSlideShow Start
D/CalendarAppWidgetProviderAgenda( 3353): ACTION_HOME_PAUSE: false
D/CLIPBOARD( 2803): Hide Clipboard dialog inside hideSoftInput() !
I/Launcher( 3011): onResume(). mIsNewIntent : true screenOff: false
E/com.samsung.app( 3851): [MSC]>>> WeatherWidgetProvider.java:303 [0:0] onReceiv
e()@@@ sec.android.intent.action.HOME_RESUME
E/com.samsung.app( 3851): [MSC]>>> WidgetIdManager.java:39 [0:0] AccuWeatherCloc
kWidgetID_Length
E/com.samsung.app( 3851): [MSC]>>> WidgetIdManager.java:40 [0:0] getPrefIDs() :
length = 0
D/PhotoAppWidgetProvider( 3807): OnReceive Start
D/PhotoAppWidgetProvider( 3807): RestartSlideShow Start
D/dalvikvm( 3011): GC_EXTERNAL_ALLOC freed 554K, 53% free 3976K/8327K, external
11760K/11775K, paused 27ms
D/Buddies--------------------------->( 3867): Service:OnReceive ACTION_HOME_RESU
ME called
I/ActivityManager( 2803): Process com.android.browser (pid 6547) has died.
I/WindowManager( 2803): WIN DEATH: Window{40c23fa0 com.android.browser/com.andro
id.browser.BrowserActivity paused=false}
I/WindowManager( 2803): WIN DEATH: Window{4097c530 SurfaceView paused=false}
W/GpsLocationProvider( 2803): Unneeded remove listener for uid 1000
E/lights ( 2803): write_int: path /sys/devices/virtual/misc/melfas_touchkey/bri
ghtness, value 2
W/PowerManagerService( 2803): Timer 0x7->0x3|0x0
I/PowerManagerService( 2803): Ulight 7->3|0
D/PowerManagerService( 2803): setLightBrightness : mButtonLight : 0
C:\ADB\platform-tools>
Click to expand...
Click to collapse
Ok, thanks
Problem solved re signing the Browser.apk from Lite'ningROM.
Thanks to LitePro for this (old ?) version of the browser.apk
I'm also having this issue. Any chance you could upload the apk somewhere?
Cheers
dfube said:
I'm also having this issue. Any chance you could upload the apk somewhere?
Cheers
Click to expand...
Click to collapse
Here is my Browser.apk.
If not working, you could try copying the META_INF folder from your original Browser.apk to mine and re zipallign. Or yust resign my apk with the same signature you used for your rom
Hi
Do you use a script to deodex or do you make all apps manually?
Mackzen said:
Hi
Do you use a script to deodex or do you make all apps manually?
Click to expand...
Click to collapse
I used a script. Give a try to SGS deodex script.
sicopat said:
I used a script. Give a try to SGS deodex script.
Click to expand...
Click to collapse
thanks, will try...
sicopat said:
I used a script. Give a try to SGS deodex script.
Click to expand...
Click to collapse
hi do you mind to share the script with us? does it also zipalign the rom?
the reason is i would like to deodex the rom to apply my own customisations, but most of the roms here are already too heavily modified.
If you pulser_g2 read me
I knwow you found the way to fix deodexed new versions of browser.apk.
I can just replace the META_INF folder from yours with mine in order to use your fix.
But I would be really pleased in fixing myself the browser.apk.
Could you share your experience ?
Thanks
I ported back a couple of the smali files from the KE2 version of the browser (or indeed a working one) into the new version.
The files ported from older version to newer were:
BitmapWebViewSurface3D.smali
BitmapWebViewLayout.smali
BitmapWebView.smali
If done correctly, it gives you a non-lagged up browser on KF2 or whatever you use.
P
pulser_g2 said:
I ported back a couple of the smali files from the KE2 version of the browser (or indeed a working one) into the new version.
The files ported from older version to newer were:
BitmapWebViewSurface3D.smali
BitmapWebViewLayout.smali
BitmapWebView.smali
If done correctly, it gives you a non-lagged up browser on KF2 or whatever you use.
P
Click to expand...
Click to collapse
Many many thanks, once again.
I 'a going to try it too.
I will add this FIX in my thread How TO deodex and add you to credits, once again lol.
I will give the link to your previous post
Edit in first post with my How To for fixing the Lagy Browser using pulser-g2 FIX
"1/ Download "smali from browser.apk.zip" at the end of the post
Extract it in a folder, you should have 3 files :
* BitmapWebViewSurface3D.smali
* BitmapWebViewLayout.smali
* BitmapWebView.smali"
Where's the dowload link?
nitrozk said:
"1/ Download "smali from browser.apk.zip" at the end of the post
Extract it in a folder, you should have 3 files :
* BitmapWebViewSurface3D.smali
* BitmapWebViewLayout.smali
* BitmapWebView.smali"
Where's the dowload link?
Click to expand...
Click to collapse
Is that the link in the point no.2
Edit : Nope . am wrong
nitrozk said:
"1/ Download "smali from browser.apk.zip" at the end of the post
Extract it in a folder, you should have 3 files :
* BitmapWebViewSurface3D.smali
* BitmapWebViewLayout.smali
* BitmapWebView.smali"
Where's the dowload link?
Click to expand...
Click to collapse
Jist added end of first post
Hi there!
I am trying to port rom from another device (AOSP GT540 to our phone)
as this is my first try of doing port
I can't say that this port will work
I need some help
I am getting lot's of error
phone is not booted
here is logcat
--------- beginning of /dev/log/main
I/DEBUG ( 1418): debuggerd: Jun 13 2011 00:42:24
E/RPC ( 1426): error opening /dev/oncrpc/3000008c:00040000: No such file or directory
E/RPC ( 1426): ERROR OPENING [/dev/oncrpc/3000008c:00040000]: No such file or directory
E/RPC ( 1426): failed to initialize client (permissions?)!
E/loc_api_rpc_glue( 1426): Error: cannot create RPC client.
D/WiperIface( 1426): WiperIface open : Location handle -1234, pid 1426
D/libloc ( 1426): loc_read_gps_conf: using /etc/gps.conf
D/libloc ( 1426): loc_read_gps_conf: PARAM INTERMEDIATE_POS = 1
D/libloc ( 1426): loc_read_gps_conf: PARAM ACCURACY_THRES = 3000
D/libloc ( 1426): qct_loc_eng_wiper_init: wiper enable = 0
--------- beginning of /dev/log/system
I/Vold ( 1416): Vold 2.1 (the revenge) firing up
D/Vold ( 1416): Volume sdcard state changing -1 (Initializing) -> 0 (No-Media)
D/Vold ( 1416): Volume sdcard state changing 0 (No-Media) -> 2 (Pending)
D/Vold ( 1416): Volume sdcard state changing 2 (Pending) -> 1 (Idle-Unmounted)
W/Vold ( 1416): Ignoring unknown switch 'usb_connected'
W/Vold ( 1416): Ignoring unknown switch 'usb_configuration'
W/Vold ( 1416): Ignoring unknown switch 'usb_connected'
W/Vold ( 1416): Ignoring unknown switch 'MSM72K_UDC'
W/Vold ( 1416): Ignoring unknown switch 'MSM72K_UDC'
W/Vold ( 1416): Ignoring unknown switch 'usb_configuration'
Click to expand...
Click to collapse
hi,
first messages are from non working GPS, maybe you have a wrong/missing GPS libraries
other messages are related to USB ("ignoring unknown switch... blah").
both types of messages arent bad, phone have to boot - even with these errors.
did you get some other errors?
ya,first I got audioeq error but then I replaced libaudioeq file
so you mean phone should also boot with those error
or I am doing something wrong ?
after this log phone stuck at LG logo and do nothing not booting and no log
ya,first I got audioeq error but then I replaced libaudioeq file
so you mean phone should also boot with those error
or I am doing something wrong ?
after this log phone stuck at LG logo and do nothing not booting and no log
Click to expand...
Click to collapse
Uhh may we know what rom you are exactly porting?? That may help us more in guiding you...
Sent from my LG-P500 using xda premium
Rockr172 said:
Uhh may we know what rom you are exactly porting?? That may help us more in guiding you...
Sent from my LG-P500 using xda premium
Click to expand...
Click to collapse
it is GT540 Aosp
want to port for our phone
aspee said:
it is GT540 Aosp
want to port for our phone
Click to expand...
Click to collapse
Hmmm kewl... but you should try doing it from source... now while porting this if you are stuck, its quite tough to get outta it... look at ciaox sense port.. it just cant be completed.. sorry but all the best with it...
Sent from my LG-P500 using xda premium
yup but LG optimus net ROm is first port by GT540 devs and then we port there port to our P500
LG gt540 and LGp500 are from same manufacture so I think it's not so tough for porting
as in ciaox case he is porting HTC rom
and he success but The only problem is with that baseband related things
so htc doesn't gave the source code
that's why he was not able to port it
and I have 2 weeks to work on this port as it is diwali
aspee said:
yup but LG optimus net ROm is first port by GT540 devs and then we port there port to our P500
LG gt540 and LGp500 are from same manufacture so I think it's not so tough for porting
as in ciaox case he is porting HTC rom
and he success but The only problem is with that baseband related things
so htc doesn't gave the source code
that's why he was not able to port it
and I have 2 weeks to work on this port as it is diwali
Click to expand...
Click to collapse
O1 hardware isnt the same as Optimus SX or GT540.
Alle devices have different hardware but the GT540 - there is the same GPU and CPU, but other RIL and some more stuff.
Copy only some libs wouldnt work - some parts have to be compiled from sources or can be used by compiled libs, this needs a lot of luck.
wish you all the best and good luck
andy572 said:
O1 hardware isnt the same as Optimus SX or GT540.
Alle devices have different hardware but the GT540 - there is the same GPU and CPU, but other RIL and some more stuff.
Copy only some libs wouldnt work - some parts have to be compiled from sources or can be used by compiled libs, this needs a lot of luck.
wish you all the best and good luck
Click to expand...
Click to collapse
thank you very much,andy
I will try to learn creating from source
but what's the problem in this port
why there is no log after this
if I don't get what is problem then how could I fixed it?
please help me
you get the log when open adb (android debug bridge) from windows:
Code:
c:\>adb logcat
or just use the "ddms" application, this is the visual live debugger for android.
you can debug all code but the kernel.
andy572 said:
you get the log when open adb (android debug bridge) from windows:
Code:
c:\>adb logcat
or just use the "ddms" application, this is the visual live debugger for android.
you can debug all code but the kernel.
Click to expand...
Click to collapse
Andy i am using same method
I got logcat as listed above
I get it using
Adb logcat >> log.txt
Sent from my LG-P500 using xda premium
Trying to get the Call Recording Mod to work for Sprint and other variants as well.
The exact the change I've made in this thread.
The file modded is SecPhone.apk.
This is the Sprint MDL Stock SecPhone.apk
This is the modified one. (Again this doesn't work properly yet...)
The mod itself does what it's intended to do, which is to add the Record button, but the actual recording itself doesn't work properly. The time never increases (On the phone call screen) and the call is never recorded. On top of that it locks up when you try to Stop it or End the call, and it eventually reboots the entire system. (full instant reboot)
Here's the logcat messages that believe are important:
Code:
D/alsa_ucm( 223): Set mixer controls for Capture Call Uplink Downlink enable 1
D/alsa_ucm( 223): Setting mixer control: MultiMedia1 Mixer VOC_REC_UL, value: 1
D/alsa_ucm( 223): Setting mixer control: MultiMedia1 Mixer VOC_REC_DL, value: 1
D/ALSADevice( 223): close: handle 0x43aab7a8 h 0x0
D/ALSADevice( 223): open: handle 0x43aab7a8, format 0x2
D/ALSADevice( 223): Device value returned is hw:0,0
V/ALSADevice( 223): flags 11000000, devName hw:0,0
V/ALSADevice( 223): pcm_open returned fd 59
D/ALSADevice( 223): handle->format: 0x2
D/ALSADevice( 223): setHardwareParams: reqBuffSize 320 channels 1 sampleRate 8000
D/ALSADevice( 223): setHardwareParams: buffer_size 640, period_size 320, period_cnt 2
E/alsa_pcm( 223): cannot prepare channel: errno =-22
D/AudioStreamInALSA( 223): pcm_read() returned n < 0
D/AudioStreamInALSA( 223): standby
D/AudioStreamInALSA( 223): standby
D/AudioStreamInALSA( 223): into standby, stop record
Here is the kmsg output that continuously repeats:
Code:
[ 1601.856506] voice_cvs_stop_record: apr_cvs is NULL.
[ 1601.856658] voice_cvs_stop_record: apr_cvs is NULL.
[ 1601.856719] voice_cvs_stop_record: apr_cvs is NULL.
[ 1601.856872] voice_cvs_stop_record: apr_cvs is NULL.
[ 1601.864715] voice_cvs_stop_record: apr_cvs is NULL.
[ 1601.864868] voice_cvs_stop_record: apr_cvs is NULL.
[ 1601.864929] voice_cvs_stop_record: apr_cvs is NULL.
[ 1601.865020] voice_cvs_stop_record: apr_cvs is NULL.
[ 1601.865386] soc-audio soc-audio.0: can't get BE for INCALL_RECORD_RX
[ 1601.865447] MSM8960 Media1: no BE found for INCALL_RECORD_RX
[ 1601.865600] soc-audio soc-audio.0: can't get BE for INCALL_RECORD_TX
[ 1601.865753] MSM8960 Media1: no BE found for INCALL_RECORD_TX
[ 1601.871398] MSM8960 Media1: dpcm: no backend DAIs enabled for MSM8960 Media1
Anyone know much about the audio API's that can help out here?
errno -22 is EINVAL or Invalid Argument... So something with the recording function in the actual apk seems like it's not setup properly? But yet it works on the International versions without issue... So I'm not sure...
Have you check out the libs and seen if any are missing that the international version has? Maybe a CSC line. Hmm...
clark44 said:
Have you check out the libs and seen if any are missing that the international version has? Maybe a CSC line. Hmm...
Click to expand...
Click to collapse
Ahhh, good point didn't even think about that... I'll compare them when I get time tonight.
Unknownforce said:
Ahhh, good point didn't even think about that... I'll compare them when I get time tonight.
Click to expand...
Click to collapse
Good thread, will try and help as much as possible
On that note, what does the last_kmsg have to say about the reboot? Maybe its kernel related? If im not mistaken, believe there had to be a kernel tweak for the S3...
last_kmsg says same thing as what's listed above, nothing extra... just repeats that over and over.
One thing I can say is that it's not anything in the apk file that makes it work properly, because I was able to flash the international SecPhone.apk and it produced the same results.
So nothing special in there, so it's definitely a library or a kernel thing...
Unknownforce said:
last_kmsg says same thing as what's listed above, nothing extra... just repeats that over and over.
One thing I can say is that it's not anything in the apk file that makes it work properly, because I was able to flash the international SecPhone.apk and it produced the same results.
So nothing special in there, so it's definitely a library or a kernel thing...
Click to expand...
Click to collapse
If it's in the kernel try looking at the variant defconfigs and see if something's included/excluded.
garwynn said:
If it's in the kernel try looking at the variant defconfigs and see if something's included/excluded.
Click to expand...
Click to collapse
I'm leaning towards kernel..
Sent from my SGH-M919 using Tapatalk 2
The ROM I'm using (Mine) is using KT SGS4's latest...
I'm not too familiar with kernel development, but I'll decompile it and take a look... does you guys know what I would need to modify in the kernel?
Unknownforce said:
The ROM I'm using (Mine) is using KT SGS4's latest...
I'm not too familiar with kernel development, but I'll decompile it and take a look... does you guys know what I would need to modify in the kernel?
Click to expand...
Click to collapse
No need to decompile. Kt shoukd have a repo posted. Just look in arch/arm/configs for jf defconfig and the variants. Sprint is spr, for example
Sent from my SPH-L900 using Tapatalk 2
This guy figured out how to do the Call Recorder mod and it works on our Sprint GS4. He has both an odex and deodexed version. I flashed the odex version on stock, odex, rooted MF9 and it works perfectly.
http://forum.xda-developers.com/showthread.php?t=2352797
No issues with the ktoonsez kernel and the Viper4Android mod.
RAZR XT710 EU
I've had spotty GPS functionality ever since I've switched to the CM10.1 roms which means I had to sometimes restart the phone to get the blinking status icon. But once it was blinking I knew it took a few seconds to lock and I would get some satellites even indoors.
Two weeks ago the GPS stopped working completely, ever since I removed the SIM card. I've tried reinstalling the same ROM, installing other ROMs, doing a clean install on another slot (4.1.2. SPREM) but it just does not want to find any satellites.
I've used GPS Toolbox, Faster GPS and NMEA Decoder to see what it's outputting. On one ROM I was getting some strings with $PMOTO but no NMEA position strings.
The libgps shows an error code which could be either 9 on one ROM or 12 on another:
Code:
D/libgps_GpsMgr( 444): schedGps() mode: 3, tbf: 0, accuracy: 0, perf: 0, pAgps: null
D/libgps ( 444): GpsInterface_stop()
E/libgps ( 444): recv_command_status() : fix returned error code 9
D/libgps_GpsMgr( 444): sched() set mode: 3, tbf: 0
D/libgps ( 444): status_cb: GPS_STATUS_SESSION_END (2)
D/libgps_GpsMgr( 444): schedGps() mode: 0, tbf: 1, accuracy: 0, perf: 0, pAgps: null
D/libgps ( 444): GpsInterface_set_position_mode( 0, 1, 100, 0 )
D/libgps ( 444): GpsInterface_start()
D/libgps_GpsMgr( 444): sched() set mode: 0, tbf: 1
D/GpsLocationProvider( 444): NTP server returned: 1382386872254 (Mon Oct 21 22:21:12 CEST 2013) reference: 36370 certainty: 18 sy
stem time offset: -326353
D/libgps ( 444): GpsInterface_inject_time( 1382386872254, 36370, 18 )
D/libgps ( 444): status_cb: GPS_STATUS_SESSION_BEGIN (1)
V/PhoneStatusBar( 576): setLightsOn(true)
D/libgps ( 444): GpsXtraInterface_inject_xtra_data( 0x41FC6370, 60862 )
......
E/libgps ( 444): recv_command_status() : fix returned error code 12
AFAIK the GPS functionality is on the same chip with WiFi and Bluetooth, both of which work perfectly. Is there any antenna connector that might have come loose? I didn't see any in the ifixit teardown.
Can Matt's utility be used to reset a phone that's non-Verizon? Or should I use RSD?
Fixed by flashing the factory firmware with RSD Lite.
Hi,
I also had a problem with GPS in Russia,
Here is a solution what helped me.
http://forum.xda-developers.com/showthread.php?p=43910953
If you don'thave the gps.omap4.so file, just placed the attached file on system/lib/hw, fix permissions (RWX / R-- / R--) via any root file explorer and reboot.
Click to expand...
Click to collapse
Q&A for [DEV-only][WIP] ALSA BCM21553 Audio libs built from source - BroadcomCM
Some developers prefer that questions remain separate from their main development thread to help keep things organized. Placing your question within this thread will increase its chances of being answered by a member of the community or by the developer.
Before posting, please use the forum search and read through the discussion thread for [DEV-only][WIP] ALSA BCM21553 Audio libs built from source - BroadcomCM. If you can't find an answer, post it here, being sure to give as much information as possible (firmware version, steps to reproduce, logcat if available) so that you can get help.
Thanks for understanding and for helping to keep XDA neat and tidy!
Same Kernel but Cm 7 vs cm 9 have opposite Audio bug. Help?
Hi guys, just recently moved from Glass kernel modding and realized that my old Galaxy Y s5360 needed a fix. Ace and Y share same chipset so I'm writing to the most knowledgeable thread.
I see that you guys have got the BT a2dp working. I flashed bieltv rc4 kernel + cm 9.2 rc 5 and my bluetooth a2dp audio was fine but no mic / speaker working with normal phone call. Although phone music plays fine.
Also noticed that the ported ics rom from cm made phone slow + gms / vending didn't recognize device. So i decided to revert back to gingerbread using same kernel with customized hyperion 2015 rom.
With this the phone and all other audio fine + faster using gingerbread but the Bluetooth audio didn't work even after successful pairing with beats pill (thus worked before using cm 9.2).
So basically
cm 9 based ics rom works bt audio but not phone call.
Vs
CM 7 based gingerbread works phone and play service but not Bluetooth.
I understand that broad com stopped support and many devs moved to Alcatel-Lucent based libs and merged them.
Currently the rom I'm using is great except the bt audio. Which you guys have fixed in cm 9.
So my question is since both are running off biel last kernel, it would be possible to rewrite some of the cfg and libs on my current os to get it fully working (on gingerbread).
There are lots of threads and many git repo shared by all devs so basically I'm unclear which one had the right combo of libs.
I hope you can take few mins tui reply me back. I'm not a very active forum user but I am an experienced modder working for Google Glass QA Testing team, so hopefully if you can just show me the way i will be able to fix the rest without bothering you.
Thanks in advance
RK
@AUGmedix
nvsetup said:
I've created this thread to join developers into the final audio fix for android 2.3.7. Although the prupose of this thread is to fix Audio on Android 4.0.4 we first need audio drivers source.
On all our based Android 2.3.7 ROMs we fixed audio using some AOSP Alcatel .so files (to remove Samsung lib dependency) and some Samsung .so libraries too, this is the whole list:
Our device uses ALSA audio system, which is also used on stock ROM. This is related to software more than hardware, although we are not planning at the momnt to "change" this audio way. To activate ALSA audio some changes need to be done on kernel, that samsung provide to us on their kernel sources. Mostly we need to enable ALSA on device .config file:
Code:
CONFIG_BRCM_SOUND_ALSA=y
CONFIG_BRCM_SOUND_ATHENA_ALSA=y
That's not an issue as prebuilt alsa libs work, so new libs should work too. Ramdisk needs some edit too, as ALSA audio system is stored on dev/snd, and this is well defined too on our ramdisk, ueventd.rc
Code:
/dev/snd/* 0660 system audio
We realised after that that actually CyanogenMod 7.2 Sources include ALSA lib sources, what we didn't know if those sources could work with our devices. This sources build the following libs, as releated to its Android.mk files:
We can found inside /android_hardware_alsa_sound/tree/gb-release-7.2"]hardware/sound_alsa the following sources to build
libaudio
libaudioflinguer
hw/alsa.default
hw/acoustics.default
On
libasound
And apart from that, some other audio libs such as libaudiopolicy are built inside framework/base repository, but they doesn't make any conflict. Other libs are included on Android source files.
To enable the build of those libs, using ALSA software instead af "Android default (not sure about that)". I've enabled on Boardconfig.mk the following configs:
Code:
# Audio
BOARD_USES_GENERIC_AUDIO := false
BOARD_USES_ALSA_AUDIO := true
BOARD_PREBUILT_LIBAUDIO := false # even not writted.
BUILD_WITH_ALSA_UTILS := true
This configs enable the building of those libs on their Android.mk files.
Also, I've added on device_cooperve.mk the following lines to build those hw modules releated to audio:
Code:
# Audio
PRODUCT_PACKAGES += \
alsa.default \
acoustics.default
After the build finished, and fixed some errors, AUDIO WAS WORKING, but not as expected. There were issues on Audio Routing:
Headphones are detected through system, but audio is not reproduced on headphones (speakers does)
When you make a call, sometimes you can't and phone freezes, or when you hangout the call, phone freezes.
Everything else apart from that seems to be working, even microphone, although this bugs are pretty weird, I took a look to logcat.
Code:
[COLOR="Gray"]D/AndroidRuntime( 1419): CheckJNI is OFF
I/ ( 1420): ServiceManager: 0xad50[/COLOR]
[COLOR="Red"]E/ALSALib ( 1420): external/alsa-lib/src/control/control.c:882:(snd_ctl_open_noupdate) Invalid CTL AndroidOut[/COLOR]
W/AudioHardwareALSA( 1420): Unable to attach mixer to device AndroidOut: No such file or directory
[COLOR="Red"]E/ALSALib ( 1420): external/alsa-lib/src/control/control.c:882:(snd_ctl_open_noupdate) Invalid CTL AndroidIn[/COLOR]
W/AudioHardwareALSA( 1420): Unable to attach mixer to device AndroidIn: No such file or directory
D/AudioHardwareALSA( 1420): openOutputStream called for devices: 0x00000002
D/ALSAModule( 1420): open called for devices 00000002 in mode 0...
I/ALSAModule( 1420): Initialized ALSA PLAYBACK device AndroidPlayback_Speaker_normal
I/AudioHardwareALSA( 1420): buffer size (bytes) to AF = 16384
D/AudioFlinger( 1420): setParameters(): io 1, keyvalue routing=2, tid 1593, calling tid 1420
I/AudioFlinger( 1420): AudioFlinger's thread 0x1d978 ready to run
D/ALSAModule( 1420): route called for devices 00000002 in mode 0...
I managed to fix those errors (E/) by moddifying asound.conf, found on system/etc, adding this lines on the top and deleting old ones:
Code:
ctl.AndroidOut {
type hw
card 0 # Can replace with drivers name from /proc/asound/cards
}
ctl.AndroidIn {
type hw
card 0
}
Now logcat shows this at the moment
Code:
[COLOR="Gray"]D/AndroidRuntime( 1425): CheckJNI is OFF
I/ ( 1426): ServiceManager: 0xad50[/COLOR]
D/AudioHardwareALSA( 1426): openOutputStream called for devices: 0x00000002
D/ALSAModule( 1426): open called for devices 00000002 in mode 0...
I/ALSAModule( 1426): Initialized ALSA PLAYBACK device AndroidPlayback_Speaker_normal
I/AudioHardwareALSA( 1426): buffer size (bytes) to AF = 16384
D/AudioFlinger( 1426): setParameters(): io 1, keyvalue routing=2, tid 1604, calling tid 1426
I/AudioFlinger( 1426): AudioFlinger's thread 0x1d960 ready to run
D/ALSAModule( 1426): route called for devices 00000002 in mode 0...
Actually that's the actual logcat, using headphones, and sound goes through speakers:
Code:
D/dalvikvm( 1926): GC_EXTERNAL_ALLOC freed 324K, 49% free 3317K/6471K, external 571K/579K, paused 58ms
V/HeadsetObserver( 1607): Headset UEVENT: {SUBSYSTEM=switch, SWITCH_STATE=2, DEVPATH=/devices/virtual/switch/h2w, SEQNUM=1335, ACTION=change, SWITCH_NAME=h2w}
W/Vold ( 1415): Ignoring unknown switch 'h2w'
V/HeadsetObserver( 1607): Intent.ACTION_HEADSET_PLUG: state: 1 name: h2w mic: 0
I/HeadsetService( 1907): Headset plugged: true
I/Effect-DRC( 2115): Compression factor set to: 1.000000
I/Effect-BassBoost( 2115): New strength: 0
D/SurfaceFlinger( 1607): Layer[1c62e0] [2] non-RGB565 reloads
I/Effect-Equalizer( 2115): Setting band 2 to 0
I/Effect-Equalizer( 2115): Setting band 2 to 1
I/Effect-Equalizer( 2115): Setting band 2 to 2
I/Effect-Equalizer( 2115): Setting band 2 to 3
I/Effect-Equalizer( 2115): Setting band 2 to 4
I/Effect-Equalizer( 2115): Setting loudness correction reference to 100.000000 dB
D/AudioFlinger( 2115): setParameters(): io 1, keyvalue routing=8, tid 2117, calling tid 2115
D/ALSAModule( 2115): route called for devices 00000008 in mode 0...
D/ALSAModule( 2115): open called for devices 00000008 in mode 0...
I/ALSAModule( 2115): Initialized ALSA PLAYBACK device AndroidPlayback
D/dalvikvm( 1926): GC_EXTERNAL_ALLOC freed 323K, 49% free 3327K/6471K, external 571K/579K, paused 44ms
We must take a look if that is kernel relevant or not, as we really need this libs to work, to then start working on CyanogenMod 9.1 / Android 4.0.4 audio. Any suggestions are welcomed, although if they are from newbie or developer, don't want this thread to be spammed as others
Click to expand...
Click to collapse