[Solved] Error in decompiling and recompiling systemui - Galaxy Y GT-S5360 and Duos 6102 Q&A, Help & Troubl

Hey everyone,
Im trying to decompile systemui using , i get these list of errors. What's possibly wrong? Im on Reincarnation V6
D:\SGYroms\apktool1.5.2>apktool d systemui.apk
I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\user\apktool\framework\1.apk
I: Loaded.
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec:
0x0101038c
at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61)
at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:58)
at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:54)
at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferenceValue.java:62)
at brut.androlib.res.data.value.ResStyleValue.serializeToResValuesXml(ResStyleValue.java:51)
at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResources.java:440)
at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:243)
at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:115)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:114)
at brut.apktool.Main.cmdDecode(Main.java:146)
at brut.apktool.Main.main(Main.java:77)
Errors on recompiling...
D:\SGYroms\apktool1.5.2>apktool b -f -d systemui
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathN
otExist: apktool.yml
at brut.androlib.Androlib.readMetaFile(Androlib.java:164)
at brut.androlib.Androlib.build(Androlib.java:183)
at brut.androlib.Androlib.build(Androlib.java:176)
at brut.apktool.Main.cmdBuild(Main.java:228)
at brut.apktool.Main.main(Main.java:79)
Caused by: brut.directory.PathNotExist: apktool.yml
at brut.directory.AbstractDirectory.getFileInput(AbstractDirectory.java:
103)
at brut.androlib.Androlib.readMetaFile(Androlib.java:160)
... 4 more
D:\SGYroms\apktool1.5.2>

decompiling error is caused by wrong framework being used - You wont be able to recompile because the resources were not decompiled
Make sure you use correct framework-res.apk - This may not always be the one that comes with the rom as it may of been compiled with jellybean framework
You can try loading this framework and then try to decompile
http://d-h.st/zAg

marcussmith2626 said:
decompiling error is caused by wrong framework being used - You wont be able to recompile because the resources were not decompiled
Make sure you use correct framework-res.apk - This may not always be the one that comes with the rom as it may of been compiled with jellybean framework
You can try loading this framework and then try to decompile
http://d-h.st/zAg
Click to expand...
Click to collapse
Thanks for reply, Decompiling worked like a charm ..but i got these errors while installing framework?
D:\SGYroms\apktool1.5.2>apktool if framework-res.apk
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: drawable-nodpi-v8-ERR0
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: drawable-v8-ERR1
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: drawable-hdpi-v8-ERR2
I: Framework installed to: C:\Users\user\apktool\framework\1.apk
and these on recompiling systemui
D:\SGYroms\apktool1.5.2>apktool b systemui.apk
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.Direc
toryException: java.io.FileNotFoundException: systemui.apk (The system cannot fi
nd the file specified)
at brut.androlib.Androlib.readMetaFile(Androlib.java:164)
at brut.androlib.Androlib.build(Androlib.java:183)
at brut.androlib.Androlib.build(Androlib.java:176)
at brut.apktool.Main.cmdBuild(Main.java:228)
at brut.apktool.Main.main(Main.java:79)
Caused by: brut.directory.DirectoryException: java.io.FileNotFoundException: sys
temui.apk (The system cannot find the file specified)
at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:55)
at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:38)
at brut.androlib.res.util.ExtFile.getDirectory(ExtFile.java:55)
at brut.androlib.Androlib.readMetaFile(Androlib.java:160)
... 4 more
Caused by: java.io.FileNotFoundException: systemui.apk (The system cannot find t
he file specified)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(Unknown Source)
at java.util.zip.ZipFile.<init>(Unknown Source)
at java.util.zip.ZipFile.<init>(Unknown Source)
at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:53)
... 7 more
D:\SGYroms\apktool1.5.2>

