[Galaxy Note II General] mannyvinny:
I have been receiving hundreds of request to mod apps for different dpi. Each day I had a PM with request "Please mod this app sir,I need this app,I need this at this dpi". I can't fulfill everyone's request and I don't have time either. So,I thought to make a guide with all tools and requirements to mod those apps. I know there are many users here who have ability and skills but don't have proper knowledge to do this. Many of you are aware of my 240dpi ModPack. But there are some users who prefer 270/280dpi instead of 240/320dpi. So here's a comprihensive guide with all information regarding dpi/modding apps.

--Its an OPEN PROJECT--Everyone is welcomed here.Please share your knowledge and skills.

I want every member to share their knowledge and/or help me and others.This isn't a step-by-step guide since this is a development project where users will share their knowledge and skills. I am also learning day-by-day and still learning. So I may be weak at some point or have less knowledge regarding it.

Requirements-

1.Java Development kit-JDK

2.Android SDK

3.Winrar (or 7zip/winzip)

4.Notepad++

5.Apktool-Download or MultiTool(for noobs.Get it here)

Setup JDK

Install JDK to C:/JAVA/jdk instead of C:/Program Files/Java. After installing, click on-

Start->Control Panel->System->Advanced system settings. A System Properties dialog box will appear. Click on Advanced tab->Environment variables. Now add a new system variable. Name is JAVA_HOME and the path is ”C:\Java\jdk"(without quotes)

Decompiling/Recompiling apk and jar

Follow this guide on how to decompile/decompile apk HERE

Note- When you decompile System apps,you need to install framework-res.apk and twframework.apk from apktool using this command-

After giving this command,required framework files will be installed. If you don't do this step,you will get errors(instead it won't decompile)

Error if framework isn't installed-

I: Baksmaling...

I: Loading resource table...

W: Skipping "android" package group

I: Loaded.

I: Decoding AndroidManifest.xml with resources...

I: Loading resource table from file: C:\Users\Vinny\apktool\framework\1.apk

I: Loaded.

W: Could not decode attr value, using undecoded value instead: ns=android, name=theme, value=0x01030332

I: Regular manifest package...

I: Decoding file-resources...

W: Could not decode attr value, using undecoded value instead: ns=android, name=contentDescription, value=0x010407a6

W: Could not decode attr value, using undecoded value instead: ns=android, name=contentDescription, value=0x010407a6

W: Could not decode attr value, using undecoded value instead: ns=android, name=contentDescription, value=0x010407a6

W: Could not decode attr value, using undecoded value instead: ns=android, name=contentDescription, value=0x010407a6

I: Decoding values */* XMLs...

I: Done.

Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec: 0x01030332

at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:58)

at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:54)

at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:50)

at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferenceValue.java:61)

at brut.androlib.res.data.value.ResReferenceValue.encodeAsResXml(ResReferenceValue.java:47)

at brut.androlib.res.data.value.ResScalarValue.encodeAsResXmlAttr(ResScalarValue.java:45)

at brut.androlib.res.decoder.ResAttrDecoder.decode(ResAttrDecoder.java:40)

at brut.androlib.res.decoder.AXmlResourceParser.getAttributeValue(AXmlResourceParser.java:351)

at org.xmlpull.v1.wrapper.classic.XmlPullParserDelegate.getAttributeValue(XmlPullParserDelegate.java:69)

at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.writeStartTag(StaticXmlSerializerWrapper.java:267)

at org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper.event(StaticXmlSerializerWrapper.java:211)

at brut.androlib.res.decoder.XmlPullStreamDecoder$1.event(XmlPullStreamDecoder.java:87)

at brut.androlib.res.decoder.XmlPullStreamDecoder.decode(XmlPullStreamDecoder.java:141)

at brut.androlib.res.decoder.XmlPullStreamDecoder.decodeManifest(XmlPullStreamDecoder.java:155)

at brut.androlib.res.decoder.ResFileDecoder.decodeManifest(ResFileDecoder.java:131)

at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:264)

at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:113)

at brut.androlib.ApkDecoder.decode(ApkDecoder.java:116)

at brut.apktool.Main.cmdDecode(Main.java:148)

at brut.apktool.Main.main(Main.java:77)

You also need to sign the apk after modding or else it won't work.

I'll add more guides and info. So please share your valuable thoughts and skills. I'll add it to op and update it everyday.