[GUIDE] Starting extras of Settings app - Miscellaneous Android Development

I was trying to add a shortcut for running applications by command but didn't found the correct syntax here, after some digging (and luck), I decided to share it :
(must run with system privileges)
For MM :
Code:
am start -n com.android.settings/com.android.settings.SubSettings -e :settings:show_fragment com.android.settings.applications.RunningServices
ps : kitkat was using android instead of settings and ProcessStatsUi instead of RunningServices :
Code:
am start -n com.android.settings/com.android.settings.SubSettings -e :[COLOR="Red"][B]android[/B][/COLOR]:show_fragment com.android.settings.applications.[COLOR="Red"][B]ProcessStatsUi[/B][/COLOR]
ps2 : lollipop users were having force closes with kitkat command so I assume it's working with MM one, but test it to be sure.
See this page for a list of extras (android 6.0.1) (some requires additionnal argument thus will force close settings app if used alone)
I don't have nougat so it could be different again (navigate to the appropriate section and test)

Related

[UTIL] getcyan [v2.1 updated 2009-07-29] - Shell script to get a CyanogenMod ROM

*** v2.1 Updated 2009-Jul-29 : Integrated into CyanogenMod ROM v3.9.3 (experimental) ***
WHAT IT DOES:
Gets ROMs: Gets a particular version of the CyanogenMod series of ROMs, verifies the MD5sum of the downloaded ROM file and sticks it on your SD card as update.zip, ready for you to flash. You can even fetch experimental and test versions of CM ROMs with this script.
List ROMs: You can list available ROMs on cyanogen's server. You can choose to list the latest available, the latest 5, or all available ROMs in the STABLE, EXPERIMENTAL and TESTING branches on cyanogen's server.
Automatically Reboot into recovery: It has an option to automatically reboot into recovery mode after a successful ROM download, to ease the flashing process. If you use this option, it counts down 10 seconds to give you a chance to change your mind in case you decide you do not want to reboot. During this countdown, you can ctrl+c out of the script (If you're doing this on the phone, to type "ctrl+c" you press the trackball, then hit the "c" key). I recommend that you install cyanogen's Recovery image
Backward compatibility mode: For those who prefer the way the old 1.0 script behaved, and fetch a ROM with a minimum of fuss without messing with pesky command line parameters
PRE-REQUISITES:
Busybox (for all the script goodness)
Root access (makes life easier)
Apps2SD (not mandatory)(the script goes on your ext2 partition)
HOW TO INSTALL:
In case the script is not already present in your CM ROM (or if you want to upgrade), simply follow the steps below to install/upgrade it.
Unzip the attached zip file
Push the "getcyan" script to your SD card, onto the ext2 partition. This is usually at "/system/sd". You can use adb push as follows:
Code:
adb push <PATH_TO_EXTRACTED_SCRIPT>/getcyan /system/sd
If you want to create a softlink to the getcyan script so you don't have to keep typing the full path to the script, do the following on the phone (or after running "adb shell"):
Code:
su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
rm -f /system/bin/getcyan
ln -s /system/sd/getcyan /system/bin/getcyan
mount -o ro,remount -t yaffs2 /dev/block/mtdblock3 /system
OR
Note that from adb, instead of typing in the whole mount command as above, you could also do the following
Code:
adb remount
adb shell
rm -f /system/bin/getcyan
ln -s /system/sd/getcyan /system/bin/getcyan
(thanks to Karolis for this tip)
Change the permissions on the script:
Code:
su
chmod 755 /system/sd/getcyan
USAGE:
You really should open up terminal and get a root shell using "su" before running the script. It has the following options:
Code:
OPTIONS :
-g VER - get/fetch CM ROM with version VER.
VER can be (see NOTE below):
latest - The latest available
x.x[.x]* - A particular version number
like 3.4 or 3.6 or 3.6.8.1
-G - get latest version. Shorthand for "-g latest"
-x - Get/list ROM(s) from experimental branch
-t - Get/list ROM(s) from testing branch
-l NUM - list/show NUM number of ROM(s).
NUM can be (see NOTE below):
latest - Show latest available ROM
some - Show the 5 latest ROMs
all - Show all available ROMs
-L - list latest. Shorthand for "-l latest"
-r - reboot into recovery after fetch
-f - override filename
-h - Help/usage (This message)
-v - Show version number of this script
NOTE:
For both the -g and the -l options above:
The ROMs listed/fetched depend on whether -t or -x
were passed in or not.
If -t was specified, then ROMs from the testing
directory will be shown/fetched
If -x was specified, then experimental ROMs will
be shown or fetched
If neither -x or -t was specified, then stable ROMs
are fetched
SHORTCUTS :
-6 - Get latest stable ROM and reboot into recovery
shorthand for "-g latest -r"
-8 - Get latest experimental ROM and reboot into recovery
shorthand for "-g latest -x -r"
EXAMPLES:
To see what the latest stable ROM is
Code:
getcyan -l latest
OR
Code:
getcyan -L
To see the last 5 experimental ROMs
Code:
getcyan -l some -x
To see all testing ROMs
Code:
getcyan -l all -t
To see what the latest experimental ROM is
Code:
getcyan -l latest -x
OR
Code:
getcyan -L -x
To get the latest stable ROM
Code:
getcyan -g latest
OR
Code:
getcyan -G
To get the latest stable ROM and automatically reboot into recovery mode
Code:
getcyan -g latest -r
OR
Code:
getcyan -G -r
OR
Code:
getcyan -6
To get the latest experimental ROM and automatically reboot into recovery mode
Code:
getcyan -g latest -x -r
OR
Code:
getcyan -G -r -x
OR
Code:
getcyan -8
To get a particular version of a ROM - say 3.6
Code:
getcyan -g 3.6
To get a particular version of a ROM - say 3.9 from the experimental branch, then reboot into recovery
Code:
getcyan -g 3.9 -x -r
To get a ROM with a particular filename. In this example, we get the "donuthole-20090725.zip" ROM from the testing branch (Notice the use of the "-f" parameter to force the filename override)
Code:
getcyan -g donuthole-20090725.zip -f -t
Backward Compatibility Mode - For that old-timey feeling. In this example, we get CM ROM version 3.6
Code:
getcyan 3.6
ACKNOWLEDGEMENTS:
ttabbal - For the md5sum idea
spacezorro - For the "latest" idea
Cyanogen - For the ROMs, man, for the ROMs
CHANGELOG:
2.1
Added (actually fixed) backward compatibility mode
Added version number (with option to display it, for scripting)
Cleaned up help message to remove irrelevant faff
This script is present in CyanogenMod Experimental ROM 3.9.3
2.0
List available ROMs - latest, latest 5 or all
Listing/fetching ROMs from stable, experimental and testing branches
Get latest ROM or a particular version
Ability to fetch an unconventionally-named ROM by specifying the filename on the command line
Automatically reboot into recovery mode after a successful fetch
This script is present in CyanogenMod Experimental ROM 3.9.2
Excellent job. Can't wait till Cyanogen just packages it with his mods.
beast.in.black said:
Apps2SD (the script goes on your ext2 partition)
Click to expand...
Click to collapse
Wouldn't it also work to stick this into /data/local/bin, which is already in the PATH variable by default (at least on cyan's ROMs). Of course, that way it would disappear on wipe, but it would be easier to run the script.
I tried adding a 'export PATH="$PATH:/system/sd/bin"' line to my userinit.sh, but it didn't have any effect. It probably runs too early...
@firetech : Yes, you could definitely stick it in your /data/local/bin...but as you pointed out, it will be lost on wipe. In case you don't have (or want) apps2sd, then this is an option for you. I would, however, recommend apps2sd along with the symlink method I outlined in the "How to install" section.
@overpower: Thanks
Used your original one from CM thread. Great that you added the experimental version download option.
When I came to read this post, I thought you were talking about switching between multiple versions of ROMs from cyano.
Do you think this can be extended to other ROMs as well?
Do you think writing peripheral code for really installing/reinstalling a ROM version would be a good idea to add to this script? For example:
1. Backup current /system/sd, along with the nandroid backup of the system and the ROM ZIP.
2. Mark the above with a ROM version and create a folder for it on /sdcard.
3. Provide the reverse to go back and forth between ROM versions. Make the nandroid backup from the selected ROM folder the latest so that recovery can restore it, copy the ZIP file in /sdcard as update.zip in case a wipe is needed.
Right now, this is a painstaking job to toggle between 2 ROMs.
If you are doing these steps in ADB, step #3 can be done much easier. Just type adb remount and that's it!
Also, at least on my phone it does not seem to want to work unless I su first.
Otherwise great script! Makes life much more easier. I like taking risks and downloading experimental ROM 15 minutes before my flight to foreign country, where if my phone is dead, I'm dead. This script will definitely allow me to do crazy stuff with more confidence
Oh, and I wish Cyanogen would add it to the ROM itself. At least until the OTA updater is built.
devsk said:
Do you think writing peripheral code for really installing/reinstalling a ROM version would be a good idea to add to this script?
Click to expand...
Click to collapse
devsk, interesting idea indeed...Let me put some thought into this
Karolis said:
If you are doing these steps in ADB, step #3 can be done much easier. Just type adb remount and that's it!
Also, at least on my phone it does not seem to want to work unless I su first.
Click to expand...
Click to collapse
Karolis, the script needs to run as root since otherwise wget has problems. I'll make this explicit in the instructions. Also, thanks for pointing out the "adb remount" command, I've added it to the instructions
I will try this, sounds like a great idea... thanks
Is there any way to add this to gscript? Since there needs to be interaction from the user, I would guess you would have to edit each time to make it work.
Yeah I will put it in 3.9.1 until we get a proper OTA updated finished.
cyanogen said:
Yeah I will put it in 3.9.1 until we get a proper OTA updated finished.
Click to expand...
Click to collapse
Sweet! Thank you.
Also, I know you must be sick of questions like this, but: is there an ETA for 3.9.1. I've seen you are playing with donut. Hopefully that won't postpone 3.9.1. too much...
You're the best!
beast.in.black, I've just had an idea for the future of this script. How about posting "a call to action" ir development and theme forums asking for all devs to use the same naming convention for their roms and themes + provide checksums. That way you could expand the script beyond CM's ROMs (that is if you want).
Of course not everyone would join this cause as some people don't have server resources to post stuff and it wouldn't work with file sharing services, but hey, it's worth a try.
What do you think?
Gscriptable getcyan
pixel-painter said:
I will try this, sounds like a great idea... thanks
Is there any way to add this to gscript? Since there needs to be interaction from the user, I would guess you would have to edit each time to make it work.
Click to expand...
Click to collapse
I hacked mine to use...
Code:
wget -q -O- http://n0rp.chemlab.org/android/ |grep "${FNAME_PREFIX}.*${FNAME_SUFFIX}\""|sed "s/.*<a href=\"//;s/\".*//"|tail -n1
Then I got the "scripting bug" and I rewrote it a bit so it wasn't hacked up.
Code:
#!/system/bin/sh
FNAME_PREFIX="update-cm-"
FNAME_SUFFIX="-signed.zip"
MD5NAME_SUFFIX="${FNAME_SUFFIX}.md5sum"
SAVEFNAME=/sdcard/update.zip
MD5CMD="md5sum -c"
MOD_FILENAME=""
MOD_MD5NAME=""
MIRROR="http://n0rp.chemlab.org/android/"
usage()
{
echo
echo "Usage : $0 ( [VERSION] [-x] | -h )"
echo " Gets a particular version of the CyanogenMod"
echo " series of ROMs, and sticks it on your SD card"
echo " as update.zip, ready for you to flash."
echo
echo "Args :"
echo " -h - Help (This Message!)"
echo " VERSION - The CM ROM version to fetch."
echo " -x - Specify that the version you want to fetch"
echo " is an EXPERIMENTAL version."
echo
exit
}
cleanup()
{
rm -f ${SAVEFNAME}
rm -f ${MOD_FILENAME}
rm -f ${MOD_MD5NAME}
}
latest()
{
wget -q -O- ${MIRROR}${EXPER} |grep "${FNAME_PREFIX}.*${FNAME_SUFFIX}\""|sed "s/.*<a href=\"//;s/\".*//"|tail -n1
}
if [ "$1" = "-h" ];
then
usage
fi
# check if user wants an experimental build
EXPER=""
if [ "$1" == "-x" ];
then
EXPER="experimental/"
echo "Experimental build specified"
elif [ "$2" == "-x" ];
then
EXPER="experimental/"
echo "Experimental build specified"
fi
if [ -z $1 ];
then
MOD_FILENAME=`latest`
MOD_MD5NAME=${MOD_FILENAME}.md5sum
VER="Latest"
elif [ "$1" == "-x" ];
then
MOD_FILENAME=`latest`
MOD_MD5NAME=${MOD_FILENAME}.md5sum
VER="Latest Experimental"
else
MOD_FILENAME=${FNAME_PREFIX}${1}${FNAME_SUFFIX}
MOD_MD5NAME=${FNAME_PREFIX}${1}${MD5NAME_SUFFIX}
VER="${1}"
fi
cd /sdcard
echo "Deleting any previous update.zip..."
cleanup
# Download update ROM and MD5Sum
echo "Getting CyanogenMod ROM version $VER : ${MOD_FILENAME}"
echo
wget ${MIRROR}${EXPER}${MOD_FILENAME}
RES=$?
if [ ${RES} -ne 0 ];then
echo "Could not download ${MOD_FILENAME}"
echo "If you want to fetch an experimental version,"
echo "specify -x in the call to this script"
echo
echo "Nothing downloaded, exiting"
cleanup
exit
fi
# get the md5sum file
echo "Getting CyanogenMod ROM MD5 version $VER : ${MOD_MD5NAME}"
echo
wget ${MIRROR}${EXPER}${MOD_MD5NAME}
RES=$?
if [ ${RES} -ne 0 ];then
echo "Could not download ${MOD_MD5NAME}, exiting"
cleanup
exit
fi
# Verify downloaded ROM
echo "Checking ${MOD_FILENAME} MD5..."
MD5SUM_RESULT=`${MD5CMD} ${MOD_MD5NAME} | cut -d":" -f2 | grep OK`
echo " md5sum result : $MD5SUM_RESULT"
if [ ! -z $MD5SUM_RESULT ]
then
echo "${MOD_FILENAME} Downloaded Successfully"
mv ${MOD_FILENAME} ${SAVEFNAME}
rm ${MOD_MD5NAME}
echo "You may now reboot and flash"
else
echo "ERROR : ${MOD_FILENAME} Download Unsuccessful"
echo "Deleting bad download and exiting..."
cleanup
fi
So there it is...
I haven't try this yet but so far the only think I woudl ask for besides an GUI is to be able to know what versions are out there. What if i don't know what's the new version. i woudl have to go and check online. but if we have a command on the script to tell us the roms available it woudl be easier and great. I wouldn't even ask for a GUI then.
Rafase282 said:
I haven't try this yet but so far the only think I woudl ask for besides an GUI is to be able to know what versions are out there. What if i don't know what's the new version. i woudl have to go and check online. but if we have a command on the script to tell us the roms available it woudl be easier and great. I wouldn't even ask for a GUI then.
Click to expand...
Click to collapse
Until there is a way to do something like LucidREM has done with his script (such as lucid -u), I think your only options are
Subscribe to his Twitter page
Bookmark his server where his updates are stored.
Subscribe or check back frequently here on XDA.
I personally do all three.
beast.in.black said:
[*]Fetching Experimental builds: to fetch an experimental build from Cyanogen (Applicable from CyanogenMod v3.9 onwards), simply add the "-x" command line option to the script, after specifying the VERSION. Like so:
Code:
getcyan 3.9 -x
Click to expand...
Click to collapse
Recommendation
Add a "-t" for his testing builds as well.
They are not anywhere near as frequently used as experimental... but nonetheless it is still available on his server.
I added this on to the end so that the completed build would be flashed\
Code:
#Flash the Rom
echo "Rebooting and flashing update..."
echo "boot-recovery --update_package=SDCARD:update.zip" > /cache/recovery/command
reboot recovery
Sounds coll that you can do that, but still, I prefer making a backup first
This is amazing, thank you for making cyan updates even easier! Got it set up and running in no time!
Karolis said:
How about posting "a call to action" ir development and theme forums asking for all devs to use the same naming convention for their roms and themes + provide checksums.
Click to expand...
Click to collapse
Karolis, this is a great idea. I'll put the call to action out
spacezorro said:
I hacked mine to use...
So there it is...
Click to expand...
Click to collapse
spacezorro, you have already done what was on my roadmap for this script Thank you very much indeed. I am right now hacking the script up to recognize "latest" as a keyword and testing the changes now, and will update the script and post a fresh download (in the original post) once i've tested it out.
Rafase282 said:
What if i don't know what's the new version. i woudl have to go and check online. but if we have a command on the script to tell us the roms available it woudl be easier and great
Click to expand...
Click to collapse
Rafase282, I've put this on the roadmap as the next thing to work on.
Binary100100 said:
Recommendation
Add a "-t" for his testing builds as well.
They are not anywhere near as frequently used as experimental... but nonetheless it is still available on his server.
Click to expand...
Click to collapse
Excellent recommendation, will add it to the script.
indiekid97 said:
I added this on to the end so that the completed build would be flashed
Click to expand...
Click to collapse
Nice, will make it an option in the script to automatically reboot and flash if the md5sum checks out OK.
Thanks to everyone for all the great ideas
@cyanogen: Since you'll be adding this to your ROM, how do I keep you informed of changes to the script? PM you or something?