marcusflint said:
Thanks for reply, Decompiling worked like a charm ..but i got these errors while installing framework?
D:\SGYroms\apktool1.5.2>apktool if framework-res.apk
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: drawable-nodpi-v8-ERR0
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: drawable-v8-ERR1
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: drawable-hdpi-v8-ERR2
I: Framework installed to: C:\Users\user\apktool\framework\1.apk
and these on recompiling systemui
D:\SGYroms\apktool1.5.2>apktool b systemui.apk
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.Direc
toryException: java.io.FileNotFoundException: systemui.apk (The system cannot fi
nd the file specified)
at brut.androlib.Androlib.readMetaFile(Androlib.java:164)
at brut.androlib.Androlib.build(Androlib.java:183)
at brut.androlib.Androlib.build(Androlib.java:176)
at brut.apktool.Main.cmdBuild(Main.java:228)
at brut.apktool.Main.main(Main.java:79)
Caused by: brut.directory.DirectoryException: java.io.FileNotFoundException: sys
temui.apk (The system cannot find the file specified)
at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:55)
at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:38)
at brut.androlib.res.util.ExtFile.getDirectory(ExtFile.java:55)
at brut.androlib.Androlib.readMetaFile(Androlib.java:160)
... 4 more
Caused by: java.io.FileNotFoundException: systemui.apk (The system cannot find t
he file specified)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(Unknown Source)
at java.util.zip.ZipFile.<init>(Unknown Source)
at java.util.zip.ZipFile.<init>(Unknown Source)
at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:53)
... 7 more
D:\SGYroms\apktool1.5.2>
Click to expand...
Click to collapse
framework install is normal - thats fine no problem there
recompile is because you have typed in the incorrect commands
the command should be (assuming the command prompt is at the correct location)
apktool b NameOfDecompiledFolder NameYouWantForNewApk.apk
eg
apktool b mydecompiledsystemui mynewsystemui.apk

the command should be (assuming the command prompt is at the correct location)
apktool b NameOfDecompiledFolder NameYouWantForNewApk.apk
eg
apktool b mydecompiledsystemui mynewsystemui.apk
Click to expand...
Click to collapse
Ah my bad, working fine now, thanks for your help

Related

[Q] how to use apktool DeskClock.apk

hi devs,
is would like to modify an apk! after some google-work, i found apktool to decompile & to compile the modded! but without success!
what i have done? (OS=linux)
download (aapt,apktool,apktool.jar) to /usr/local/bin
adb pull /system/app/DeskClock.apk /home/htc/
cd /home/htc/
apktool d DeskClock.apk ./out
change the /res/values-de/strings.xml and save
apktool b -f -d out (compile the folder to new apk)
adb shell & cd /system/app & mv DeskClock.apk DeskClock.old & ^ctrl+D
adb push /home/htc/out/dist/DeskClock.apk /system/app/
ok, in my opinion that should be all, but it doesn't work!
i cant see the Clock App on my Droid.
Can anybody say me, were is my misstake?
I'm not very talented in Linux, but your steps seem to be right. I always used Windows at work, so I do only know the apk took for Win XP
But did you check if the recompiled file has the same size as the original one?
Apktool ERROR
Hey I'm trying to use apktool to recompile my SystemUI.apk but anytime i run apktool b SystemUI the following error pops up
C:\Windows\system32>cd C:\Windows
C:\Windows>apktool if C:\Windows\framework-res.apk
I: Framework installed to: C:\Users\Mama\apktool\framework\1.apk
C:\Windows>apktool if C:\Windows\SystemUI.apk
I: Framework installed to: C:\Users\Mama\apktool\framework\127.apk
C:\Windows>apktool d SystemUI.apk
I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\Mama\apktool\framework\1.apk
I: Loaded.
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Done.
I: Copying assets and libs...
C:\Windows>apktool b SystemUI
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
C:\Windows\SystemUI\res\values\styles.xml:3: error: Error retrieving parent for
item: No resource found that matches the given name '@*android:style/TextAppeara
nce.StatusBar'.
C:\Windows\SystemUI\res\values\styles.xml:8: error: Error retrieving parent for
item: No resource found that matches the given name '@*android:style/TextAppeara
nce.Large'.
C:\Windows\SystemUI\res\values\styles.xml:11: error: Error retrieving parent for
item: No resource found that matches the given name '@*android:style/Widget.But
ton'.
C:\Windows\SystemUI\res\values\styles.xml:16: error: Error retrieving parent for
item: No resource found that matches the given name '@*android:style/TextAppear
ance.StatusBar'.
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutExce
ption: could not exec command: [aapt, p, --min-sdk-version, 10, --target-sdk-ver
sion, 10, -F, C:\Users\Mama\AppData\Local\Temp\APKTOOL1762758136473137198.tmp, -
I, C:\Users\Mama\apktool\framework\1.apk, -S, C:\Windows\SystemUI\res, -M, C:\Wi
ndows\SystemUI\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:255)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:324)
at brut.androlib.Androlib.buildResources(Androlib.java:269)
at brut.androlib.Androlib.build(Androlib.java:192)
at brut.androlib.Androlib.build(Androlib.java:174)
at brut.apktool.Main.cmdBuild(Main.java:188)
at brut.apktool.Main.main(Main.java:70)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, --min-sd
k-version, 10, --target-sdk-version, 10, -F, C:\Users\Mama\AppData\Local\Temp\AP
KTOOL1762758136473137198.tmp, -I, C:\Users\Mama\apktool\framework\1.apk, -S, C:\
Windows\SystemUI\res, -M, C:\Windows\SystemUI\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:253)
... 6 more
C:\Windows>
I know that some of the .xml file might be wrong but i tried just decompiling and recompiling the SystemUI.apk and the same error appear...
Is there something im doing wrong??
Please help!!!!!!
maybe posting in the thread for apktool might get you help faster
and nice revive of a 10 month old dead thread

