Related
Hello Guys and Galls,
I want to change the background of Settings.apk from black to white. I use the FroyoMod Rom http://forum.xda-developers.com/showthread.php?t=815595.
If change
Code:
<application android:label="@string/settings_label" android:icon="@drawable/ic_launcher_settings" android:taskAffinity="">
to
Code:
<application android:theme=[COLOR="Red"]"@android:style/Theme.Light.NoTitleBar"[/COLOR] android:label="@string/settings_label" android:icon="@drawable/ic_launcher_settings" android:taskAffinity="">
in AndroidManifest.xml.
I use ApkManger to decompile and compile. The (de)compiling is without any errors.
After compile with ApkManager i do the follow:
- open original Settings.apk and unsignedSettings.apk with 7-zip
- delete AndrodManifest.xml in original Settings.apk
- copy AndroidManifest.xml from unsignedSettings.apk to original Settings.apk
- copy the modified original Settings.apk to the phone in /system/app
- chmod 644 Settings.apk
- chown root:root Settings.apk
So now if I start Settings nothing happens, nothing, not even an fc.
This is was logcat says:
Code:
com.android.settings has no certificates at entry AndroidManifest.xml
What I´m doing wrong?
Try one of the many apk re-packaging tools on this forum. Ive used apktool but there are some front ends built for it
From something awesome
killersnowman said:
Try one of the many apk re-packaging tools on this forum.
Click to expand...
Click to collapse
tigger-gg said:
I use ApkManger to decompile and compile.
Click to expand...
Click to collapse
By the way if I change any other xml file in /res there are no such problems.
tigger-gg said:
I use ApkManger to decompile and compile.
Click to expand...
Click to collapse
dur
i read this on the mobile and did not see that....
solving the problem? because I would be interested
Me too, I'm having a problem recompiling an AndroidManifest.xml with apkmanager 5.0.1., it won't install unless I use an original AndroidManifest.xml file first, then I can flash right over it. At first I thought it was a the change I made in the file, but I just decompiled and compiled an unmodified version, and it did the same thing. So its the compiler.
Settings.apk is a signed system app. It will refuse to run unless signed by the same key as the rest of the system apps. Just replacing a single XML in the APK will cause a signature mismatch.
Best bet? I'd say make your change, then use a kitchen like dsixda's to resign the whole system with the test key (I think this is a menu option).
Yep your whole system has to have the same signature. I did this edit for a rom a while back, but I made the settings transparent instead of white background by using Theme.Wallpaper.NoTitlebar. Just sign your whole rom together with testkeys and all should be good until another system app gets changed/modified and the signatures don't match again.
Sent from my PG06100 using Tapatalk
Thanks to Gene Poole and one_love_420, I will try your instructions.
If your after quickly signing a whole load of apk's, I wrote a command line front end to do all the hard work for you.
You can even generate your own private key.
Questions or Problems Should Not Be Posted in the Development Forum
Please Post in the Correct Forums
Moving to Q&A
BUMP to top
Please big problem been fighting for weeks
any one know anything about this!!
So anybody find a solution yet? Seems to be the binary text conversion.
It is the signitures in manifest.inf fyi
I'm recently trying to edit my framework with this mod
http://forum.xda-developers.com/show....php?t=1916094
Well actually the steps in that thread are very simple, but since I'm trying to apply that to my Xperia Ray so it must have slightly different steps
What I want to ask :
- In framework/res, I found drawable-.........( mdpi,hdmpi,ldpi,etc.). If I'm going to replace the .9png's picture in there, should I make the picture as same as the original picture dimension? I'm using Dev-Drawable app in the Play Store ( it makes picture to drawable- hdpi,mdpi,etc. ), the result of using it is it gives me the mdpi version of the picture but with different dimesion from the original picture.
- I found errors and it says that I have errors in the /res/values/public.xml
I found this :
Code:
Don't do that! I think I should explain the purpose of public.xml file in the project wiki, because many people are confused. Note that you don't need this file when you build an apk from sources and apktool building mechanisms are very similar, so guess what: you could remove this file from decoded application and apktool will rebuild it without any problems. I had a reason why to generate public.xml - it's a feature, not a bug!
Well, the reason is: there may be references to resources in the application code. If resources ids will change after build, then code will reference different resources than in original apk. public.xml file gives us sureness that resources will get same ids after build - it's the only one reason to use this file. And you want to manually modify these ids
Adding or removing new resources is somewhat tricky. Yeah, I should write about that in the wiki.
You could remove any line from public.xml (even making a "hole" in the ids) at any moment, but you must be sure, that resource isn't referenced in the code.
There is never much sense in modifying ids in public.xml, because then modified lines lose their purpose.
If you want to add new resources, e.g. drawables and use them in the XML files you don't have to change anything in the public.xml file.
If you want to add new resources and use them in your code, then you have to add them into public.xml, because you need to reference them somehow. Or you could use Resources.getIdentifier() method, but this is ugly.
And now the most tricky part: if you want to remove some resources, you have to remove info about them from public.xml as well. So first you have to be sure that they aren't referenced in the code. But there is also this "hole" problem, so:
If these resources are at the end of ids stack, then there is no problem.
If resources are near the end of ids stack and you are sure, that all resources after them aren't referenced in the code as well, then you could just remove them all. Actually you have did virtually the same, cause after modifying ids you made these lines totally useless, you broke them, so you could just remove them.
If you want to remove some resources, but add same or greater quantity of new ones (of the same type), then there is no problem - new resources will automatically fill in "holes" in ids. You don't have to add them to public.xml .
If none of above conditions are met, then you have holes and you have to fill them by something. But you don't have to add "useless .pngs" - just add:
Code:
<item type="drawable" name="DUMMY1" />
<item type="drawable" name="DUMMY2" />
<item type="drawable" name="DUMMY3" />
...
Like above, you don't have to add these resources to the public.xml .
And because I'm a newbie I don't really get what that mean. So I just delete the files that I'm going to replace and I can re-compile the framework, but I got bootloop, LOL.
I confused about :
1."You could remove any line from public.xml (even making a "hole" in the ids) at any moment, but you must be sure, that resource isn't referenced in the code."
What are the "holes" and " referenced in the code" mean?
2. Because I want to add .png's picture to the drawable-mdpi folder, Do I need to add dummies to the public.xml ?
3. I'm using the tricky signing method ( open archive in the original framework, copy meta-inf & android manifest and replace those files to the modded framework). Is this cause me an error?
Help me mateee
Why do you post this thread 2 times?
mihahn said:
Why do you post this thread 2 times?
Click to expand...
Click to collapse
Cause no one reply & help meee:crying:
RivaultUser said:
What I want to ask :
- In framework/res, I found drawable-.........( mdpi,hdmpi,ldpi,etc.). If I'm going to replace the .9png's picture in there, should I make the picture as same as the original picture dimension? I'm using Dev-Drawable app in the Play Store ( it makes picture to drawable- hdpi,mdpi,etc. ), the result of using it is it gives me the mdpi version of the picture but with different dimesion from the original picture.
Click to expand...
Click to collapse
It's best to keep the original dimensions yes although not essential, but some images will look strange if not.
RivaultUser said:
- I found errors and it says that I have errors in the /res/values/public.xml
I found this :
Code:
Don't do that! I think I should explain the purpose of public.xml file in the project wiki, because many people are confused. Note that you don't need this file when you build an apk from sources and apktool building mechanisms are very similar, so guess what: you could remove this file from decoded application and apktool will rebuild it without any problems. I had a reason why to generate public.xml - it's a feature, not a bug!...
I confused about :
1."You could remove any line from public.xml (even making a "hole" in the ids) at any moment, but you must be sure, that resource isn't referenced in the code."
What are the "holes" and " referenced in the code" mean?
Click to expand...
Click to collapse
It means you can remove lines so long as they don't point to anything in the drawables folder for example.
RivaultUser said:
2. Because I want to add .png's picture to the drawable-mdpi folder, Do I need to add dummies to the public.xml ?
Click to expand...
Click to collapse
No.
RivaultUser said:
3. I'm using the tricky signing method ( open archive in the original framework, copy meta-inf & android manifest and replace those files to the modded framework). Is this cause me an error?
Click to expand...
Click to collapse
No. If you're doing it like in my guide you should be fine. Re read the bold quoted text above.
Hi guys, can u teach me how to create themes for theme chooser and give me the files i need to create a theme chooser themes thanks for your help...
-Renz29
Renz29 said:
Hi guys, can u teach me how to create themes for theme chooser and give me the files i need to create a theme chooser themes thanks for your help...
-Renz29
Click to expand...
Click to collapse
First you need to learn some basics about de-compiling and compiling APKs.
Read here about that: http://forum.xda-developers.com/showthread.php?t=2033415
After that you can decompile an existing theme and look in all files and see how stuff works. At the beginning most of it will not give any sense aside from the PNGs. You will recognice most of them.
What the theme-apk does is to make redirections to the one in the APK. All redirections are controlled in XML-files placed in res\xml
One master XML: redirections.xml
And the one XML for each app that is themed.
Aside from PNGs the theme also sets styles (colors, text-size and stuff) and sets what animations should be used.
In the root of the theme-apk you got AndroidManifest.xml.
Always make your own package-signature to avoid collision with other themes... package="com.thebest.theme.renz"
This is not a total guide... just to get you started.
Perhaps I should make one.
Emperor.dk said:
First you need to learn some basics about de-compiling and compiling APKs.
Read here about that: http://forum.xda-developers.com/showthread.php?t=2033415
After that you can decompile an existing theme and look in all files and see how stuff works. At the beginning most of it will not give any sense aside from the PNGs. You will recognice most of them.
What the theme-apk does is to make redirections to the one in the APK. All redirections are controlled in XML-files placed in res\xml
One master XML: redirections.xml
And the one XML for each app that is themed.
Aside from PNGs the theme also sets styles (colors, text-size and stuff) and sets what animations should be used.
In the root of the theme-apk you got AndroidManifest.xml.
Always make your own package-signature to avoid collision with other themes... package="com.thebest.theme.renz"
This is not a total guide... just to get you started.
Perhaps I should make one.
Click to expand...
Click to collapse
thanks for your reply but the Java SE Runtime Environment link is no file please help me
Renz29 said:
thanks for your reply but the Java SE Runtime Environment link is no file please help me
Click to expand...
Click to collapse
Link updated
This would be my second public-released xposed module...
(A duplicate thread is also posted in the Android Themes Section, so user who are only interested in themes can also see this)
I did not expect that my WisdomSky Xploit would be a big hit.
I'm just an Amateur developer who just started delving into android development 3months ago and I didn't expect that much appreciation from my work... XD
But all of these would not be made possible if not because of sir @rovo89 and sir @Tungstwenty and their Xposed Framework, right? That's why I thank them a lot...
REQUIREMENTS
Xposed framework must be pre-installed before installing this.
What does the ResXploit do?
ResXploit has two parts:
the Removable part, terminal
and the main star, engine
The terminal is where you enter the commands(I'll discuss it later). These commands will then be interpreted by the engine and then passed to Xposed framework...
Flow:
TERMINAL >> ENGINE >> XPOSED FRAMEWORK
I have provided a variety of modules:
ResXploit (Terminal + Engine) (RECOMMENDED FOR NEWBIES)
ResXploit Terminal (Terminal Only)(DEPRECATED)
ResXploit Engine (Engine Only)
You might be wondering why I made one which has both terminal and engine... and other two which are separated...
ROM Chefs, Themers and some others would understand directly why...
All the commands are interpreted by the Engine right? so that would mean that once you have entered all the desired commands, the terminal will now end up as useless... so you will just delete so no one can touch the engine...
If you are a ROM Chef or a themer, you can theme all the apps you need to theme using ResXploit and then remove the terminal, so end-user interaction of the engine is prevented after you have released your ROMs to the world.
FOR NEWBIES!
I recommend you to use the ResXploit (Terminal + Engine)...
It is very smart..
I included 99% accurate error-checking system,
line numbering system,
and also Xposed module prioritization(which is first implemented on ResXploit for better module performance).
COMMANDS
We have four basic commands in the ResXploit, the apk, drawable, string, and boolean.
apk - A prerequisite command. This command is very vital whenever you using the ResXploit. This will define the target application by using the package name of the target application. You need to include this before you enter any command or else your command will not know which application is targeted and end up in lost island.
Code:
[B]format[/B]: [I]apk <package name>[/I]
[B]example[/B]: apk com.android.systemui
drawable(also drw) - The most often used command. The command which will change icons/images (png drawables) of an application. You can either overlay the existing image with your favorite color or completely replaced it with a .png image from your sdcard.
Code:
[B]format1[/B]: [I]drawable <target application's drawable name> <image path, no need to include /sdcard> <transparency, 0 to 255>[/I]
[B]example1[/B]: drawable status_bar_background bg.png 255
[B]format2[/B]: [I]drawable <target application's drawable name> <HEX RGB color code> <transparency, 0 to 255>[/I]
[B]example2[/B]: drawable status_bar_background #fff00ff 255
string(also str) - This command will change string(text) values of the application. The predefined string values are usually located in res/values/strings.xml of an application, but I guess they are not visible when you view the contents of an application using Archive managers like RootExplorer. But there is a way to identify them. I will include it later.
Code:
[B]format[/B]: [I]string <target application's string value holder name> <replacement string>[/I]
[B]example[/B]: string app_name My App
boolean(also bln) - This command will change boolean values of the application. The predefined boolean values are usually located in res/values/bools.xml of an application, but I guess they are not visible when you view the contents of an application using Archive managers like RootExplorer as well.
Code:
[B]format[/B]: [I]boolean <target application's boolean value holder name> <replacement boolean value, either [B]true[/B] or [B]false[/B] only>[/I]
[B]example[/B]: boolean allowNumberNotifications true
Some simple examples screenshots:
drawable and string commands in action
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
ResXploit UI screenshots:
If you find my ResXploit module interesting,
Please hit THANKS!!! XD:angel:
UPDATES & CHANGELOGS:
ResXploit Engine 1.0.8 - added support to framework-res(android).(latest)
ResXploit 1.0.8 - updated engine(1.0.8).(latest)
NOTICE: ResXploit is now an abandonware.
My flash drive where I stored the sources of my android projects was corrupted unexpectedly.
And also, my phone was broken. I have no device to use to re-write everything from scratch... Sorry...
Tutorial and samples
System Apps Package Names:
SystemUI - com.android.systemui
Settings - com.android.settings
Mms - com.android.mms
Contacts - com.android.contacts
Launcher - com.android.launcher
Gallery - com.android.gallery3d
File Explorer - com.android.qrdfileexplorer
Framework-res - android
Tip: If you want to find the package name of a specific application(not on the list), you can open Root Explorer(download it from googleplay) and then browse the apk you want to check, open it and choose "view". You can find AndroidMaifest.xml file inside. Open it then find the package="xxxxxxxxxxx". The words or group of words inside the quotations separated by a period is the package name of that application.
Note: ResXploit is far safer(in terms of error awareness) to use than the ResXploit terminal. If possible, only use ResXploit. In the simple tutorials below, please expect that I'm referring to ResXploit only.
Changing Statusbar background color
let's say color red...
Code:
#!/
apk com.android.systemui
drawable status_bar_background #ff0000 255
Changing Notifications Panel background color into transparent
Code:
#!/
apk com.android.systemui
drawable notification_panel_bg #000000 0
Changing Notifications Panel background with an image from sdcard
let's say that the png image is located in /sdcard/my_img.png
Code:
#!/
apk com.android.systemui
drawable notification_panel_bg my_img.png 255
You might be wondering where i'd get the target application's drawable filename?
Actually, you can just open the root explorer and view the files inside the apk of the target application. under the /res directory(folder), you can find a variety of subdirectories prefixed with [drawable, like drawable-hdpi,drawable-mdpi and so on... Basically, all images inside those folders are under the scope of drawable command in Resxploit. And if you want to target a certain image in the drawable folders, you just need to get the file name without the .png or .9.png. That's it!
Adding "comments"...
Comments in programming are human-readable additional information. If you want to put notes somewhere in your script, you can put "#" before your statement. When the terminal find a "#" before a statement, the terminal will ignore it and skip it. However if you will enter a non-command information and is not started withcl a "#", the terminal will ofcourse read it as command and then throws an error message.
Code:
#!/
# my comment. my comment. my comment
apk com.android.systemui
drawable status_bar_background #ff0000 255
# the terminal will skip the command below
# because it started with a "#"
#drawable oh_no #ff00ff 255
Defining working directory path of your images
If you want to start theming and you already have the images you want to use stored inside a single folder, then you can tell the terminal where these images are located so you don't need to enter the path redundantly.
You can define it on the very first line of ResXploit, after the "#!/" you can add the folder name or path to the folder.
let's say we have our images put in a folder in sdcard named my_images or /sdcard/my_images, then you can define it like this.
Code:
#!/my_images
#we can start theming now
drawable hello some_image.png 255
drawable world next_image.png 255
great work dude...noypi are very smart of course,,
Very interesting. I've been interested in theming for a while now but haven't gotten my feet wet. I'll be waiting for your tutorials. Great work mate!
Sent from my Galaxy Nexus
Nice! I love to see Pinoys In-Action with the XDA community!
Will wait for the tutorial of yours repa!
@greedisgood99999 Please stop that bad-habit of quoting... It's quite irritating tropa...
Wait for the tutorial
Sent from my Xperia Mini Pro
So ... a scriptable general purpose module. This is a phenomenal idea. OK still requires digging into the apk but a whole lot easier than building a new module from scratch.
Mission: Get rid of Armv7 calls the FC apps on my old clunker (also need help buying a new phone--if I had it, would have reserved the edge already!). Google Now first tries to init the "off line" voice recognition engine. Minimum, want to simply disable this call. I use overlays to prevent other such calls. Maximal, to replace with the old "on line" voice recognition engine.
Capability in this yet?
Among the booleans?
what say you
Dovidhalevi said:
So ... a scriptable general purpose module. This is a phenomenal idea. OK still requires digging into the apk but a whole lot easier than building a new module from scratch.
Mission: Get rid of Armv7 calls the FC apps on my old clunker (also need help buying a new phone--if I had it, would have reserved the edge already!). Google Now first tries to init the "off line" voice recognition engine. Minimum, want to simply disable this call. I use overlays to prevent other such calls. Maximal, to replace with the old "on line" voice recognition engine.
Capability in this yet?
Among the booleans?
what say you
Click to expand...
Click to collapse
i don'think so... because ResXploit's scope is only the res or resource directory of the apk structure...
if a boolean value is defined in the res/values/bools.xml that will actually toggle controls then it would be great... but i think, in your case it is deeply hard-coded to work like that...
Framework.res?
Can you theme the framework.res using this?
package name is only 'android' no com. or anything..
EDIT: Tried and it seems to go through ok, but nothing seems to change. Rebooted several times, changed an image in my keyboard, checked it was ticked in Xposed framework, setup a folder in my internal storage, checked superuser granted access, pressed high priority in settings. Don't know
Here's a debug log (uploading tomorrow, pc occupied)
Will this work for non system apps? The unlock button on the PowerAmp lock screen drives me insane because it's the only thing I can't change and I absolutely hate green.
Metallijim said:
Can you theme the framework.res using this?
package name is only 'android' no com. or anything..
EDIT: Tried and it seems to go through ok, but nothing seems to change. Rebooted several times, changed an image in my keyboard, checked it was ticked in Xposed framework, setup a folder in my internal storage, checked superuser granted access, pressed high priority in settings. Don't know
Here's a debug log (uploading tomorrow, pc occupied)
Click to expand...
Click to collapse
I'm so sorry for that...
in exposed, framework-res(android) uses different method...
so i forgot to implement it fo support the framework-res...
thanks for your feed back. I'll add it up and upload it later...
Rokonacdc said:
Will this work for non system apps? The unlock button on the PowerAmp lock screen drives me insane because it's the only thing I can't change and I absolutely hate green.
Click to expand...
Click to collapse
Ofcourse! it will work with non-system apps too... XD
This looks very promising, thank you for your work!!
here's a Debug
Here's my Debug log
Xperia Z 4.2.2, Images in internal storage, Xposed priority set low, all other xposed modules that I have installed disabled
Metallijim said:
Here's my Debug log
Xperia Z 4.2.2, Images in internal storage, Xposed priority set low, all other xposed modules that I have installed disabled
Click to expand...
Click to collapse
sir l've already added support for framework-res, please check the changelogs for the download link...
Interesting, sounds like a concept similar to Ninjamorph.
A couple of quick questions:
Is this able to apply folders or just single png's?
Also do you need extract png's from apks in order to apply or does it extract and apply automatically?
:good:
dully79 said:
Interesting, sounds like a concept similar to Ninjamorph.
A couple of quick questions:
Is this able to apply folders or just single png's?
Also do you need extract png's from apks in order to apply or does it extract and apply automatically?
:good:
Click to expand...
Click to collapse
Unlike ninja morph, in resxploit, there is no permanent replacing of resources happened... which means you can deactivate, share, edit easily anytime....
Q: Is this able to apply folders or just single png's?
A: only single pngs... 1 drawable command = 1 png... but there is no limitation on how how many commands you can add
Q: Also do you need extract png's from apks in order to apply or does it extract and apply automatically?
A: As what I've added on the title, "No decompiling APKs"... it means, no decompiling or extracting is involved in the process as what Xposed Framework aimed. You just need to put the image to replace inside your sdcard and just add a command to tell the engine "to replace that with this"... there is no permanent replacing of resources happened here... the image is just move into the /data partition and will be just overlapped to the target resource so there will be an impression of replacing of resources
I didnt mean does it decompile/extract full apks. I meant can you pull an resource/image out of the apk to apply.
I know it overlays instead of permanently overwriting the original resource, similar to Icon themer and XTheme engine.
Ninjamorph/ Metamorph unzips apks into folders so you can navigate through them and choose what you want to apply.
Example:
Choose target resource/image to change.
Choose apk to pull resource/image from.
Navigate and choose resource/image (extract if applicable) to apply.
This would be good if it also done the same. Although you could just unzip with an on board app like Zarchiver.
Basically it would make it a new and improved Ninjamorph/ Metamorph (dont tell Stericson i said that)
No offense, but looking at it from newbies point of view, it seems like a bit of a drawn out process if you were wanting to change numerous items.
I know it's early days and I'm sure this would be greatly improved with a GUI, if you decide to add one.
Personally speaking, i think this has massive potential and could be something very special. I applaud you, i wish i had your talent.#
Thanks.
I tried clicking on the changelog link, it gave an error "Invalid Attachment specified. This can happen for a variety of reasons-- most likely because the thread or post you are trying to view has been moved or deleted. Please return to the forum home and browse for another similiar post."
Not sure if its the file attached to the post that is the updated one or if the actual update got deleted. Please help me here
phanitej said:
I tried clicking on the changelog link, it gave an error "Invalid Attachment specified. This can happen for a variety of reasons-- most likely because the thread or post you are trying to view has been moved or deleted. Please return to the forum home and browse for another similiar post."
Not sure if its the file attached to the post that is the updated one or if the actual update got deleted. Please help me here
Click to expand...
Click to collapse
Oh sorry for that.. ill just upload it to a third party site and add the link...
thnx for reminding...
dully79 said:
I didnt mean does it decompile/extract full apks. I meant can you pull an resource/image out of the apk to apply.
I know it overlays instead of permanently overwriting the original resource, similar to Icon themer and XTheme engine.
Ninjamorph/ Metamorph unzips apks into folders so you can navigate through them and choose what you want to apply.
Example:
Choose target resource/image to change.
Choose apk to pull resource/image from.
Navigate and choose resource/image (extract if applicable) to apply.
This would be good if it also done the same. Although you could just unzip with an on board app like Zarchiver.
Basically it would make it a new and improved Ninjamorph/ Metamorph (dont tell Stericson i said that)
No offense, but looking at it from newbies point of view, it seems like a bit of a drawn out process if you were wanting to change numerous items.
I know it's early days and I'm sure this would be greatly improved with a GUI, if you decide to add one.
Personally speaking, i think this has massive potential and could be something very special. I applaud you, i wish i had your talent.#
Thanks.
Click to expand...
Click to collapse
thanks for the appreciation and to your suggestions...someone did suggest to me to add GUI...
I'm still a newbie in terms of androld... there's so much to learn first before I can fully implement whats on my mind...
My phone is also not that good for development... its so slow... XD
but if everything turns out good... then maybe I should reconsider...XD
WisdomSky said:
Oh sorry for that.. ill just upload it to a third party site and add the link...
thnx for reminding...
thanks for the appreciation and to your suggestions...someone did suggest to me to add GUI...
I'm still a newbie in terms of androld... there's so much to learn first before I can fully implement whats on my mind...
My phone is also not that good for development... its so slow... XD
but if everything turns out good... then maybe I should reconsider...XD
Click to expand...
Click to collapse
Which phone do you use?
Hey everyone,
Due to the lockdown in my country I have to stay home. What a better way to do this than working on a project right ?
The idea is to create a simple launcher with the basic functionnality :
having an app drawer
home screen with dock
possibility to create folder on homescreen
possibility to remove app / folder from homescreen
bonus : possibility to add icon pack
You see, very basic as I said.
I started from scratch, but yesterday I asked on Lawnchair's community telegram and someone talked to me about Launcher3.
I didn't know this launcher and I discovered that a lot of launcher are based on Launcher3, they are all a fork from it.
This motivate me to do a fork to.
But I have a lot of problems to build the launcher itself. I clone the project, open it with Android Studio and I have errors from gradle, when I fix them I have other errors. I think I'm doing wrong but I searched online and I don't find any ressources that can help to start this project or give me clues to understand better.
I am a beginner in Android dev, but trust me I have a really strong motivation I don't want to hear "This is to difficult for you mate, try something else"
Thank you for reading me
hello, you means you want to make a personal launcher project base on launcher3. so now what's your problem in make it build success?
Based on our previous experience, may be has fllow steps:
1.you need a aosp source(or you already have other rom code choose, it's ok), and build it;
2.get the framework.jar from the out path intermediates (for launcher3 has many class only system framework contain);
3.copy launcher3 code from aosp source to your owner path, and make an Android studio project;
4.copy the second step framework.jar to the launcher3 Android studio project(you can put it under app/libs/) and just compileOnly the framework.jar(we just need to declare some system class for compile, finally when the app work it still base on different devices owner framework in the system);
5.add flowing code in you build.gradle:
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << '-Xbootclasspath/p:libs/framework.jar'
}
}
6.if you have a some v7 package implements may be some time will show you some <attr> conflict, like <attr name="icon"> conflict, just change it to <attr name="icon" format="string"> is ok.
Under normal conditions,above steps can help you to make your launcher3 project work well in AS, and also you can compare some open source in github, there has some launcher3 AS project. hope to work for you, if not work for you, you can show the error message you meet more detail, may be we can help to found out the problem
Bro I think you can use jadx decompiler and any working laucher3 to show their source code. Learn from it how the stuffs work. Then start a new project from scratch in Android Studio.. Modify for your own needs.
walker ice said:
hello, you means you want to make a personal launcher project base on launcher3. so now what's your problem in make it build success?
Based on our previous experience, may be has fllow steps:
1.you need a aosp source(or you already have other rom code choose, it's ok), and build it;
2.get the framework.jar from the out path intermediates (for launcher3 has many class only system framework contain);
3.copy launcher3 code from aosp source to your owner path, and make an Android studio project;
4.copy the second step framework.jar to the launcher3 Android studio project(you can put it under app/libs/) and just compileOnly the framework.jar(we just need to declare some system class for compile, finally when the app work it still base on different devices owner framework in the system);
5.add flowing code in you build.gradle:
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << '-Xbootclasspath/p:libs/framework.jar'
}
}
6.if you have a some v7 package implements may be some time will show you some <attr> conflict, like <attr name="icon"> conflict, just change it to <attr name="icon" format="string"> is ok.
Under normal conditions,above steps can help you to make your launcher3 project work well in AS, and also you can compare some open source in github, there has some launcher3 AS project. hope to work for you, if not work for you, you can show the error message you meet more detail, may be we can help to found out the problem
Click to expand...
Click to collapse
Hey,
Thank you for your answer. I clone launcher 3 from here : ht tps:// android.googlesource.com/ platform/ packages/ apps/ Launcher3
But I can built it on android studio, am I doing it wrong ? (I'm on Windows 10 btw)
I open the folder Launcher3 (from which I cloned) and AS ask me for gradle location ...
Thanks again.