[ROM] Gingerbread-2.3.4 (Codename Phoenix, released on 2011-10-20)

Hi @all,
This is a unofficial ROM of gingerbread for use in LG-P500 mobile devices.
NO Support by LG and after flashing you can't connect with this ROM to the LG PC-Suite for updates. If you want update a original firmware, u have to flash
a original ROM deployed by LG.
Please, do not ask when i release a build. If a build is ready to test, i upload the ROM and you'll see a download link in THIS post.
For general questions, please look here
Current state of Gingerbread ROM by andy572 (Version 2.3.4 Codename Phoenix)
previous rom for download based on CM7 has been removed, i dont support the latest rom from now.
Latest Changes
* light text color bug fixed
* gallery3D app: pinch to zoom fixed
* gallery3D app: loading a bit slow - fixed
* kernel: wifi not working, kernel module is broken - fixed
* kernel: kernel doesnt support clear ram feature in settings - fixed
* expanded statusbar bugs fixed
* new lockscreen implemented
* modified gps.conf
* modified apns-conf.xml
* network provider search fixed
* contact import from sim card fixed
* crash in contacts app fixed (app was FC'ing when swipe over the tabs on the top)
Very known bugs:
- If no default ringtone is choosen in settings menu, android choose one for u and change this randomly
- FM Radio and USB-/WiFi theasering not working (maybe with 3rd party apps)
- strong pixelation/color banding issues in wallpapers and picture gallery app
- Airplane-, Vibrate modes and audio volume settings change gets not detected in expanded statusbar view toggles
- rom is only working with old baseband and clockwork mod recovery
INSTALL
1.) Install ClockwordMod Recovery, old AmonRA isnt supported anymore.
2.) Flash the ROM file
3.) If you're coming from any other than THIS rom, YOU NEED TO DO A COMPLETE WIPE before reboot!!!
Download
http://www.phoenix-android.com (Android 2.3.4 Phoenix)
Further information:
The new rom is based on CodeAurora's Android Gingerbread, CM7 and android open source code (2.3.4 and 2.3.5).
Many thanks to franco for the cool kernel tips and the funny after work days
Sources
CodeAurora
Phoenix-Android
Whats next coming?
* Electron Beam feature is causing black screen: FIXED (Feature permanent disabled)
* allow swipe in contacts/phone app on call log
* optimize webkit code
* modify music app
* modify and bugfix launcher app again
* modify and bugfix camera app
* modify and bugfix fm radio app
* fix bluetooth audio
Greets from Munich/Germany
Andy
ooh, nice to have someone interested of doing that!
It's nice to have some people interesting in developing a gingerbread custom rom for our optimus P500. I would help if i knew what you need. I don't know what you are talking about so... Sorry
Hi,
i'm talking about to bring up a gingerbread installtion to our mobile.
All what i have is a ready compiled android 2.3.1 without a kernel and without LG addons, there are (possibly) required to boot the phone to gingerbread.
i've tryed yesterday and today to boot with a mix from froyo, but this does not works - even if i disabled some hardware, the system needs some information from modules build by LG - it boots only when gingerbread is flashed over froyo without a complete wipe, nothing but the launcher is working
After a wipe, the system loops around while booting and bringe lot of permission errors in logcat.
Did you look in this thread : http://forum.xda-developers.com/showthread.php?t=901247 ?
There is a kernel and it could help you
Thank you dark-k, but i don't search a kernel but peoples they are interested to help building
i am not a dev but i know how linux works and i got a p500 so if u need help u can count with me buddy.
andy572 said:
All what i have is a ready compiled android 2.3.1 without a kernel and without LG addons, there are (possibly) required to boot the phone to gingerbread.
Click to expand...
Click to collapse
hi can you tell me how to i can compile a clean complete version of android without kernel?
thanks
How about this kernel? The dev says it's supposed to be compatible with any rom.
http://forum.xda-developers.com/showthread.php?t=866774&page=9
How to compile android 2.3.3:
1.) If you use a windows system, install VirtualBox 4.x and than Ubuntu 10.10 Desktop Edition as guest OS (its the smallest version and is enough for compilings)
Attention: Android compiling requires lot of free space.
My Ubuntu virtual harddrives size is 30GB, partitions are 10GB, 512MB (SWAP) and 19.5GB. During install, mount the 10GB partition on /, the 19.5GB partition on /home.
1.1) Prepare user
to have easier system access, we act as root - so set a new password to root and change the current user:
Code:
sudo passwd root
Enter the new password to root and change user:
Code:
su -
1.2) change the shell to bash
Ubuntu 10.10 has a symlink in /bin/sh - this links not to the bash which is required by android to compile:
Code:
rm /bin/sh && ln -s /bin/bash /bin/sh
2.) Install required compilers and software:
Code:
apt-get install build-essential automake autoconf binutils libncurses5-dev xorg-dev git-core gnupg flex bison gperf zlib1g-dev
3.) Prepare home directory
Code:
mkdir -p /home/android/bin
cd /home/android
3.) Install JAVA
- Download latest java-1.6 (it's required by gingerbread to build java apps) from Oracle site:
https://cds.sun.com/is-bin/[email protected]_Developer and select Linux (not Linux64!!!)
Copy file jdk-6u23-linux-i586.bin to /home/android and exec the file:
Code:
./jdk-6u23-linux-i586.bin
and type "yes" to accept the license.
After install, move the new directory to /usr/lib/jvm:
Code:
mkdir -p /usr/lib/jvm && mv jdk1.6.0_23 /usr/lib/jvm
rm -rf jdk1.6.0_23
4.) Adopt JVM and user's bin path to all users env:
Code:
echo 'export PATH=$PATH:/home/android/bin:/usr/lib/jvm/jdk1.6.0_23/bin' >> /etc/profile
echo 'export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_23' >> /etc/profile
echo 'export ANDROID_JAVA_HOME=$JAVA_HOME' >> /etc/profile
source /etc/profile
5.) Download Android 2.3.3
Code:
curl http://android.git.kernel.org/repo > bin/repo
chmod a+x bin/repo
repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
repo sync
6.) Compiling Android 2.3.3
To build a final release on a 32bit machine, we must modify some files and use the target option "user" (default is "eng", which is only a debug build for the emulator).
Attention
following code must be run in root of your repo:
Code:
source build/envsetup.sh
lunch thunderg-user
make -j2
After a build time of 1-2 hours, we have in folder out/target/product/generic our images: system.img,ramdisk.img and userdata.img and in folder prebuild/linux-x86/toolchain our android arm-eabi to compile kernel and so on.
If any goes wrong, please post here - it's possible that i have forgot to post some...
awesome walkthrough
andy572 said:
How to compile android 2.3.1:
1.) If you use a windows system, install VirtualBox 4.x and than Ubuntu 10.10 Desktop Edition as guest OS (its the smallest version and is enough for compilings)
Attention: Android compiling requires lot of free space.
My Ubuntu virtual harddrives size is 30GB, partitions are 10GB, 512MB (SWAP) and 19.5GB. During install, mount the 10GB partition on /, the 19.5GB partition on /home.
1.1) Prepare user
to have easier system access, we act as root - so set a new password to root and change the current user:
Code:
sudo passwd root
Enter the new password to root and change user:
Code:
su -
1.2) change the shell to bash
Ubuntu 10.10 has a symlink in /bin/sh - this links not to the bash which is required by android to compile:
Code:
rm /bin/sh && ln -s /bin/bash /bin/sh
2.) Install required compilers and software:
Code:
apt-get install build-essential automake autoconf binutils libncurses5-dev xorg-dev git-core gnupg flex bison gperf zlib1g-dev
3.) Prepare home directory
Code:
mkdir -p /home/android/bin
cd /home/android
3.) Install JAVA
- Download latest java-1.6 (it's required by gingerbread to build java apps) from Oracle site:
https://cds.sun.com/is-bin/[email protected]_Developer and select Linux (not Linux64!!!)
Copy file jdk-6u23-linux-i586.bin to /home/android and exec the file:
Code:
./jdk-6u23-linux-i586.bin
and type "yes" to accept the license.
After install, move the new directory to /usr/lib/jvm:
Code:
mkdir -p /usr/lib/jvm && mv jdk1.6.0_23 /usr/lib/jvm
rm -rf jdk1.6.0_23
4.) Adopt JVM and user's bin path to all users env:
Code:
echo 'export PATH=$PATH:/home/android/bin:/usr/lib/jvm/jdk1.6.0_23/bin' >> /etc/profile
echo 'export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_23' >> /etc/profile
echo 'export ANDROID_JAVA_HOME=$JAVA_HOME' >> /etc/profile
source /etc/profile
5.) Download Android 2.3.1
Code:
curl http://android.git.kernel.org/repo > bin/repo
chmod a+x bin/repo
repo init -u git://android.git.kernel.org/platform/manifest.git -b gingerbread
repo sync
6.) Compiling Android 2.3.1
To build a final release on a 32bit machine, we must modify some files and use the target option "user" (default is "eng", which is only a debug build for the emulator):
Code:
source build/envsetup.sh
$find . -name '*.mk' | xargs sed -i 's/-m64//g'
export TARGET_BUILD_VARIANT=user
lunch
make
After a build time of 3 hours, we have in folder out/target/product/generic our images: system.img,ramdisk.img and userdata.img and in folder prebuild/linux-x86/toolchain our android arm-eabi to compile kernel and so on.
If any goes wrong, please post here - it's possible that i have forgot to post some...
Click to expand...
Click to collapse
gonna start workin later tonight gonna upload it soon.
Problems ... problems ... more problems
Today, i've merged the LG P500 Froyo source with gingerbread to get the required LG libraries and bin's, but i get over and over compiler errors.
LG didn't provide the complete source to froyo, so many definitions in C-Header files are missig
I've fixed many of these errors, but the end result is a linker error because of missing libraries there are not provided in source code.
I'll try to compile a froyo to test out if this errors only comes with gingerbread.
...Where is my time ????
I have succesfully compile and boot CyanogenMod 7. But everything slow, 3d driver don't work (same as with Legend). Tried to use N1 driver but it crashes, seems it compiled as armv7.
mik_os said:
I have succesfully compile and boot CyanogenMod 7. But everything slow, 3d driver don't work (same as with Legend). Tried to use N1 driver but it crashes, seems it compiled as armv7.
Click to expand...
Click to collapse
Can you share with us??
MAybe we can help you to boost the system.
i didnt have much sleep last night alot of trouble gonna reinstall windows 7 then repack the img gonna post it later its 9:33 here in germany
Du sollst doch Nachts schlafen und nicht am PC sitzen *lol*
FROYO doesn't compile - same problem as to import LG FROYO sources to Gingerbread.
Error:
make: *** No rule to make target `out/target/product/generic/obj/STATIC_LIBRARIES/liblgdrmexpat_intermediates/liblgdrmexpat.a', needed by `out/target/product/generic/obj/SHARED_LIBRARIES/liblgdrmwbxml_intermediates/LINKED/liblgdrmwbxml.so'. Stop.
upd: wifi work
You can find sources at
Code:
https://github.com/mik9
BUT it's dirty (based on htc legend) and not full. I continue work.
Awesome job, you can count on me for any help you need, lol like tester or something
Sent from my LG-P500 using XDA App

