Compile ADWLauncher - Nexus One Q&A, Help & Troubleshooting

Hi everyone,
I cloned AOSP 2.2 sources
and then I replace Launcher2 folder in packages/apps with ADWLauncher from AndersWeb's github
Then "Make Launcher" returns me this:
Code:
target R.java/Manifest.java: Launcher2 (out/target/common/obj/APPS/Launcher2_intermediates/src/R.stamp)
target Java: Launcher2 (out/target/common/obj/APPS/Launcher2_intermediates/classes)
packages/apps/Launcher2/src/com/android/launcher/Launcher.java:1221: cannot find symbol
symbol : variable SOURCE
location: class android.app.SearchManager
appSearchData.putString(SearchManager.SOURCE, "launcher-search");
^
packages/apps/Launcher2/src/com/android/launcher/MyLauncherSettings.java:58: method does not override a method from its superclass
@Override
^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors
make: *** [out/target/common/obj/APPS/Launcher2_intermediates/classes-full-debug.jar] Erreur 41
Here is the result from standalone branch:
Code:
target R.java/Manifest.java: Launcher (out/target/common/obj/APPS/Launcher_intermediates/src/R.stamp)
aapt: warning: string 'pref_dialog_drawer_background_alpha' has no default translation in packages/apps/android_packages_apps_Launcher/res; found: el es
aapt: warning: string 'pref_summary_drawer_background_alpha' has no default translation in packages/apps/android_packages_apps_Launcher/res; found: el es
aapt: warning: string 'pref_title_drawer_background_alpha' has no default translation in packages/apps/android_packages_apps_Launcher/res; found: el es
Warning: AndroidManifest.xml already defines versionCode (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Warning: AndroidManifest.xml already defines versionName (in http://schemas.android.com/apk/res/android); using existing value in manifest.
Warning: AndroidManifest.xml already defines minSdkVersion (in http://schemas.android.com/apk/res/android); using existing value in manifest.
target Java: Launcher (out/target/common/obj/APPS/Launcher_intermediates/classes)
packages/apps/android_packages_apps_Launcher/src/org/adw/launcher/Workspace.java:1773: method does not override a method from its superclass
@Override
^
packages/apps/android_packages_apps_Launcher/src/org/adw/launcher/Workspace.java:1778: method does not override a method from its superclass
@Override
^
packages/apps/android_packages_apps_Launcher/src/org/adw/launcher/Workspace.java:1784: method does not override a method from its superclass
@Override
^
packages/apps/android_packages_apps_Launcher/src/org/adw/launcher/Workspace.java:1793: method does not override a method from its superclass
@Override
^
packages/apps/android_packages_apps_Launcher/src/org/adw/launcher/DesktopIndicator.java:212: method does not override a method from its superclass
@Override
^
packages/apps/android_packages_apps_Launcher/src/org/adw/launcher/DesktopIndicator.java:217: method does not override a method from its superclass
@Override
^
packages/apps/android_packages_apps_Launcher/src/org/adw/launcher/DesktopIndicator.java:221: method does not override a method from its superclass
@Override
^
packages/apps/android_packages_apps_Launcher/src/org/adw/launcher/MyLauncherSettings.java:101: method does not override a method from its superclass
@Override
^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
8 errors
make: *** [out/target/common/obj/APPS/Launcher_intermediates/classes-full-debug.jar] Erreur 41
Could you help me?
thx

You should remove the override lines,
And for froyo, there's no an official system branch made by myself. I'd need to remove a few code parts, cause in froyo, the search widget is no more needed inside the launcher.

AnderWeb said:
You should remove the override lines,
And for froyo, there's no an official system branch made by myself. I'd need to remove a few code parts, cause in froyo, the search widget is no more needed inside the launcher.
Click to expand...
Click to collapse
Okay.
Thank you very much.
Hope you'll release the sources for FroYo soon

leonnib4 said:
Okay.
Thank you very much.
Hope you'll release the sources for FroYo soon
Click to expand...
Click to collapse
The actual standalone branch is froyo compatible, you just need to remove the overrides if you don't build within eclipse.

AnderWeb said:
The actual standalone branch is froyo compatible, you just need to remove the overrides if you don't build within eclipse.
Click to expand...
Click to collapse
thanks!
10chars

Hi leo, its nice to see that we are working and struggling in the same stuff, great minds think alike and it seems they mess alike too ^^
Anyway nice work both of you.

Since the repo was updated,
I only had to remove some @overides as AndersWeb told me and everything was fine.

Related

[WIP][GUIDE] PatchROM - MIUI Porting

Hello guys!
actually i dont own this phone so replace "shakira" with your phone name
MIUI recently opensourced a set of tools made for porting it's ROM to other devices. here's a little guide on how it (kinda) works, maybe it helps someone.
Any contribution is welcome
Here's what I've found of PatchROM:
Get PatchROM from here (384MB)
And make sure you have apktool installed.
The overall proccess looks like this:
Extract the tools
Get an Gingerbread ROM to install MIUI stuff;
Create the required file structure
Change the Makefile
Apply MIUI changes to the selected ROM
Flash it!
STEP 1: Extracting the tools
I've extracted the tools to ~/patchrom, but you can use another directory if you want. I'll call that folder the PatchROM root folder.
STEP 2: Choosing the ROM
The PatchROM docs recommend that we use a stock Gingerbread ROM from the device manufacturer, but there's no official Gingerbread for our device, so I used a MiniCM7 zip instead.
EDIT: make sure you use an deodexed rom or deodex your rom.
STEP 3: Creating the file structure
To port, we need to create a folder inside the PatchROM root directory for our device. There's an example device for the Samsung Galaxy S on the i9000 folder, we'll use that as a base. I created a folder called 'shakira' and copied the makefile file from the i9000 folder and the MiniCM7(thats a gb rom for my device you can take any gb rom ) zip to it.
You also need to decompile the following APK files and put the resulting folder on the 'shakira' folder:
/system/framework/android.policy.jar
/system/framework/framework.jar
/system/framework/framework-res.apk
/system/app/SystemUI.apk
/system/framework/services.jar
and the apps defined on the 'local-modified-apps' below
STEP 4: Editing the Makefile
The makefile has the following structure:
Code:
#
# Makefile for i9100
#
# The original zip file, MUST be specified by each product
local-zip-file := I9100ZCKJ1.zip
# The output zip file of MIUI rom, the default is porting_miui.zip if not specified
local-out-zip-file := MIUI_9100.zip
# All apps from original ZIP, but has smali files chanded
local-modified-apps := LogsProvider Phone MediaProvider Settings
# All apks from MIUI execept MIUISystemUI and framework-miui-res.apk
local-miui-apps := Contacts ContactsProvider Mms TelephonyProvider ThemeManager Launcher2 \
DownloadProvider TelocationProvider Notes Music Torch DownloadProviderUi Updater
# All apps need to be removed from original ZIP file
local-remove-apps := AlipayGphone AmsComposer AndroidQQ_Samsung_Seine BuddiesNow cooldict glyder2 \
ImgoTV iReader kaixin001 Memo MiniDiary MinimalHome mreader PressReader ReadersHub Renren \
Sinamicroblog SinaNews SinaStock SinaWeather SocialHub Tencentmicroblog \
TomEbook Tonghuashun TouchWiz30Launcher Youku_Samsung_seine MusicPlayer \
MediaHub PhotoRetouching VideoEditor thinkdroid QYVideoClient \
Days DigitalClock Dlna DualClock Email EmailWidget FTC FTM FTS Kobo \
Microbesgl Navigator PostIt Protips QuickSearchBox SamsungApps SamsungAppsUNA3 \
SamsungIM SamsungWidget_ProgramMonitor SecretWallpaper1 SecretWallpaper2 \
SevenEngine SnsAccountKx SnsAccountRr SnsDisclaimer SnsImageCache SnsProvider \
Tasks TasksProvider Term TrimApp TwCalendarAppWidget Zinio \
samsungappswidget syncmldm viva_tts
# To include the local targets before and after zip the final ZIP file,
# and the local-targets should:
# (1) be defined after including porting.mk if using any global variable(see porting.mk)
# (2) the name should be leaded with local- to prevent any conflict with global targets
local-pre-zip := local-zip-misc
local-after-zip:= local-test
# The local targets after the zip file is generated, could include 'zip2sd' to
# deliver the zip file to phone, or to customize other actions
include $(PORT_BUILD)/porting.mk
# To define any local-target
local-zip-misc:
cp misc/com.google.android.maps.jar $(ZIP_DIR)/system/framework/
@echo Add google apks
cp misc/apk/* $(ZIP_DIR)/system/app/
@echo Replace build.prop
cp misc/build.prop $(ZIP_DIR)/system/build.prop
local-test:
echo "an example action"
STEP 5: Apply MIUI Changes
To apply the MIUI changes on the choosen ROM, type those commands in the root of PatchROM:
Code:
source build/envsetup.sh
cd shakira # CHANGE THIS LINE TO MATCH THE FOLDER YOU CREATED IN STEP 3
make
Now it should decompile the ROM and merge the ROM's smali files with the MIUI files, and create an ZIP file with the MIUI rom
We already have a guide of ' Porting Official MIUI ' here is the link :
http://forum.xda-developers.com/showthread.php?t=1452041&highlight=miui
but yea for sure understanding your guide seems to be way easier......thanks for the efforts
Oops I didn't see that
farazfaraz said:
The PatchROM docs recommend that we use a stock Gingerbread ROM from the device manufacturer, but there's no official Gingerbread for our device, so I used a MiniCM7 zip instead.
Click to expand...
Click to collapse
Maybe I misunderstand, but why you say there isn't gingerbread for OB? We have different version of Ginger, as the 20N and the 20B. And also we have source code from LG of 20N.
skapez said:
Maybe I misunderstand, but why you say there isn't gingerbread for OB? We have different version of Ginger, as the 20N and the 20B. And also we have source code from LG of 20N.
Click to expand...
Click to collapse
This is from another device. Thats why this is stated. I dont remember which exactly, but I think it wasnt even lg. So just grab a stock ROM and try to port ;-)
Sent from my LG-P970 using Tapatalk
I tryed that, but have error in V step, in compiling decompiled apks,
Can anyone help me? What I can do with that?
Code:
build .build/Phone.apk...
--------------------------------------------
cp -r Phone .build
/home/amper/PatchROM/tools/apktool b .build/Phone .build/Phone.apk
I: Checking whether sources has changed...
I: Smaling...
I: Checking whether resources has changed...
I: Building resources...
/home/amper/PatchROM/p970fiesta/.build/Phone/res/values-kk/strings.xml:267: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
/home/amper/PatchROM/p970fiesta/.build/Phone/res/values-kk/strings.xml:267: error: Unexpected end tag string
/home/amper/PatchROM/p970fiesta/.build/Phone/res/values-uk/strings.xml:268: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
/home/amper/PatchROM/p970fiesta/.build/Phone/res/values-uk/strings.xml:269: error: Unexpected end tag string
aapt: warning: string 'badPin' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'badPuk2' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'card_title_dialing' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'card_title_on_hold' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'invalidPin' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'invalidPin2' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'menu_add' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'menu_delete' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'menu_edit' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'menu_ignore' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'mismatchPin' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'name' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'puk_requested' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'puk_unlocked' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'roaming_reenable_message' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'roaming_warning' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'save' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'simContacts_emptyLoading' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'simContacts_title' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
aapt: warning: string 'sum_carrier_select' has no default translation in /home/amper/PatchROM/p970fiesta/.build/Phone/res; found: pt_PT
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, /tmp/APKTOOL7887371696031411068.tmp, -I, /root/apktool/framework/1.apk, -S, /home/amper/PatchROM/p970fiesta/.build/Phone/res, -M, /home/amper/PatchROM/p970fiesta/.build/Phone/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, /tmp/APKTOOL7887371696031411068.tmp, -I, /root/apktool/framework/1.apk, -S, /home/amper/PatchROM/p970fiesta/.build/Phone/res, -M, /home/amper/PatchROM/p970fiesta/.build/Phone/AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:191)
... 6 more
make: *** [.build/Phone.apk] Error 1
[email protected]:/home/amper/PatchROM/p970fiesta#
UPD: go to general thread http://forum.xda-developers.com/showthread.php?t=1483332
Good News for you, the beta porting miui rom for p970 will be published at the end of Feb.
lhysun said:
Good News for you, the beta porting miui rom for p970 will be published at the end of Feb.
Click to expand...
Click to collapse
Link?
Trolling in the deep
re4lsk said:
Link?
Trolling in the deep
Click to expand...
Click to collapse
Do you understand Chinese?
lhysun said:
Do you understand Chinese?
Click to expand...
Click to collapse
Google translate does
Trolling in the deep

[Q] APKTOOL error compile settings.apk

Hi,
I'm new to Android app developing.
I got an error from apktool.
All I just did is decompile JOYSettings.apk(came from CM7.2 iPhone-style ROM) with apktool(NOT apkmultitool) and edit the "strings.xml" in /res/ , just to correct the broken English made by the ROM cooker but got this error when compiling:
C:\Users\pan_2\Desktop\apk>apktool b JOYSettings.apk
I: Checking whether sources has changed...
I: Checking whether resources has changed...
I: Building resources...
C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res\layout-port\device_admin_add.xml:
4: error: Error: No resource type specified (at 'background' with value '@173025
04').
C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res\layout-port\device_admin_settings
.xml:4: error: Error: No resource type specified (at 'background' with value '@1
7302504').
Exception in thread "main" aapt: warning: string 'add_device_admin' has no defau
lt translation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_ask_enablement_and_lasting_discovery' has no de
fault translation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_C
N
aapt: warning: string 'bluetooth_ask_lasting_discovery' has no default translati
on in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_connection_dialog_text' has no default translat
ion in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_connection_notif_message' has no default transl
ation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_connection_permission_request' has no default t
ranslation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_discoverable_duration_summary' has no default t
ranslation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_discoverable_duration_title' has no default tra
nslation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_hid_profile_summary_connected' has no default t
ranslation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_hid_profile_summary_use_for' has no default tra
nslation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_is_discoverable_always' has no default translat
ion in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_profile_hid' has no default translation in C:\U
sers\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_summary_connected_to_hid' has no default transl
ation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_visibility_timeout' has no default translation
in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_visibility_timeout_summary' has no default tran
slation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'datetime_date_set_text' has no default translation in C:\
Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'datetime_time_set_text' has no default translation in C:\
Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'lock_settings_picker_title' has no default translation in
C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'system_updata_info' has no default translation in C:\User
s\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
brut.androlib.AndrolibException: brut.common.BrutException: could not exec comma
nd: [aapt, p, -F, C:\Users\pan_2\AppData\Local\Temp\APKTOOL6241782532963690871.t
mp, -I, C:\Users\pan_2\apktool\framework\1.apk, -S, C:\Users\pan_2\Desktop\apk\J
OYSettings.apk\res, -M, C:\Users\pan_2\Desktop\apk\JOYSettings.apk\AndroidManife
st.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a: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:\U
sers\pan_2\AppData\Local\Temp\APKTOOL6241782532963690871.tmp, -I, C:\Users\pan_2
\apktool\framework\1.apk, -S, C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res, -M
, C:\Users\pan_2\Desktop\apk\JOYSettings.apk\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:191)
... 6 more
Can someone help me please
Sorry for being a noob
U need o put framework installed in apktool
unwritten sentance
Did u include resoures.arsc in compile?
spacecaker said:
U need o put framework installed in apktool
unwritten sentance
Click to expand...
Click to collapse
Sry, not spamming, but pls tell me how please.....
Btw, I think I can use apkmultitool and decompile the apk with dependencies
Btw2, I'm not even in high school yet, so.....
Thx anyway
AashayS said:
Did u include resoures.arsc in compile?
Click to expand...
Click to collapse
No...., not in the file.
panpjp said:
Sry, not spamming, but pls tell me how please.....
Btw, I think I can use apkmultitool and decompile the apk with dependencies
Btw2, I'm not even in high school yet, so.....
Thx anyway
Click to expand...
Click to collapse
Some apk files need to read framework's structure so if it requires, u need to install framework-res. and about ur errors, maybe it's caused by missing framework-res. Try to install original framework-res by following command:
Code:
apktool if framework-res.apk
You have only two errors hope u can figure out :
Code:
C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res\lay out-port\device_admin_add.xml:
4: error: Error: No resource type specified (at 'background' with value '@173025
04').
C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res\lay out-port\device_admin_settings
.xml:4: error: Error: No resource type specified (at 'background' with value '@1
7302504').
Solution : open apk file in 7zip and copy resources.arsc to the decompiled dir . Now compile
| Google+ |
As devilsking stated above,there are just 2 errors and could solved by installing the right framework maybe.
Code:
C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res\lay out-port\device_admin_add.xml:
4: error: Error: No resource type specified (at 'background' with value '@173025
04').
C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res\lay out-port\device_admin_settings
.xml:4: error: Error: No resource type specified (at 'background' with value '@1
7302504').
Caused by ids/values as stated (cant say much because the apk is not provided by you).
The rest of the errors are caused because of not having the exact translations throughout all the languages that the roms supports.
---------- Post added at 08:58 PM ---------- Previous post was at 08:57 PM ----------
AashayS said:
Solution : open apk file in 7zip and copy resources.arsc to the decompiled dir . Now compile
| Google+ |
Click to expand...
Click to collapse
-_- maybe you could point out where resources.arsc is located when an apk is decompiled?
Classes.dex gets decompiled into smali files and resources.arsc gets decompiled into xml files when an apk is decompiled.
devilsking said:
Some apk files need to read framework's structure so if it requires, u need to install framework-res. and about ur errors, maybe it's caused by missing framework-res. Try to install original framework-res by following command:
Code:
apktool if framework-res.apk
You have only two errors hope u can figure out :
Code:
C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res\lay out-port\device_admin_add.xml:
4: error: Error: No resource type specified (at 'background' with value '@173025
04').
C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res\lay out-port\device_admin_settings
.xml:4: error: Error: No resource type specified (at 'background' with value '@1
7302504').
Click to expand...
Click to collapse
Figured it out before you posted Thanks anyway.
P.S. I hitted Thx already.
Thanks!
Modulüs said:
Solution : open apk file in 7zip and copy resources.arsc to the decompiled dir . Now compile
| Google+ |
Click to expand...
Click to collapse
Thanks so much, but if I am editing XML files, especially in the values folder, will this still be OK. (Isn't the values folder the decompiled .arsc file?)
Hi, i have a big problem. I'm trying to edit settings.apk, i copied the original Resources-arsc in the folder because without that file was not working, then recompiled... everything seems to work, but files inside APK are not encoded!!!!! in fact the apk doens't work anymore...
I've tried to google it but didn't find any help...
panpjp said:
Hi,
I'm new to Android app developing.
I got an error from apktool.
All I just did is decompile JOYSettings.apk(came from CM7.2 iPhone-style ROM) with apktool(NOT apkmultitool) and edit the "strings.xml" in /res/ , just to correct the broken English made by the ROM cooker but got this error when compiling:
C:\Users\pan_2\Desktop\apk>apktool b JOYSettings.apk
I: Checking whether sources has changed...
I: Checking whether resources has changed...
I: Building resources...
C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res\layout-port\device_admin_add.xml:
4: error: Error: No resource type specified (at 'background' with value '@173025
04').
C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res\layout-port\device_admin_settings
.xml:4: error: Error: No resource type specified (at 'background' with value '@1
7302504').
Exception in thread "main" aapt: warning: string 'add_device_admin' has no defau
lt translation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_ask_enablement_and_lasting_discovery' has no de
fault translation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_C
N
aapt: warning: string 'bluetooth_ask_lasting_discovery' has no default translati
on in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_connection_dialog_text' has no default translat
ion in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_connection_notif_message' has no default transl
ation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_connection_permission_request' has no default t
ranslation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_discoverable_duration_summary' has no default t
ranslation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_discoverable_duration_title' has no default tra
nslation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_hid_profile_summary_connected' has no default t
ranslation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_hid_profile_summary_use_for' has no default tra
nslation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_is_discoverable_always' has no default translat
ion in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_profile_hid' has no default translation in C:\U
sers\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_summary_connected_to_hid' has no default transl
ation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_visibility_timeout' has no default translation
in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'bluetooth_visibility_timeout_summary' has no default tran
slation in C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'datetime_date_set_text' has no default translation in C:\
Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'datetime_time_set_text' has no default translation in C:\
Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'lock_settings_picker_title' has no default translation in
C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
aapt: warning: string 'system_updata_info' has no default translation in C:\User
s\pan_2\Desktop\apk\JOYSettings.apk\res; found: zh_CN
brut.androlib.AndrolibException: brut.common.BrutException: could not exec comma
nd: [aapt, p, -F, C:\Users\pan_2\AppData\Local\Temp\APKTOOL6241782532963690871.t
mp, -I, C:\Users\pan_2\apktool\framework\1.apk, -S, C:\Users\pan_2\Desktop\apk\J
OYSettings.apk\res, -M, C:\Users\pan_2\Desktop\apk\JOYSettings.apk\AndroidManife
st.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a: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:\U
sers\pan_2\AppData\Local\Temp\APKTOOL6241782532963690871.tmp, -I, C:\Users\pan_2
\apktool\framework\1.apk, -S, C:\Users\pan_2\Desktop\apk\JOYSettings.apk\res, -M
, C:\Users\pan_2\Desktop\apk\JOYSettings.apk\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:191)
... 6 more
Can someone help me please
Sorry for being a noob
Click to expand...
Click to collapse
Try this process:
1. Open apk file in 7zip
2.Copy RESSOURCES.arsc and META-Inf to the decompiled dir
3. Recompile your Settings apk.
I use apktool but that's true for apkmultitool, VTS, anroidMultitool ....

I Need Help, Will Give Thanks, Please Help Me Change Popup Menu Text Color To White

{
"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"
}
PLEASE HELP ME, I WILL GIVE THANKS, IT WOULD MEAN ALOT, AND PLEASE DONT
SEND ME LINKS TO POST, I HAVE SEARCHED AND TRIED EVERYTHING
THE ROM IS XWLPG FOR I9100 (SGS2) AND THE FRAMEWORK INCLUDES JKAY (IF IT MATTERS),, and when editing the styles.xml and you recompile, to i use old resources.arsc from the old untouched framework-res.apk, or should i just use the new one, or does it not matter?​
Well styles is in values folder which is in resources. So.....if you change styles xml how do you think your changes will take effect if you use the original one?
Depending how jkay implemented the text color though you may find changing that in styles also gives you white text on white backgrounds elsewhere in the rom.
Oh and theres no need FOR THE CAPS!
Sent from my GT-I9100 using Tapatalk 2
that didnt help me well, i will try and not use original resources.arsc file,
and some guides say to delete it before recompile (Wanam_Apk_Manager_ICS),
will the apk still work if i remove that file?
You need to think about what your doing rather than just doing it.
You decompile...change some files.
Then when you compile it says "do you want me to be helpful boss and keep the files you didnt mod?".
So you say "yes please that would be very kind my good sir" and it creates the keep folder. From this folder you delete any files you modded. So if you modded styles you need to delete resources (as its in the values folder that creates resources).
Now it compiles the files named in keep folder and says "hang on boss, I dont have a resources file! I best make one from the modded values files!"
So it uses your values folder to create the new resources and keeps everything else from the original apk.
Make sense?
Alternatively just use apktool on its own instead of apkmanager. No questions about keeping files
Sent from my GT-I9100 using Tapatalk 2
what tool are you using, mine doesn't make a resources.arsc out of my values, maybe because i get an error, but for some reason it lets me finsish up work in the keep folder, than at the end the new apk, has no resources.arsc inside, i knew this could never be, please upload the tool your using for me
You messed up styles then by the sounds of it. Read your log file. It will tell you what the error is
Sent from my GT-I9100 using Tapatalk 2
Try textappearance.holo.large (add an item for text color to that style to stop it inheriting from parent...)
If that's the right one create a new style/textappearance, locate the style for the dialog/popup and direct it towards your textappearance instead of the one its using. That would *I think* work and also prevent any color issues.
Resources.arsc contains styles so you can't delete that if you're making changes...
Sent from my GT-I9100 using xda premium
these error's happend without me even editing a thing, stock framework-res.apk deodexed only, and i get these error's i think there i the tool?
how do i fix
You have a broken .9 file....
Tw_ab_transparent_dark_holo.9.png
And your plurals file is wrong at line 79. You need to replace "$d of $d" with "%1$d of %2$d" in all the plurals mentioned at the top of the log.
Sent from my GT-I9100 using Tapatalk 2
what wrong with the plurals.xml ? i tried editing line 79. something
ok i get this now when i compile after deleting that png image
--------------------------------------------------------------------------
|Thu 06/28/2012 -- 15:53:11.32|
--------------------------------------------------------------------------
'mode' is not recognized as an internal or external command,
operable program or batch file.
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b22)
Java HotSpot(TM) Client VM (build 23.0-b21, mixed mode, sharing)
'xcopy' is not recognized as an internal or external command,
operable program or batch file.
'xcopy' is not recognized as an internal or external command,
operable program or batch file.
W: Could not find sources
I: Checking whether resources has changed...
I: Building resources...
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values\plurals.xml:79: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values\plurals.xml:79: error: Found tag </item> where </plurals> is expected
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-en-rGB\plurals.xml:79: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-en-rGB\plurals.xml:79: error: Found tag </item> where </plurals> is expected
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-en-rUS\plurals.xml:79: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-en-rUS\plurals.xml:79: error: Found tag </item> where </plurals> is expected
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-es\plurals.xml:79: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-es\plurals.xml:79: error: Found tag </item> where </plurals> is expected
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-pt\plurals.xml:79: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-pt\plurals.xml:79: error: Found tag </item> where </plurals> is expected
aapt: warning: string 'abbrev_wday_abbrev_month_day_no_year' has no default translation in C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res; found: sr
aapt: warning: string 'abbrev_wday_day_abbrev_month_no_year' has no default translation in C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res; found: sr
aapt: warning: string 'policydesc_allow_htmlemail' has no default translation in C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res; found: en_US
aapt: warning: string 'policylab_allow_htmlemail' has no default translation in C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res; found: en_US
aapt: warning: string 'wifi_p2p_pbc_go_negotiation_request_message' has no default translation in C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res; found: en_GB es pt
aapt: warning: string 'wifi_p2p_pin_display_message' has no default translation in C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res; found: en_GB es pt
aapt: warning: string 'wifi_p2p_pin_go_negotiation_request_message' has no default translation in C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res; found: en_GB es pt
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\Users\ALIAL-~1\AppData\Local\Temp\APKTOOL6229869327544781716.tmp, -x, -S, C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res, -M, C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\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\ALIAL-~1\AppData\Local\Temp\APKTOOL6229869327544781716.tmp, -x, -S, C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res, -M, C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:191)
... 6 more
ok i have fixed the plurals problem
and im still getting the same mistake
--------------------------------------------------------------------------
|Thu 06/28/2012 -- 16:09:39.63|
--------------------------------------------------------------------------
'mode' is not recognized as an internal or external command,
operable program or batch file.
java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b22)
Java HotSpot(TM) Client VM (build 23.0-b21, mixed mode, sharing)
W: Could not find sources
I: Checking whether resources has changed...
I: Building resources...
aapt: warning: string 'abbrev_wday_abbrev_month_day_no_year' has no default translation in C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res; found: sr
aapt: warning: string 'abbrev_wday_day_abbrev_month_no_year' has no default translation in C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res; found: sr
aapt: warning: string 'policydesc_allow_htmlemail' has no default translation in C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res; found: en_US
aapt: warning: string 'policylab_allow_htmlemail' has no default translation in C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res; found: en_US
aapt: warning: string 'wifi_p2p_pbc_go_negotiation_request_message' has no default translation in C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res; found: en_GB es pt
aapt: warning: string 'wifi_p2p_pin_display_message' has no default translation in C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res; found: en_GB es pt
aapt: warning: string 'wifi_p2p_pin_go_negotiation_request_message' has no default translation in C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res; found: en_GB es pt
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-en-rGB\plurals.xml:79: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-en-rGB\plurals.xml:79: error: Found tag </item> where </plurals> is expected
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-en-rUS\plurals.xml:79: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-en-rUS\plurals.xml:79: error: Found tag </item> where </plurals> is expected
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-es\plurals.xml:79: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-es\plurals.xml:79: error: Found tag </item> where </plurals> is expected
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-pt\plurals.xml:79: error: Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res\values-pt\plurals.xml:79: error: Found tag </item> where </plurals> is expected
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\Users\ALIAL-~1\AppData\Local\Temp\APKTOOL3759429166766336930.tmp, -x, -S, C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res, -M, C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\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\ALIAL-~1\AppData\Local\Temp\APKTOOL3759429166766336930.tmp, -x, -S, C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\res, -M, C:\Apk_Manager_ICS\other\..\projects\framework-res.apk\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:191)
... 6 more
You meed to fix it in not just Values but in Values-en-rGB etc etc. Just look at the log. It tells you which folder translations are wrong also
Sent from my GT-I9100 using Tapatalk 2
please include more detail, be more specific
There is more than one values folder. The item i said need changing needs changing in ALL plurals files not just one. I cant give more detail than that as there isnt any.
You need a new apktool to stop it happening in future. Googling "line 79 plurals error" found one immediately.
Sent from my GT-I9100 using Tapatalk 2
Hello,
i don't know if this could be helpful but Vertumus had the same problem with his theme ICS DOMINATION. Maybe if you asked him he could give his opinion.
thanks man, this is great, i am now compiling and decompile apks, liked it used to be
on gb, great now that that's covered, let talk about changing that font color
anyone know how to change popup menu txt colors?
any skilled theme rs out there, please
android_isda_**** said:
any skilled theme rs out there, please
Click to expand...
Click to collapse
This guy already told you how....
m1keyb said:
Try textappearance.holo.large (add an item for text color to that style to stop it inheriting from parent...)
If that's the right one create a new style/textappearance, locate the style for the dialog/popup and direct it towards your textappearance instead of the one its using. That would *I think* work and also prevent any color issues.
Resources.arsc contains styles so you can't delete that if you're making changes...
Click to expand...
Click to collapse
By the way, before you said you fixed compiling with the broken .9 by deleting it. If you push a framework-res with a missing image and something tries to use it you will get a reboot.
Sent from my GT-I9100 using Tapatalk 2
i just copied it using winrar from original ,
street smarts
yes but i still need to know the file that contains it, and if i know that
what stopping me from just adding a normal color in hex code, all i need to
know is its location, witch file, what line???

[Q][Kernel][DEVS] 3.0.8 Kernel Question

Please HELP
I ported SIO,
THis is what i get:
Code:
block/sio-iosched.c:315:3: error: unknown field 'elevator_queue_empty_fn' specified in initializer
block/sio-iosched.c:315:3: warning: initialization from incompatible pointer type [enabled by default]
block/sio-iosched.c:315:3: warning: (near initialization for 'iosched_sio.ops.elevator_activate_req_fn') [enabled by default]
make[1]: *** [block/sio-iosched.o] Error 1
make: *** [block] Error 2
I only dont understand elevator queue empty. I think i should add a queue for it?
You porting SIO from where?
Do you know the basic of C language?
Read this GNU GCC.
nicholaschw said:
Please HELP
I ported SIO,
THis is what i get:
Code:
block/sio-iosched.c:315:3: error: [B]unknown field[/B] 'elevator_queue_empty_fn' [B]specified in initializer[/B]
block/sio-iosched.c:315:3: warning: initialization from incompatible pointer type [enabled by default]
block/sio-iosched.c:315:3: warning: (near initialization for 'iosched_sio.ops.elevator_activate_req_fn') [enabled by default]
make[1]: *** [block/sio-iosched.o] Error 1
make: *** [block] Error 2
I only dont understand elevator queue empty. I think i should add a queue for it?
Click to expand...
Click to collapse
I'll explain.
Code:
//Test Application
typedef struct _user{
const char* name;
const char* password;
char age;
} user;
int main(){
//And we initialize it
struct _user someUser = {
//Lets initialize the variables
.name = "James Bond",
.password = "007",
.age = 21,
//Lets be rebel and break it
.unkownVariable = "Unkown Value"
};
//You are calling a field thats not there
//Exit Gracefully
return 0;
}
The code you tried porting into your kernel is made for a different kernel (not 3.0.8) or you simply forgot a inlcude somewhere,
xonar_ said:
I'll explain.
Code:
//Test Application
typedef struct _user{
const char* name;
const char* password;
char age;
} user;
int main(){
//And we initialize it
struct _user someUser = {
//Lets initialize the variables
.name = "James Bond",
.password = "007",
.age = 21,
//Lets be rebel and break it
.unkownVariable = "Unkown Value"
};
//You are calling a field thats not there
//Exit Gracefully
return 0;
}
The code you tried porting into your kernel is made for a different kernel (not 3.0.8) or you simply forgot a inlcude somewhere,
Click to expand...
Click to collapse
Jackpot. I ported from 2. 6. 3. 5. Help me. Everything is ready in github
Sent from my LG-P970 using Tapatalk 2
nicholaschw said:
Jackpot. I ported from 2. 6. 3. 5. Help me. Everything is ready in github
Sent from my LG-P970 using Tapatalk 2
Click to expand...
Click to collapse
Try looking at what the headers look like to look for the difference that broke it. It's possible that they just changed the name and just renaming it could fix. Its also possible that they made crucial design changes and it will stay broken unless you port it from another kernel with very similar headers. I'm going to be busy now for a few hours so I can't check it now.
Sent from my LG-P970

how to inflate a layout which is in the res directory of my own module?

Hi everyone:
how could I use View.inflate() to inflate a layout which is in the res directory of my own module? I want to add this layout into the target app’s view container.
I had tried to generate a fakeId for this layout xml resource file by this way:
Code:
fun initZygote(startupParam: IXposedHookZygoteInit.StartupParam?) {
MODULE_PATH = startupParam?.modulePath
}
fun handleInitPackageResources(resparam: XC_InitPackageResources.InitPackageResourcesParam?) {
val modRes = XModuleResources.createInstance(MODULE_PATH, resparam.res)
ID_MENU = resparam.res.addResource(modRes, R.layout.menu_littlespider)
}
then I use this ID_MENU to to inflate it:
Code:
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam?){
findAndHookMethod(C.View, "inflate", C.Context, C.Int, C.ViewGroup, object : XC_MethodHook() {
override fun afterHookedMethod(param: MethodHookParam?) {
if (param == null) return
val context = param.args[0] as Context
var targetViewId = param.args[1] as Int
if (targetViewId == 2130904238) {
var targetView = param.result as LinearLayout
val layoutParser = context.resources.getLayout(InitResourceHooker.ID_MENU)
val menu = LayoutInflater.from(context).inflate(layoutParser, null)
//val menu = View.inflate(context, InitResourceHooker.ID_MENU, null) as LinearLayout
targetView.addView(menu, 0)
}
}
})
}
sadly,it gives me an error,#0x7eb8f41b is my FakeId :
Code:
android.content.res.Resources$NotFoundException: Resource ID #0x7eb8f41b
can anyone show me is it possible to inflate this layout?
thanks a lot!
吃泡面的猫儿 said:
Hi everyone:
how could I use View.inflate() to inflate a layout which is in the res directory of my own module? I want to add this layout into the target app’s view container.
I had tried to generate a fakeId for this layout xml resource file by this way:
then I use this ID_MENU to to inflate it:
sadly,it gives me an error,#0x7eb8f41b is my FakeId :
can anyone show me is it possible to inflate this layout?
thanks a lot!
Click to expand...
Click to collapse
Hint: use getResourcesForApplication
Background: Xposed hooks run in the context of the hooked app.
Also, you can inflate layout without adding it to hooked app resources provided you create instance of LayoutInflater using your xposed app context.
Code:
Context ctx = context.createPackageContext("your_xposed_app_pkg_name", Context.CONTEXT_IGNORE_SECURITY);
LayoutInflater inflater = LayoutInflater.from(ctx);
inflater.inflate(R.layout.your_layout, parent);
The thing is, layout can contain only such elements that are known to hooked app classloader.
E.g. you won't be able to inflate layout that contains some custom views that were defined within your app, as inflater created within hooked app won't be able to resolve them.
C3C076 said:
Also, you can inflate layout without adding it to hooked app resources provided you create instance of LayoutInflater using your xposed app context.
Code:
Context ctx = context.createPackageContext("your_xposed_app_pkg_name", Context.CONTEXT_IGNORE_SECURITY);
LayoutInflater inflater = LayoutInflater.from(ctx);
inflater.inflate(R.layout.your_layout, parent);
The thing is, layout can contain only such elements that are known to hooked app classloader.
E.g. you won't be able to inflate layout that contains some custom views that were defined within your app, as inflater created within hooked app won't be able to resolve them.
Click to expand...
Click to collapse
Hi, i wonder if i can inflate layout which is in res directory of my app target?

Categories

Resources