[TUTORIAL][SENSE]How to edit XML/smali files in SystemUI.apk, the clean and easy way

Hello.
For the last two days, i've been working on a fix for the "subsequent row resize bug" in MrLuje's port of Quick Settings. As every journey starts with the first step, i needed to properly decompile/recompile SystemUI.apk before being able to read/edit any XML/smali files it contains. Upon searching the Internet and through trial and error, i've managed to find a simple and clean way to do it (as any other way i've tried was leading to force closes).
Required software:
- APKtool;
- an enhanced text editor to edit the XML/smali files with (i use EditPlus);
- *Root Explorer or any other root explorer out there (i use ES File Explorer);
- any archive utility that can open .ZIP files (7zip, WinRAR etc.);
- Windows PC.
*Note: yes, you have to have root and S-OFF!
Step 1 (installing the tools):
- Download and install the latest Java Runtime Environment (APKtool needs at least ver. 1.6);
- Download "apktool-install-windows-r04-brut1.tar.bz2" and "apktool1.X.X.tar.bz2" and unzip them into a folder of your choosing;
Step 2 (preparing to decompile):
- In order to properly decompile/compile SystemUI.apk, you need to install the framework with APKtool;
- Open your root explorer of choice and navigate to /system/framework;
- Copy both "framework-res.apk" and "com.htc.resources.apk" to the SD card, then move them to your PC either via cable or via a software of your choosing (i use AirDroid);
- Put both "framework-res.apk" and "com.htc.resources.apk" into the folder where you've extracted APKtool;
- Open a command prompt (Windows button + R then type "cmd") and navigate to the folder where you have APKtool and the framework APKs;
- Type "apktool if framework-res.apk" then "apktool if com.htc.resources.apk". Your files will be processed and the required bits will be "installed" in "C:/Users/<yourusername>/apktool/framework";
- You can now delete both APKs from the folder.
Step 3 (proper decompilation):
- Copy your SystemUI.apk from "/system/app" to the folder where you've installed APKtool or copy the SystemUI.apk you wish to mod to the folder where you've extracted APKtool;
- Open a command prompt, navigate to the APKtool folder, type "apktool d SystemUI.apk" and wait 'till APKtool has finished. You should get no errors whatsoever and your APK should now be decompiled into "readable format" in "<yourAPKtoolfolder>/SystemUI". Edit the files you wish to edit with the text editor of your choosing. Beware, if you don't know what you're doing when messing with the XML/smali files, you're either gonna be stuck at the Quietly Brilliant logo or your Notification Bar will force close!
Step 4 (proper compilation):
- After making the desired changes in the decompiled APK, it's now time to compile it;
- Open a command prompt, navigate to the APKtool folder then type "apktool b SystemUI". Your APK will now be compiled to "<yourAPKtoolfolder>/SystemUI/dist" (again, you should get no errors whatsoever). DON'T USE IT YET!
- Being a system app, SystemUI.apk must first be signed with the proper keys else odds are it won't work. To do that, you need to rename the SystemUI.apk you're editing (the original one) into SystemUI.zip, open it with an archive manager then extract META-INF and AndroidManifest.xml to the "<yourAPKtoolfolder>/SystemUI/build/apk" folder, then run the "apktool b SystemUI" command again. Your APK will now be built with the proper keys included, and is now fully functional. You may "pick it up" from the "<yourAPKtoolfolder>/SystemUI/dist" folder;
- You can now flash the resulting (modded) APK to your device either via ADB or via a way of your choosing (.ZIP from recovery etc.).
Have fun and remember to always do a nandroid backup before messing with system files!
Example: how to fix the "subsequent row bug" in MrLuje's port of Quick Settings.
1) Decompile SystemUI.apk;
2) Go to "<yourAPKtoolfolder>/SystemUI/res/layout/" and open "status_bar_preference.xml" with the text editor of your choice;
3) Find the line below:
Code:
<com.android.systemui.statusbar.preference.PreferenceView android:orientation="vertical" android:background="@drawable/status_bar_item_background" android:focusable="true" android:clickable="true" android:layout_width="fill_parent" android:layout_height="[B][COLOR="Red"]wrap_content[/COLOR][/B]" [...]
4) Edit the value of "layout_height=" from "wrap_content" to "48.5dip";
5) Recompile the APK, push to "/system/app" and voila, bug gone.
For those who don't know/haven't noticed the bug i'm talking about, if you very quickly touch a setting's row in the Quick Settings panel, the subsequent row becomes enlarged and ruins the layout. My finding is if you force the rows to have a fixed value instead of leaving their value "at the discretion of Android", the bug disappears.
Explanation: "dip" means "density-independent pixel". As the Android Developers page defines it:
A virtual pixel unit that you should use when defining UI layout, to express layout dimensions or position in a density-independent way.
The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen, which is the baseline density assumed by the system for a "medium" density screen. At runtime, the system transparently handles any scaling of the dp units, as necessary, based on the actual density of the screen in use. The conversion of dp units to screen pixels is simple: px = dp * (dpi / 160). For example, on a 240 dpi screen, 1 dp equals 1.5 physical pixels. You should always use dp units when defining your application's UI, to ensure proper display of your UI on screens with different densities.
Click to expand...
Click to collapse
Hi TVTV,
Nice tutorial! Thanks.
Regarding the example, I'm going to point to your new systemui in the OP of my ROM, if you don't mind.
I am currently using the good old superfast coolbravoS_v10 and the small bug you noticed is also there.
Anyway, I would have never noticed it, if you wouldn't have told in my rom thread!
You are a real perfectionist!
Cheers,
Wally
Hello, Wally!
Sure, point away, no problem!
About the perfectionism, what can i say? When you work some long years in the business of desktop publishing, you unwillingly develop an OCD-like attention to details.
great!
That's why the app I modded wasn't working, thanks sir, ill try it when I get home, I was using the com.framework-res.apk only, thanks again.
Glad to help!
When decompiling apps, if you are missing some required framework file/s (some packages have more than one dependency), APKTool will return this error: "Can't find framework resources for package of id: [PACKAGE ID]. You must install proper framework files, see project website for more info". In this case you must locate the package with the required ID and install it as framework.
How to find out package IDs? Well, i do it by trial and error. I have noticed that when you install a package as framework, APKTool installs it as a number (e.g. if you install com.htc.resources.apk, APKTool will say "I: Framework installed to: C:\Users\*\apktool\framework\2.apk; if you install SystemUI.apk, it will install it as 127.apk etc.). That number represents the package's ID. I just keep installing various packages from /system until i find the one of the required ID. If anybody knows of an easier way, please do tell.
Good resource, thanks for taking the time to explain all this in a simple way.
Great tutorial, thanks. "apktool if framework-res.apk" runs OK, however when I run "apktool if com.htc.resources.apk" I get the following errors:
HTML:
C:\APK Tools>apktool if com.htc.resources.apk
W: Config flags size > 36. Exceeding bytes: 0x1000000.
W: Invalid config flags detected: dimen-hdpi-ERR0
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: dimen-hdpi-ERR1
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected: dimen-hdpi-ERR2
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected: dimen-hdpi-ERR3
W: Config flags size > 36. Exceeding bytes: 0x1000000.
W: Invalid config flags detected: dimen-zh-rCN-hdpi-ERR4
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: dimen-zh-rCN-hdpi-ERR5
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected: dimen-zh-rCN-hdpi-ERR6
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected: dimen-zh-rCN-hdpi-ERR7
W: Config flags size > 36. Exceeding bytes: 0x1000000.
W: Invalid config flags detected: dimen-zh-rTW-hdpi-ERR8
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: dimen-zh-rTW-hdpi-ERR9
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected: dimen-zh-rTW-hdpi-ERR10
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected: dimen-zh-rTW-hdpi-ERR11
W: Config flags size > 36. Exceeding bytes: 0x1000000.
W: Invalid config flags detected: integer-hdpi-ERR12
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: integer-hdpi-ERR13
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected: integer-hdpi-ERR14
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected: integer-hdpi-ERR15
I: Framework installed to: C:\Users\xxxxxxx\apktool\framework\2.apk
I then run "apktool d systemUI.apk" and I get the following errors
HTML:
I: Baksmaling...
testI: Loading resource table...
I: Loaded.
I: Loading resource table from file: C:\Users\xxxxxxx\apktool\framework\1.apk
I: Loaded.
I: Decoding file-resources...
I: Loading resource table from file: C:\Users\xxxxxxx\apktool\framework\2.apk
W: Config flags size > 36. Exceeding bytes: 0x1000000.
W: Invalid config flags detected: dimen-hdpi-ERR0
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: dimen-hdpi-ERR1
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected: dimen-hdpi-ERR2
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected: dimen-hdpi-ERR3
W: Config flags size > 36. Exceeding bytes: 0x1000000.
W: Invalid config flags detected: dimen-zh-rCN-hdpi-ERR4
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: dimen-zh-rCN-hdpi-ERR5
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected: dimen-zh-rCN-hdpi-ERR6
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected: dimen-zh-rCN-hdpi-ERR7
W: Config flags size > 36. Exceeding bytes: 0x1000000.
W: Invalid config flags detected: dimen-zh-rTW-hdpi-ERR8
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: dimen-zh-rTW-hdpi-ERR9
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected: dimen-zh-rTW-hdpi-ERR10
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected: dimen-zh-rTW-hdpi-ERR11
W: Config flags size > 36. Exceeding bytes: 0x1000000.
W: Invalid config flags detected: integer-hdpi-ERR12
W: Config flags size > 36. Exceeding bytes: 0x2000000.
W: Invalid config flags detected: integer-hdpi-ERR13
W: Config flags size > 36. Exceeding bytes: 0x4000000.
W: Invalid config flags detected: integer-hdpi-ERR14
W: Config flags size > 36. Exceeding bytes: 0x5000000.
W: Invalid config flags detected: integer-hdpi-ERR15
I: Loaded.
I: Decoding values*/* XMLs...
I: Done.
I: Copying assets and libs...
but everything seems to be OK in "<yourAPKtoolfolder>/SystemUI" and I can edit the resulting xml files OK.
Im running JRE 1.7.0.20
Hmm. I can see that you're using an ICS ROM w/Sense 3.6. APKTool has not yet been updated to work with the ICS SDK, that's why you're getting those error messages. Thus it shouldn't be used for editing ICS-related packages. Hang tight, the guys behind APKTool will certainly update it soon.
L.E. - There seems to be a workaround for editing SystemUI on ICS, but there are no guarantees as to the outcome. Take a look at this thread and read the OP and NilsP's posts.
Greate tutorial
Hi,
Very useful tutorial, any chance you know how can I
Change systemui.apk to add more notification tuggles?
---------- Post added at 11:00 AM ---------- Previous post was at 10:55 AM ----------
Hi,
Very useful tutorial, any chance you know how can I Change systemui.apk to add more notification tuggles?
Haven't tried it myself, but orkillakilla has put together a great tutorial on this subject. You can find it here. Beware though, it's quite an enterprise!
I get this error when compiling
C:\apktool>apktool b SystemUI
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
invalid resource directory name: C:\apktool\SystemUI\res/drawable-sw600dp-xhdpi
invalid resource directory name: C:\apktool\SystemUI\res/layout-sw600dp
invalid resource directory name: C:\apktool\SystemUI\res/values-sw600dp
invalid resource directory name: C:\apktool\SystemUI\res/values-sw600dp-port
invalid resource directory name: C:\apktool\SystemUI\res/values-sw720dp
invalid resource directory name: C:\apktool\SystemUI\res/values-sw720dp-port
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\Users\robertra\AppData\Local\Temp\APK
TOOL4611948545260478965.tmp, -I, C:\Users\robertra\apktool\framework\1.apk, -S, C:\apktool\SystemUI\res, -M, C:\apktool\SystemUI\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:193)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:301)
at brut.androlib.Androlib.buildResources(Androlib.java:248)
at brut.androlib.Androlib.build(Androlib.java:171)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:182)
at brut.apktool.Main.main(Main.java:67)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\Users\robertra\AppData\Local\Temp\APKTOOL4611948545260478965.tmp, -I, C:\Users\robertr
a\apktool\framework\1.apk, -S, C:\apktool\SystemUI\res, -M, C:\apktool\SystemUI\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:191)
... 6 more
What ROM are you using, please?
I am new in development section. I found system apps are dependend on system-res.apk . If I like to port a system apps from one Rom to some other Rom , what steps I have to follow ....if possible pl. guide me briefly.
I'm sorry, but i'm not knowledgeable on the subject of porting apps.
TVTV said:
What ROM are you using, please?
Click to expand...
Click to collapse
I get the same error ... I've tried everything ... same thing ... i can decompile ok
Thanks
---------- Post added at 02:24 AM ---------- Previous post was at 02:23 AM ----------
bigshotrob22 said:
I get this error when compiling
C:\apktool>apktool b SystemUI
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
invalid resource directory name: C:\apktool\SystemUI\res/drawable-sw600dp-xhdpi
invalid resource directory name: C:\apktool\SystemUI\res/layout-sw600dp
invalid resource directory name: C:\apktool\SystemUI\res/values-sw600dp
invalid resource directory name: C:\apktool\SystemUI\res/values-sw600dp-port
invalid resource directory name: C:\apktool\SystemUI\res/values-sw720dp
invalid resource directory name: C:\apktool\SystemUI\res/values-sw720dp-port
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\Users\robertra\AppData\Local\Temp\APK
TOOL4611948545260478965.tmp, -I, C:\Users\robertra\apktool\framework\1.apk, -S, C:\apktool\SystemUI\res, -M, C:\apktool\SystemUI\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:193)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:301)
at brut.androlib.Androlib.buildResources(Androlib.java:248)
at brut.androlib.Androlib.build(Androlib.java:171)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:182)
at brut.apktool.Main.main(Main.java:67)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\Users\robertra\AppData\Local\Temp\APKTOOL4611948545260478965.tmp, -I, C:\Users\robertr
a\apktool\framework\1.apk, -S, C:\apktool\SystemUI\res, -M, C:\apktool\SystemUI\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:191)
... 6 more
Click to expand...
Click to collapse
I get the same error ... I've tried everything ... same thing ... i can decompile ok
Thanks
If you're trying to decompile/recompile an ICS ROM, that may be your problem. What ROM are you using, please?
TVTV said:
If you're trying to decompile/recompile an ICS ROM, that may be your problem. What ROM are you using, please?
Click to expand...
Click to collapse
Im using this rom
Calkulin's E4GT v2.9.2 [ EL29 l Fast l Tweaked l Battery Saver Script ]
http://forum.xda-developers.com/showthread.php?t=1332837
Is it because the files are deodexed?...
Thanks ..
Hmm, you ROM appears to be 2.3.6-based, so there shouldn't be any problems in decompiling its APKs. I'm not knowledgeable enough to tell you exactly if the fact that it's deODEXed represents the problem, but i believe that might be it.
I had been trying to rearrange the softkeys in CM7 for Nook Tablet, this method finally worked. Thanks!
Sent from my Nexus S using Tapatalk

[Q] trouble recompiling apks

I am getting the following errors when I attempt to decompile GoogleLatinIME.apk(copied directly from system- app) and SamsungIME.apk(downloaded from xda thread) with apktool I put the framework-res.apk and SystemUI.apk into the framework folder by running command prompt - apktool if .... , also I tried adding twframework-res.apk to the framework folder in apktool. I am running http://forum.xda-developers.com/ver.../rom-eclipse-s5-tw-v1-0-12-8-14-real-t2967151
The possibility exists that I have no idea what I am doing so any help is much appreciated. Thanks!!!
C:\Users\GLEN\apktools\phone\apktool>apktool d GoogleLatin.apk
Input file (GoogleLatin.apk) was not found or was not readable.
C:\Users\GLEN\apktools\phone\apktool>apktool d GoogleLatinIME.apk
I: Baksmaling...
I: Loading resource table...
Exception in thread "main" brut.androlib.AndrolibException: Could not decode ars
c file
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:56)
at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibRes
ources.java:491)
at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.jav
a:74)
at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.jav
a:66)
at brut.androlib.Androlib.getResTable(Androlib.java:50)
at brut.androlib.ApkDecoder.getResTable(ApkDecoder.java:189)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:114)
at brut.apktool.Main.cmdDecode(Main.java:146)
at brut.apktool.Main.main(Main.java:77)
Caused by: java.io.IOException: Expected: 0x001c0001, got: 0x00000000
at brut.util.ExtDataInput.skipCheckInt(ExtDataInput.java:48)
at brut.androlib.res.decoder.StringBlock.read(StringBlock.java:44)
at brut.androlib.res.decoder.ARSCDecoder.readPackage(ARSCDecoder.java:10
2)
at brut.androlib.res.decoder.ARSCDecoder.readTable(ARSCDecoder.java:83)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:49)
... 8 more
C:\Users\GLEN\apktools\phone\apktool>apktool d SamsungIME.apk
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.Direc
toryException: java.util.zip.ZipException: error in opening zip file
at brut.androlib.ApkDecoder.hasSources(ApkDecoder.java:199)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:83)
at brut.apktool.Main.cmdDecode(Main.java:146)
at brut.apktool.Main.main(Main.java:77)
Caused by: brut.directory.DirectoryException: java.util.zip.ZipException: error
in opening zip file
at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:55)
at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:38)
at brut.androlib.res.util.ExtFile.getDirectory(ExtFile.java:55)
at brut.androlib.ApkDecoder.hasSources(ApkDecoder.java:197)
... 3 more
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(Unknown Source)
at java.util.zip.ZipFile.<init>(Unknown Source)
at java.util.zip.ZipFile.<init>(Unknown Source)
at brut.directory.ZipRODirectory.<init>(ZipRODirectory.java:53)
... 6 more
C:\Users\GLEN\apktools\phone\apktool>

[mod] SystemUI

Hi to all, How I do to decompiler SystemUI.apk, my device is p8lite? I tryed with apktool, but I can not
My errors:
Code:
C:\Program Files (x86)\Minimal ADB and Fastboot>apktool d SystemUI.apk
I: Using Apktool 2.0.3 on SystemUI.apk
I: Loading resource table...
I: Decoding Shared Library (androidhwext), pkgId: 2
Exception in thread "main" brut.androlib.AndrolibException: Multiple resources: spec=0x7f020244 drawable/stat_sys_data_connected_2g, config=-notround-xhdpi
at brut.androlib.res.data.ResType.addResource(ResType.java:66)
at brut.androlib.res.data.ResType.addResource(ResType.java:55)
at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:252)
at brut.androlib.res.decoder.ARSCDecoder.readTableType(ARSCDecoder.java:212)
at brut.androlib.res.decoder.ARSCDecoder.readTableTypeSpec(ARSCDecoder.java:154)
at brut.androlib.res.decoder.ARSCDecoder.readTablePackage(ARSCDecoder.java:116)
at brut.androlib.res.decoder.ARSCDecoder.readTableHeader(ARSCDecoder.java:78)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:47)
at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:544)
at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:63)
at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:55)
at brut.androlib.Androlib.getResTable(Androlib.java:66)
at brut.androlib.ApkDecoder.setTargetSdkVersion(ApkDecoder.java:198)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:96)
at brut.apktool.Main.cmdDecode(Main.java:165)
at brut.apktool.Main.main(Main.java:81)
Why? where am I wrong?
up
linus2014 said:
Hi to all, How I do to decompiler SystemUI.apk, my device is p8lite? I tryed with apktool, but I can not
My errors:
Code:
C:\Program Files (x86)\Minimal ADB and Fastboot>apktool d SystemUI.apk
I: Using Apktool 2.0.3 on SystemUI.apk
I: Loading resource table...
I: Decoding Shared Library (androidhwext), pkgId: 2
Exception in thread "main" brut.androlib.AndrolibException: Multiple resources: spec=0x7f020244 drawable/stat_sys_data_connected_2g, config=-notround-xhdpi
at brut.androlib.res.data.ResType.addResource(ResType.java:66)
at brut.androlib.res.data.ResType.addResource(ResType.java:55)
at brut.androlib.res.decoder.ARSCDecoder.readEntry(ARSCDecoder.java:252)
at brut.androlib.res.decoder.ARSCDecoder.readTableType(ARSCDecoder.java:212)
at brut.androlib.res.decoder.ARSCDecoder.readTableTypeSpec(ARSCDecoder.java:154)
at brut.androlib.res.decoder.ARSCDecoder.readTablePackage(ARSCDecoder.java:116)
at brut.androlib.res.decoder.ARSCDecoder.readTableHeader(ARSCDecoder.java:78)
at brut.androlib.res.decoder.ARSCDecoder.decode(ARSCDecoder.java:47)
at brut.androlib.res.AndrolibResources.getResPackagesFromApk(AndrolibResources.java:544)
at brut.androlib.res.AndrolibResources.loadMainPkg(AndrolibResources.java:63)
at brut.androlib.res.AndrolibResources.getResTable(AndrolibResources.java:55)
at brut.androlib.Androlib.getResTable(Androlib.java:66)
at brut.androlib.ApkDecoder.setTargetSdkVersion(ApkDecoder.java:198)
at brut.androlib.ApkDecoder.decode(ApkDecoder.java:96)
at brut.apktool.Main.cmdDecode(Main.java:165)
at brut.apktool.Main.main(Main.java:81)
Why? where am I wrong?
Click to expand...
Click to collapse
Huawei SystemUI's can't be decompiled, Huawei doesn't want us to mess with their stuff.
XePeleato said:
Huawei SystemUI's can't be decompiled, Huawei doesn't want us to mess with their stuff.
Click to expand...
Click to collapse
I understood, but there must be a way, they do their Huawei and we do not.

need help on how to add setting menu to SecSettings2.apk

would anyone share how i can properly add setting menu to SecSettings2.apk? when i try using apktool it always failed on compiling. i already specify my rom framework.
the file i've edited:
device_info_settings.xml @ res/xml folder
strings.xml @ res/values folder
D:\SecSettings2>apktool if framework-res.apk
I: Framework installed to: C:\Users\san\AppData\Local\apktool\framework\1.apk
D:\SecSettings2>apktool if tw-framework.apk
I: Framework installed to: C:\Users\san\AppData\Local\apktool\framework\2.apk
D:\SecSettings2>apktool d SecSettings2.apk
I: Using Apktool 2.3.0 on SecSettings2.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: C:\Users\san\AppData\Local\apktool\framework\1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
D:\SecSettings2>apktool b SecSettings2
I: Using Apktool 2.3.0
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
W: fakeLogOpen(/dev/log_security, O_WRONLY) failed
W: fakeLogOpen(/dev/log_security, O_WRONLY) failed
W: D:\SecSettings2\SecSettings2\res\values\public.xml:13803: error: Public symbol string/ambient_display_pickup_summary declare
d here is not defined.
W: D:\SecSettings2\SecSettings2\res\values\public.xml:13802: error: Public symbol string/ambient_display_pickup_title declared
here is not defined.
............................
........................
.............
Click to expand...
Click to collapse

Categories

Resources