[AOSP] Error running compiled AOSP image on emulator

Hello.
I have downloaded and compiled AOSP sources with the idea of running a custom Android image in the emulator to better undestand the internals of this Operating System. These are the steps I have followed:
Code:
> repo init -u https://android.googlesource.com/platform/manifest -b android-8.1.0_r1
> repo sync
> source build/envsetup.sh
> lunch aosp_x86_64-eng
> make
> emulator
I can start the emulator and only get a couple of warnings:
Code:
emulator: WARNING: system partition size adjusted to match image file (2562 MB > 200 MB)
warning: host doesn't support requested feature: CPUID.80000001H:ECX.sse4a [bit 6]
warning: host doesn't support requested feature: CPUID.80000001H:ECX.sse4a [bit 6]
Your emulator is out of date, please update by launching Android Studio:
- Start Android Studio
- Select menu "Tools > Android > SDK Manager"
- Click "SDK Tools" tab
- Check "Android Emulator" checkbox
- Click "OK"
I can open all the applications, but always I try to open "settings" into the Android system I get an error message "Settings has stopped. Open app again". Has anyone seen this error before? Any idea to debug the problem?
My system is Kubuntu 16.04.
A couple of questions related to this topic:
- Is better the emulator performance using aosp_x86_64 compared to aosp_x86?
- I have different "emulator" executables (prebuilt, out, sdk...). Are there important differences between them?
Thanks.
I have the same questions with you.do you figure it out?

