Elipse App Development - IDEs, Libraries, & Programming Tools

Hey everyone,
I created a Theme for the new Theme choser (cm11).
When I install the app to my Phone, it needs Access to my SD-Card (read+write) and wants to read my Phone status and my Identity.
But i haven't declared anything in AndroidManifest, like you should have to.
I even decompiled the builded apk's, but the AndroidManifest.xml didn't contain anything except what I wrote into (package name, app name, author, uses theme feature, like the template from cyanogenmod)...
Anyone with an idea?

Related

REQUESTING HELP Editing and creating NEW flipfont APKs

I have been working on this issue for most of the day over in the Vibrant forums.
I am posting here in hopes of getting someone who knows more about apk editing and fonts then I do to help out.
Link to the post on the XDA Vibrant forum here
Please post your response there. Once the issue is solved I will repost a walk-through on all Galaxy S forums.
Here is the start of my thread, please read the link to see the progress.
I am aware that there are other ways to edit the fonts on our phone, by replacing renaming the default font. This is NOT what I would like to accomplish.
Since the Galaxy S is the first android phone to use Flipfont, I think we should take advantage of it. It gives us a nice preview of the font in the built in menu option and is thus superior to the other methods.
I originally purchased the Bauhaus font from the market and made a backup of it through ASTRO. After pulling the file from my phone and putting it on the computer I started editing the file with Apk Manager 4.8 found here
Steps preformed
Copied original apk into place-apk-here-for-modding folder
Run script.bat and choose option 9 ***this maybe where the issue is as I may need to choose option 10 and include the dependancy if there is one for the flipfont apk.
replace bauhaus.ttf with a .ttf font of my choosing
edit all XML, yml and smali files to include the font name or font.ttf depending on the entry in the original file *** I did not change any of the other coding so again this maybe where the problem is, as I may need to change something else to have the font act properly.
Edit the last folder name in the smali folder tree from bauhaus to the name of my font
Replace font with custom font and replace the preview image with my own
Compile apk
Sign apk
Rename apk
install apk on my phone
After putting the apk on my phone and installing the file, it shows up as expected in settings>Sound and Display>Font style. The font thumbnail shows up properly as does the font preview. The preview does show up a little larger then the other fonts and may be a sign that the font is not optimized properly or that I missed something in the XML.
After applying the font and restarting, the phone is extremely slow, freezing quite often and the font does not show up, it shows the default font instead.
If anyone that knows more about XML or apk editing/creation can help it would be great.
I have included the edited font apk if you would like to download it and run it through Apk Manager 4.8. If you want to try it with the bauhaus or one of the other fonts you will need to buy it from the market and back it up. (trying not to break any rules here.)
[EDIT][More info] Ok I took a closer look at the font that came with the Bauhaus akp
In the discription of the font it list:
OpenType Layout, Digitally Signed, TrueType Outlines
I know that opentype is a new format and that alot of the fonts for OpenType that I find are made by Monotype, the same people that make the fonts available for download. I think this may have something to do with it or maybe Im just grasping. :ºp
Any font guys out there have any info on this?
CAUTION THE FOLLOWING FILE IS NOT MEANT FOR USE AND WILL CAUSE YOUR PHONE TO RUN SLOW!!!
Download Font APK

REQUESTING HELP Editing and creating NEW flipfont APKs

