While Wanam does a good job of allowing any app to float it does not allow the app to appear in the multiwindow tool bar (at least for me) and the side by side view that is native to the feature is what I am after.
You will need to know what decompiling an apk means and probably a non android device. Haven't tried on-board apk decompilers since they are lame.
So just as a synopsis of info easily found anyway here is my method -
Copy the app from /data/app/whatever. This will be called base.apk for all non-system apps. I rename it to something sane for the next step, helpful if doing several at a time.
Copy/move to PC
Using your preferred apk decompiler extract the apk. Open AndroidManifest.xml and within the <application> tag add the following:
<uses-library android:required="false" android:name="com.sec.android.app.multiwindow"> </uses-library>
<meta-data android:name="com.sec.android.support.multiwindow" android:value="true" />
<meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_W" android:value="632.0dip" />
<meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_H" android:value="598.0dip" />
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_W" android:value="632.0dip" />
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_H" android:value="598.0dip" />
Then in the main intent filter add
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER"/>
So the xml will look similar to this
<application android:icon="@drawable/icon" android:label="@string/app_name" .... OMITTED>
<uses-library android:required="false" android:name="com.sec.android.app.multiwindow"> </uses-library>
<meta-data android:name="com.sec.android.support.multiwindow" android:value="true" />
<meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_W" android:value="632.0dip" />
<meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_H" android:value="598.0dip" />
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_W" android:value="632.0dip" />
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_H" android:value="598.0dip" />
.... OMITTED
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER"/>
</intent-filter>
.... OMITTED
</application>
Re-compile, rename to base.apk, replace source base.apk in /data/app/whatever/ with modded version, set permissions (solid explorer does this automagically), reboot.
The app can now be added to the multiwindow bar and used to create a side by side view with other multiwindow aware apps. I've done around 10, Sygic is the only one that won't recompile due to its own issues
For me it is useful to have browser/dictionary, file explorer/text editor and other pairs predefined in the multi window panel.
Related
Hi,
I want to use the C2DM, but I always get follwoing Error:
Code:
10-05 02:10:40.394: WARN/ActivityManager(11985): Permission Denial: receiving Intent { act=com.google.android.c2dm.intent.REGISTRATION cat=[mobile.app] (has extras) } to mobile.app requires mobile.app.permission.C2D_MESSAGE due to sender com.google.android.gsf (uid 10046)
Here is my Manifest.xml:
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="mobile.app"
android:versionName="0.1"
android:versionCode="1">
<uses-sdk android:minSdkVersion="10" />
<!-- Only this application can receive the messages and registration result -->
<permission android:name="com.google.android.c2dm.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="mobile.app.permission.C2D_MESSAGE" />
<!-- This app has permission to register and receive message -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<!-- Send the registration id to the server -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Main">
<intent-filter>
<action android:name="android.intent.action.MAIN"></action>
<category android:name="android.intent.category.LAUNCHER"></category>
</intent-filter>
</activity>
<!-- Only C2DM servers can send messages for the app. If permission is not set - any other app can generate it -->
<receiver android:name=".C2DMReceiver" android:permission="com.google.android.c2dm.permission.SEND">
<!-- Receive the actual message -->
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="mobile.app" />
</intent-filter>
<!-- Receive the registration id -->
<intent-filter>
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="mobile.app" />
</intent-filter>
</receiver>
</application>
</manifest>
Anyone an idea?
thanks!
Questions or Problems Should Not Be Posted in the Development Forum
Please Post in the Correct Forums
Moving to Q&A
Alright so to start off i have eclipse, the android sdk, and all that other good stuff setup properly.
Now the problem is i keep getting an error in the androidmanifest.xml saying
<uses-sdk android:minSdkVersion="4"/>
The error message when clicked upon is, <uses-sdk> tag appears after <application> tag.
I have tried multiple versions of the sdk build including 2.2 (as the guide suggest) and changing the minimum sdk requirement but i always seem to run into this exact same problem. Any ideas? Oh and also im using this template
AnderWeb-ADW.Theme-Template-d8491c4
Heres the entire AndroidManifest.xml...
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="Red.Glow.Adw"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="internalOnly">
<application android:label="@string/theme_title" android:icon="@drawable/theme_icon">
<activity android:name=".main"
android:label="@string/theme_title">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="org.adw.launcher.THEMES" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="org.adw.launcher.icons.ACTION_PICK_ICON" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="red.glow.adw.docks"
android:label="@string/theme_title"
android:icon="@drawable/theme_icon">
<intent-filter>
<action android:name="android.intent.action.PICK" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
<provider android:name="red.glow.adw.docksProvider" android:authorities="red.glow.adw.docksProvider" />
</application>
<uses-sdk android:minSdkVersion="4"/>
</manifest>
Ehh figured it out.. AnderWeb's template build was throwing me up a ton of errors but kaydensigh's template works great.
[TUTORIAL] GB/ICS How To Create New Theme & Convert Default Themes App To Normal App
Sorry My Bad English
Apktool Tutorial
http://forum.xda-developers.com/showthread.php?t=2011254
Notepad Plus
http://notepad-plus-plus.org/download
Tutorial Create New Theme
Download test_theme.apk
decomplie test_theme to Apktool
Go to projects test_theme.apk folder Open Android Manifest.xml to notepad Plus
Code:
[/<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="2000" android:versionName="1.0" package="com.[COLOR="Red"]orochi_2013_tonypanduru_fish[/COLOR].themes"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10" />
<application android:label="[COLOR="red"]Fish By Orochi[/COLOR]" android:icon="@drawable/icon">
<uses-library android:name="com.sonyericsson.privateapis_1p" />
<service android:label="@string/orochi_theme_title" android:name=".orochiThemeService">
<intent-filter>
<action android:name="com.sonyericsson.theme.RuntimeThemeService" />
</intent-filter>
<meta-data android:name="com.sonyericsson.service.theme" android:resource="@xml/orochi_themeinfo" />
</service>
</application>
</manifest>
Edit red Sections
Sample
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="2000" android:versionName="1.0" package="com.xperia_2011.themes"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10" />
<application android:label="xperia 2011 By Orochi" android:icon="@drawable/icon">
<uses-library android:name="com.sonyericsson.privateapis_1p" />
<service android:label="@string/orochi_theme_title" android:name=".orochiThemeService">
<intent-filter>
<action android:name="com.sonyericsson.theme.RuntimeThemeService" />
</intent-filter>
<meta-data android:name="com.sonyericsson.service.theme" android:resource="@xml/orochi_themeinfo" />
</service>
</application>
</manifest>
And Save Androidmanifest.xml
Go to projects test_theme.apk/smali/com Folder Rename orochi_2013_tonypanduru_fish folder to xperia_2011
go to projetcs test_theme.apk/smali\com\xperia_2011\themes open orochiThemeService.smali to notepad plus
edit First Line
Code:
[COLOR="red"].class public Lcom/orochi_2013_tonypanduru_fish/themes/orochiThemeService;[/COLOR]
to
Code:
[COLOR="red"].class public Lcom/xperia_2011/themes/orochiThemeService;[/COLOR]
save files
Go to test_theme.apk/res/values folder string.xml open notepad plus edit Theme Name
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">[COLOR="red"]Fish[/COLOR]</string>
<string name="orochi_theme_title">[COLOR="red"]Fish[/COLOR]</string>
</resources>
to
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Xperia 2011</string>
<string name="orochi_theme_title">Xperia 2011 </string>
</resources>
Go to projects test_theme.apk/res drawable-mdpi and drawable-land-mdpi Change All İmg
and Finish open APKTOOL Set 14 Create+Sign New App Created Signed_test_theme.apk :good:
Tutorial Convert Defaultthemes App to Normal install App
DefaultThemes.apk Decomplie to Apktool
go to projects DefaultThemes.apk folder Open Android Manifest.xml note pad plus
orginal Android Manifest.xml
Code:
[COLOR="Red"]<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="2000" android:versionName="2.0" package="com.sonyericsson.defaultruntimethemes"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10" />
<application>
<uses-library android:name="com.sonyericsson.privateapis_1p" />[/COLOR]
<service android:label="@string/green_theme_title" android:name=".GreenThemeService">
<intent-filter>
<action android:name="com.sonyericsson.theme.RuntimeThemeService" />
</intent-filter>
<meta-data android:name="com.sonyericsson.service.theme" android:resource="@xml/green_themeinfo" />
</service>
<service android:label="@string/black_theme_title" android:name=".BlackThemeService">
<intent-filter>
<action android:name="com.sonyericsson.theme.RuntimeThemeService" />
</intent-filter>
<meta-data android:name="com.sonyericsson.service.theme" android:resource="@xml/black_themeinfo" />
</service>
<service android:label="@string/orange_theme_title" android:name=".OrangeThemeService">
<intent-filter>
<action android:name="com.sonyericsson.theme.RuntimeThemeService" />
</intent-filter>
<meta-data android:name="com.sonyericsson.service.theme" android:resource="@xml/orange_themeinfo" />
</service>
<service android:label="@string/blue_theme_title" android:name=".BlueThemeService">
<intent-filter>
<action android:name="com.sonyericsson.theme.RuntimeThemeService" />
</intent-filter>
<meta-data android:name="com.sonyericsson.service.theme" android:resource="@xml/blue_themeinfo" />
</service>
<service android:label="@string/pink_theme_title" android:name=".PinkThemeService">
<intent-filter>
<action android:name="com.sonyericsson.theme.RuntimeThemeService" />
</intent-filter>
<meta-data android:name="com.sonyericsson.service.theme" android:resource="@xml/pink_themeinfo" />
</service>
<service android:label="@string/rainbow_theme_title" android:name=".RainbowThemeService">
<intent-filter>
<action android:name="com.sonyericsson.theme.RuntimeThemeService" />
</intent-filter>
<meta-data android:name="com.sonyericsson.service.theme" android:resource="@xml/rainbow_themeinfo" />
</service>
<service android:label="@string/red_theme_title" android:name=".RedThemeService">
<intent-filter>
<action android:name="com.sonyericsson.theme.RuntimeThemeService" />
</intent-filter>
<meta-data android:name="com.sonyericsson.service.theme" android:resource="@xml/red_themeinfo" />
</service>
</application>
</manifest>
delete red section
Copy New text save xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="2000" android:versionName="1.0" package="com.new.defaultruntimethemes"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="10" />
<application android:label="new Themes" android:icon="@drawable/icon">
<uses-library android:name="com.sonyericsson.privateapis_1p" />
go to DefaultThemes.apk folder res/values/strings.xml Edit Theme Name
Code:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="black_theme_title">[COLOR="Red"]Silk[/COLOR]</string>
<string name="blue_theme_title">[COLOR="red"]Sapphire[/COLOR]</string>
<string name="green_theme_title">[COLOR="red"]Emerald[/COLOR]</string>
<string name="orange_theme_title">[COLOR="red"]Gold[/COLOR]</string>
<string name="pink_theme_title">[COLOR="red"]Ametyhst[/COLOR]</string>
<string name="rainbow_theme_title">[COLOR="red"]Turquiose[/COLOR]</string>
<string name="red_theme_title">[COLOR="red"]Ruby[/COLOR]</string>
</resources>
go to DefaultThemes.apk folder res/values/public.xml add new drawable code
Code:
[COLOR="red"]<public type="drawable" name="icon" id="0x7f020028" />[/COLOR]
Download icon.png Copy projetcs DefaultThemes.apk\res\drawable-mdpi folder or Add your İcon 48x48 or 72x72 png Format İmg
goto projetcs DefaultThemes.apk/smali/com Folder Rename to sonyericsson folder (new)
Go to DefaultThemes.apk/smali/com/new/defaultruntimethemes edit 7 smali files change First line
blackThemeService.smali
blueThemeService.smali
greenThemeService.smali
orangeThemeService.smali
redThemeService.smali
rainbowThemeService.smali
pinkThemeService.smali
Sample
Code:
.class public Lcom/[COLOR="red"]sonyericsson[/COLOR]/defaultruntimethemes/BlackThemeService;
to
Code:
.class public Lcom/[COLOR="red"]new[/COLOR]/defaultruntimethemes/BlackThemeService;
Edit 7 Smali File And
DefaultThemes.apk\res\drawable-mdpi + DefaultThemes.apk\res\drawable-land-mdpi folder Change All İmage
Finish open Apktool Set 14 ( Recomplie+Sign ) new app Created signed_DefaultThemes.apk rename new app install
Thanks again
Great work man,
will try.
Nice tutorial my friend
saqib nazm said:
Nice tutorial my friend [/QUOTE
:good: thanks bro
Click to expand...
Click to collapse
great
great work my friend :good:
Need root?
Scythemore said:
Need root?
Click to expand...
Click to collapse
No Root Acces :good:
Orochixxx said:
No Root Acces :good:
Click to expand...
Click to collapse
i always wondered how do this....but i know now....
btw nice tut
I have modified flappy bird a little and I modified the package name in the AndroidManifest XML file, but the app doesn't load up and I can't change the name.
NOTE:It installs even if you have the normal Flappy Bird, the name of both apps is Flappy Bird and confusing too.
How do I make it work and change the name of the application?
Then I want to upload it to the Play Store.
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="4" android:versionName="1.3" package="com.laze.flappybird"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature android:glEsVersion="0x20000" android:required="true" />
<application android:theme="@style/AppTheme" android:label="@string/app_name" android:icon="@drawable/ic_launcher">
<activity android:label="@string/app_name" android:name="com.laze.flappy.SplashScreen" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:label="@string/app_name" android:name="com.laze.GameActivity" android:screenOrientation="portrait" />
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
<meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/app_id" />
</application>
</manifest>
here is the link to the modified flappybird app ...
http://forum.xda-developers.com/showthread.php?t=2648387
decompile and compare with yours and find the problem .
me also modded flappybird a bit using the above link .
pavan kr said:
here is the link to the modified flappybird app ...
http://forum.xda-developers.com/showthread.php?t=2648387
decompile and compare with yours and find the problem .
me also modded flappybird a bit using the above link .
Click to expand...
Click to collapse
Thanks a lot
Hi i'm very new at this so please bare with me, successfully made my first decompilation with apk tool and after modifying and and recompiling the apk on the bottom of the apk where the ad banner should be there is a message that reads: "Missing AdActivity with android:configChanges in AndroidManifest.xml."
This is what my Android Manifest looks like :
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="7" android:versionName="@string/version" package="com.tt.radio"
xmlns:android="schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACTION_HEADSET_PLUG" />
<application android:theme="@style/AppTheme" android:label="@string/app_name" android:icon="@drawable/icon" android:allowBackup="true">
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
<activity android:theme="@*android:style/Theme.Black.NoTitleBar" android:label="@string/app_name" android:name="com.tt.radio.SplashActivity" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:theme="@*android:style/Theme.Black.NoTitleBar" android:label="@string/app_name" android:name="com.tt.radio.MainActivity" android:launchMode="singleInstance" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation" />
<service android:name="com.tt.radio.AudioSignal" android:enabled="true" />
<activity android:theme="@*android:style/Theme.Black.NoTitleBar" android:name="com.tt.radio.FbActivity" android:configChanges="keyboardHidden|orientation" />
<activity android:theme="@*android:style/Theme.Black.NoTitleBar" android:name="com.tt.radio.TwActivity" android:configChanges="keyboardHidden|orientation" />
<activity android:theme="@*android:style/Theme.Black.NoTitleBar" android:name="com.tt.radio.AboutActivity" android:configChanges="keyboardHidden|orientation" />
<activity android:theme="@*android:style/Theme.Black.NoTitleBar" android:name="com.tt.radio.back" />
<activity android:name="com.google.android.gms.ads.AdActivity" android:screenOrientation="portrait" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode" />
</application>
</manifest>
Any help would be much appreciated.
Duneglow
No one can help me with this?
Hi there ! I have the same issue as well. Are you managed to solve that problem so far ?
Sent from my LG-LS980 using XDA Free mobile app