How to run flashtool 0.9.24.4 on Ubuntu 17.10?

Hello, How to run flashtool 0.9.24.4 on Ubuntu 17.10?
i get below error:
[email protected]:~$ sudo -i
[sudo] password for hos:
[email protected]:~# cd /home/hos/Desktop/FlashTool
[email protected]:/home/hos/Desktop/FlashTool# chmod +x FlashTool
[email protected]:/home/hos/Desktop/FlashTool# chmod +x FlashToolConsole
[email protected]:/home/hos/Desktop/FlashTool# ./FlashTool
Running as root.
Used java home : ./x10flasher_lib/linjre64
<JAVA_HOME>/lib/ext exists, extensions mechanism no longer supported; Use -classpath instead.
.Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Hi, first I should mention that I use Debian but I ran into the same problem and the fix should work for ubuntu too,
1) delete / mv ./x10flasher_lib/linjre64/lib/ext
2) try again, if you run into a conflict similar to "groovy.lang.GroovyRuntimeException: Conflicting module versions. Module [groovy-all is loaded in version 2.4.6 and you are trying to load version 3.0.0-alpha-1"
=> delete / mv ./x10flasher_lib/groovy-all-2.4.6.jar
3) try again, if now you have a GTK issue, make sure you're not using Wayland or if you do run "xhost +" to authorize the connection to the display server (or logout and start a session using X.Org instead)
4) running fine now (for me)
FWIW: I have written my own starter running under Debian Stretch/Buster:
Code:
#!/bin/sh
rootandudevcheck() {
if [ "$(whoami)" != "root" ]
then
export HASRULES="false"
if test -d /etc/udev/rules.d
then
if grep -rl "0fce" /etc/udev/rules.d >/dev/null
then
export HASRULES="true"
fi
fi
if test "$HASRULES" = "true"
then
echo "Not running as root but Sony/SonyEriccson Vendor ID found on your udev rules"
echo "if Flashing didn't work well, run flashtool as root"
else
echo "Not running as root and there is no Sony/SonyEriccson Vendor ID on your udev rules"
echo "The user must be granted access to adb/flashmode/fastboot"
echo "If you are unsure what to do, run flashtool as root"
exit 1
fi
else
echo "Running as root."
fi
}
export BASEDIR=$(dirname $0)
export system64=$(uname -m)
export OS=$(uname -s)
cd $BASEDIR
if test "$OS" = "Linux"
then
rootandudevcheck;
#export JAVA_HOME=./x10flasher_lib/linjre64
echo "Used java home : ${JAVA_HOME}"
CP=$(ls ./x10flasher_lib/*jar|xargs|tr ' ' ':')
SWT=$(ls ./x10flasher_lib/swtlin/x86_64/*jar|xargs|tr ' ' ':')
export LD_LIBRARY_PATH=/home/rest/FlashTool/x10flasher_lib/linux/lib64/udev1/
java -classpath ./x10flasher.jar:${CP}:${SWT} \
-Xms256m -Xmx2048m -Duser.country=US -Duser.language=de \
-Djsse.enableSNIExtension=false gui.Main
fi
There is the classpath thing built in.
I did not try to fiddle with the libraries (good idea if it works IMO). But this might break again in the next version.
Sadly I can not remember (early 2015? version?) when I could last time flash successfully with Flashtool under Linux.
Yesterday I got a problem with Xperifirm 5.2 (5.3.6 does not work anymore under Debian) under Debian and Windows 10 downloading the latest ROM. Somebody had success under Windows 7.
This is what the developer of Xperifirm @IgorEisberg has to say.
https://forum.xda-developers.com/showpost.php?p=75832086&postcount=2235
At least the Flashtool developer @Androxyde cares (but I suppose does not test) for Linux users...
@DHGE looks like you have a problem with what I told you.
Let me reword it. I develop in C#. It's a .NET language. Whether it works on your Linux distro or not, is none of my concern because I can do absolutely nothing about it. It works on Windows and most Mono installations that I've tested, that's all I can do. @Androxyde "cares" because he can, his software is built with Java which is more cross-platform than .NET will ever be. I don't see why you expect technical support for a OS that was never meant to be used with XperiFirm.

Question Launcher change not possible even via ADB

I'm trying to change the default app drawer on my watch, but it's outright impossible via the Default app settings (it won't even show anything besides the OneUI Home), and - to my biggest surprise - issuing the ADB commands also throws an error in my face.
Here are the commands I used:
Code:
c:\Dev\platform-tools_r31.0.3-windows\platform-tools>adb shell
wisebs:/ $ cmd package resolve-activity --brief com.appfour.wearlauncher | tail -n 1
com.appfour.wearlauncher/.LauncherDrawerActivity
wisebs:/ $ cmd package set-home-activity com.appfour.wearlauncher/.LauncherDrawerActivity
And the result:
Code:
Error: Failed to set default home.
1|wisebs:/ $
I'm trying to set this application as my default launcher: https://play.google.com/store/apps/details?id=com.appfour.wearlauncher
Am I missing something, or does this only say Launcher in the title, and is not actually a proper launcher?

Categories

Resources