I have been working on this issue for most of the day over in the Vibrant forums.
I am posting here in hopes of getting someone who knows more about apk editing and fonts then I do to help out.
Link to the post on the XDA Vibrant forum here
Please post your response there. Once the issue is solved I will repost a walk-through on all Galaxy S forums.
Here is the start of my thread, please read the link to see the progress.
I am aware that there are other ways to edit the fonts on our phone, by replacing renaming the default font. This is NOT what I would like to accomplish.
Since the Galaxy S is the first android phone to use Flipfont, I think we should take advantage of it. It gives us a nice preview of the font in the built in menu option and is thus superior to the other methods.
I originally purchased the Bauhaus font from the market and made a backup of it through ASTRO. After pulling the file from my phone and putting it on the computer I started editing the file with Apk Manager 4.8 found here
Steps preformed
Copied original apk into place-apk-here-for-modding folder
Run script.bat and choose option 9 ***this maybe where the issue is as I may need to choose option 10 and include the dependancy if there is one for the flipfont apk.
replace bauhaus.ttf with a .ttf font of my choosing
edit all XML, yml and smali files to include the font name or font.ttf depending on the entry in the original file *** I did not change any of the other coding so again this maybe where the problem is, as I may need to change something else to have the font act properly.
Edit the last folder name in the smali folder tree from bauhaus to the name of my font
Replace font with custom font and replace the preview image with my own
Compile apk
Sign apk
Rename apk
install apk on my phone
After putting the apk on my phone and installing the file, it shows up as expected in settings>Sound and Display>Font style. The font thumbnail shows up properly as does the font preview. The preview does show up a little larger then the other fonts and may be a sign that the font is not optimized properly or that I missed something in the XML.
After applying the font and restarting, the phone is extremely slow, freezing quite often and the font does not show up, it shows the default font instead.
If anyone that knows more about XML or apk editing/creation can help it would be great.
I have included the edited font apk if you would like to download it and run it through Apk Manager 4.8. If you want to try it with the bauhaus or one of the other fonts you will need to buy it from the market and back it up. (trying not to break any rules here.)
[EDIT][More info] Ok I took a closer look at the font that came with the Bauhaus akp
In the discription of the font it list:
OpenType Layout, Digitally Signed, TrueType Outlines
I know that opentype is a new format and that alot of the fonts for OpenType that I find are made by Monotype, the same people that make the fonts available for download. I think this may have something to do with it or maybe Im just grasping. :ºp
Any font guys out there have any info on this?
CAUTION THE FOLLOWING FILE IS NOT MEANT FOR USE AND WILL CAUSE YOUR PHONE TO RUN SLOW!!!
Download Font APK
You only can use .ttf (true type font) any other type will not work,if you have a font u want to use but is not in .ttf then you need to convert it to .ttf, btw i prefer the Type Fresh app to manage and change my fonts is easier than the method you described.
Also, make sure the font has a full latin library. I learned the hard way from the TypeFresh app (which is a way better solution IMO). In its instructions which I only read the second time, one font (i believe its called DroidSansFallback.ttf) needs to have a COMPLETE set, including latin, I believe for certain coding going on somewhere. I bricked my phone within two hours of rooting it. Took three to get it back. (Backup people!)
Anyways, now I use TypeFresh, it gives you options on which system font to replace, and I never replace that one.
Hope this helps.

[Q] making system apks Into regular installable apks.

I was wondering how to make a system apk such as idk the browser into a regular installable apk so that someone with no knowledge of pushing apks can install it along side their apk.
Generally system apps are just normal apps, only installed on a system partition. If you pull a system apk from a device, then you should be able to install it normally on any other device.
There are exceptions from this rule:
You can't install an app if you have it installed already. Many system apps are installed on most devices by default and this is the reason, why you can't install e.g. Browser.apk pulled from other device - most probably you have it installed already.
There are 2 solutions: you could remove system app before installation of new one or just replace it - but this isn't what you want. To create normal, installable apk you would have to modify its package name as I did with Google Maps.
Some system apps use system internals, private APIs or privileges, some additional libraries, etc. For example Settings.apk changes internal settings of OS - you can't do that in normal apk.
You can't easily move/install such apps, they're integrated with system.
thanks for this long great reply. So lets say I pulled my dialer apk changed the package name, could I install it on a friends phone NOT on the system partition ?
I'm trying to pull the dialer apk from gingerbread and port it into a normal apk using apk tool, but once and changed the package name and all that and compile it I go to install it on my phone but it says that it could not open it as an apk file. Any ideas?
Newklearx3 said:
thanks for this long great reply. So lets say I pulled my dialer apk changed the package name, could I install it on a friends phone NOT on the system partition ?
Click to expand...
Click to collapse
I think not. Note that Phone.apk is only one app that can dial, you can't add such feature to your own app, so most probably it uses private APIs to do that. It's integrated-with-system one. Same for Settings.apk and PackageManager.apk, but you should be able to pull Browser.apk, Launcher.apk, MMS.apk, Gmail.apk, Talk.apk, etc., change their package name and install on another device.
Ahh, there is one more group: SenseUI, Motoblur, etc. apps, which use additional framework resources: images, colors, texts. They won't work on a device lacking this framework, but it should be possible to make these apps framework-independent by copying all dependencies to app itself. Not that easy, but possible
Brut.all said:
I think not. Note that Phone.apk is only one app that can dial, you can't add such feature to your own app, so most probably it uses private APIs to do that. It's integrated-with-system one. Same for Settings.apk and PackageManager.apk, but you should be able to pull Browser.apk, Launcher.apk, MMS.apk, Gmail.apk, Talk.apk, etc., change their package name and install on another device.
Ahh, there is one more group: SenseUI, Motoblur, etc. apps, which use additional framework resources: images, colors, texts. They won't work on a device lacking this framework, but it should be possible to make these apps framework-independent by copying all dependents to app itself. Not that easy, but possible
Click to expand...
Click to collapse
Dude, you're amazing! So how would I go about porting the gingerbread dialer to workable installable apk?
I might be doing something wrong but I pulled the launcher and changed the package name and still the same error
Okay, i guess I'm not. I copied the apk ( unmodded ) from the rom zip and placed it on my SD card to install it and the same error, so there must be something wrong.
figured out it was the sdk version, got it to show up but wont install now.
im also interested in porting specific development apk, lets say.. CM Settings into a non Cyanogen. Tried that once by pulling CM*.apk and push it to other non Cyanogen but got cant be installed message.. any hints on this?
phoezies said:
im also interested in porting specific development apk, lets say.. CM Settings into a non Cyanogen. Tried that once by pulling CM*.apk and push it to other non Cyanogen but got cant be installed message.. any hints on this?
Click to expand...
Click to collapse
Use logcat as a start to see dependencies
XDA App

Tweak theme without computer

I don't spend lots of time at the computer, so I like to find ways to do as much as possible on the phone. One thing I've found is that every theme I try has at least one element I wish I could change, as much as I like it overall. I don't know enough to make my own theme, but I found a way to change elements of the theme without using a computer. I'm sure this is not news to many of you, but I figured there might be other non-experts like me out there who might appreciate it.
1. Download Apktool apk file below, install it, open it, {it will automatically update on the first use for some reason}, go to settings and check 'device has root', {leave other settings alone}, then close the app, reopen and grant su access.
2. Make a directory in storage somewhere called 'apktool', {or something}, and copy the following to it: /system/framework/framework-res.apk, /system/framework/SemcGenericUxpRes/SemcGenericUxpRes.apk, and whatever themes you want to mix and match.
3. Open apktool app, navigate to apktool directory, and import the framework files by tapping on each one and selecting 'import as framework'. When done, you can then tap on the theme apk files and select 'decompile all', and they will be decompiled into folders called {appname}-src. Go into the folders with a root explorer and change what you want, then go back to apktool, and tap on the folder you want and choose 'recompile'. When recompile is done you end up with an apk called '{appname}-src.apk'. Tap on that and choose 'sign'. When done you will get an apk called '{appname}-src-sign.apk, which you can install normally.
-Notes, questions-
- I'm currently using Z1c stock .236 deodexed rom. This app should work on other phones, roms, versions, etc, but I can't say for sure. What I know is that there are at least 5 versions of the app out there, {Google search for 'apktool 4.4' or '5.2', etc}, and it seems like each one works better on certain versions of Android. There are also configurable settings. If you have a different phone or rom, etc, you just have to mess around with it.
- This app should work as normal apktool for modding systemUI and framework, but I can't get it to recompile on LP, but only on Kk. Decompile works fine, but on recompile it complains about lacking resources. I don't know what file it wants. If someone can figure it out that would be great.
-If you don't know what files to change, all I can say is that I didn't either. Start with the obvious stuff, like navbar keys, and see how brave you get. Just make sure your file names are changed, since every app doesn't use the same names for the same files. As long as you work with copied files you have nothing to lose. If something is wrong with your modifications, then it won't recompile correctly, and you'll just get an error message, so you can't really install something that's going to mess up your phone.
- This also works for changing appearance of other apps, not just themes. See my recent posts in the Naked Browser thread for examples. However, sometimes it won't be able to decompile an app, and there's probably nothing you can do. I think the way apktool works is based on how the app was created. If something is not compatible, it just won't work.
- You don't have to decompile just to pull files out of an apk, but you do need an app that can do it. I use Rom Toolbox Pro. There may be free ones, {maybe Mixplorer}. I think you can just change the extension to zip and extract normally. However, some files and folders are not the same zipped in the apk as they are when decompiled.
File link - https://drive.google.com/file/d/0B5E7sFT1phjoS003R0tkM21qUlk/view?usp=docslist_api
Nice tutorial bro :good:
Thank you very much!
Sent from my D5503 using XDA Free mobile app
Since sharing themes with others' work is not kosher, (http://forum.xda-developers.com/crossdevice-dev/sony/share-frankentheme-t3282360), I figured I'd add a little more here for anyone's personal use. In general, here's what I've found with these themes:
- Within each apk there is an 'assets' folder, which contains zip files. Each zip file mods a certain aspect of the ui. For example, there will be one for settings, which contains the little pictures next to each settings option, (personalization, with the little rainbow, etc). You can experiment with simply swapping these around with different themes. However, if you want to add a settings zip, for example, to a theme base that does not already have a settings zip in it, you have to mod the main android manifest file in the top level of the apk. If you want to see how it needs to be modded, look at one that has it already. It's pretty obvious, since it's the same entry for each zip, but with the corresponding zip name. You can also extract these zips and replace files in them and rezip. Keep in mind, though, that there are some things that aren't that simple and just won't work.
- There are some things that are coded in, and can't be changed, (as far as I can figure out), like accent color. It seems like accent color just comes with the 'android' zip, and there's nothing you can do about it. As a workaround, you can find an 'android' zip with a color you like, and change out the other files from the zip you wish you could change the accent on. Again, sometimes it just won't work and you won't know why.
- Some themes don't follow this pattern at all. I haven't learned much about them yet.
Screenshots show examples I've used...

Customize Xperia Themes [no computer]

Sometimes someone makes a theme you love, but you wish just one thing was different, or maybe, like me, you have a modded system with dark background, and you apply a theme with dark text on settings dashboard, etc, and you can't read the words. This is what I do about it, (screenshots - Dark Sense theme by @shehabskull). Maybe someone else will appreciate...
** Note - you may not use this method to modify someone else's theme, then re-post it as your own. Always give credit and get proper permission before using a developer's work.
I posted a similar thread a year and a half ago, but seems like Sony theme creator has changed since then, (can't say for sure since I've never used it, but the files and folders in recent themes seem different than they were back then).
This assumes you know something about apktool. If not, that's a different thread. I recommend using ApktoolX for decompile / recompile, and Mixplorer for editing.
1. Install ApktoolX - https://www.androidfilehost.com/?fid=673368273298927619 - and set it up, (check 'root' in settings, make apktool folder, copy framework files and import each one). Also copy whatever theme you want to mod to apktool folder.
2. Decompile theme apk. You will get a folder with a few files and folders in it. One of them is called 'assets', which contains a bunch of zip files. The zips are all apks with zip extension.
3. Make a temp folder somewhere and copy whatever zips in the assets folder you want to mod, (settings, systemui, etc). Change the file extension from zip to apk. Then go back to ApktoolX and decompile those. Now you can mod the values.
4. After making mods, use ApktoolX to recompile. When recompile is done, change the filename back to what it was originally, (whatever.zip). Then copy that zip into the original location in the decompiled theme apk, deleting the one that's already there.
5. Now go back to ApktoolX and recompile the theme. When it's done, you will get a filed called (whatever)_src.apk. Use ApktoolX to sign it, (click on the file and choose 'sign' from the menu). The new file can be installed normally.
Note - occasionally you can change something that will recompile and install just fine, but will cause systemui to crash or something. If so, just boot to recovery, and delete the theme from /data/app.
Also - some themes might have a certain asset you like that another theme doesn't have. You can add them, but you have to modify android manifest xml accordingly, (look at it and you'll see). They're not always cross-compatible, though.
Nice guide.. Keep it up ?
Sent from my E6633 using Tapatalk

Categories

Resources