migrate app to Android 12 - General Questions and Answers

i've an old Android app "com.example.package" that works fine until on Android 9, on Android 10 i've never tested, but on Android 11 & 12 no longer work
this app - on first launch after installation - needs to download additional data on "/storage/emulated/0/Android/data/com.example.package/files/", but on Android 11 & 12 - get this error while starting additional data download:
Download stopped
com.example.androidlib.j: Could not create the directory /storage/emulated/0/Android/data/com.example.package/files/
with last ApkTool v2.7.0 java version (.jar) (tested also with last APK Editor on Android) i've decompiled APK file, and this is stock AndroidManifest.xml:
XML:
<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal" package="com.example.package" platformBuildVersionCode="9" platformBuildVersionName="2.3.1">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.android.vending.BILLING"/>
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:smallScreens="false" android:xlargeScreens="true"/>
<uses-configuration android:reqTouchScreen="finger"/>
<uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true"/>
<uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="true"/>
<uses-feature android:name="android.hardware.wifi" android:required="false"/>
<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
<activity android:configChanges="keyboardHidden|orientation" android:label="@string/app_name" android:name=".packageActivity" android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:configChanges="keyboardHidden|orientation" android:name="com.example.androidlib.MainActivity" android:screenOrientation="landscape"/>
<activity android:configChanges="keyboardHidden|orientation" android:name="com.example.androidlib.LicenseActivity" android:screenOrientation="landscape"/>
<activity android:configChanges="keyboardHidden|orientation" android:name="com.example.androidlib.DownloadActivity" android:screenOrientation="landscape"/>
<activity android:configChanges="keyboardHidden|orientation" android:name="com.example.androidlib.GLExtensionActivity" android:screenOrientation="landscape"/>
</application>
</manifest>
i tried to fix permission & build version issues with this strings:
platformBuildVersionCode="31" platformBuildVersionName="12"
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
and finally i've recompiled all with same last ApkTool v2.7.0 java version (.jar) (tested also with last APK Editor on Android)
but unfortunately, persist the error while starting additional data download
not work even if manually move additional data on right path/folder
how to solve?!?

To give users more control over their files and limit file clutter, Android 10 introduced a new storage paradigm for apps called scoped storage. Scoped storage changes the way apps store and access files on a device's external storage.
Therefore, for your app problems, in order to adapt to Android 10 and later, I recommend that you open the app project in Android Studio, make corresponding modifications of the source code, and rebuild and generate a new apk.

Related

[TUT] Add rotation on your own to Netflix apps (and other apps)

This is just a simple tutorial about enabling screen rotation to apps that do not rotate automatically when you turn your device. It is really a TUT on how to open an apk and edit the androidmanifest.xml file. Pretty simple.
Easy:​
1. Decompile the Application.apk with apktool
2. Edit the androidmanifest with Notepad++
3. Build the Application.apk with apktool
4. Sign the apk with autosign.
Click to expand...
Click to collapse
Detailed:​
You will need some tools:
************************************************************
Android SDK: http://developer.android.com/sdk/index.html
APK Tool: http://code.google.com/p/android-apktool/
Notepad++: http://notepad-plus-plus.org/
A signing tool: Google "auto-sign apk"
An archiving tool: Plenty of them out there cable of .zip files
After you get this figured out, move on to step 1.
************************************************************
I do this from my desktop, so this is written as such.
Step 1. Decompile the Application.apk with apktool
___________________________________________________________
A. Open cmd.exe
B. Type apktool d C:/users/desktop/Netflix1.4.apk
(this refers to your desktop, so type the correct address for YOURS. However, I do not type, I drag and drop the Netflix.apk from my destop onto the cmd window)
C. Add a space then add destination directory "C:/users/destop/Netflixmod"
Again, your address of wherever you are working, and whetever you want to call the destination folder. For this I also drag and drop the same file, and just remove the .apk text.
D. Hit enter
Code:
apktool d C:\users\desktop\Netflix1.4.apk "C:\users\desktop\Netflixmod"
Your desktop address will be different than what I have typed, your Netflix app or whatever app you are decompiling will be different and your destination address and directory name will be different. DO NOT COPY PASTE THIS CODE INTO YOUR CMD LINE.
Click to expand...
Click to collapse
Step 2. Edit the androidmanifest with Notepad++
___________________________________________________________
This is for Netflix 1.4
In the folder that you just created on your desktop (or wherever you are working) There is a file called androidmanifest.xml
Open this file with Notepad++ and edit the following lines:
Change line 5: android:screenOrientation="portrait" to android:screenOrientation="sensor"
Change line 29: android:screenOrientation="landscape" to android:screenOrientation="sensor"
Save the file.
Click to expand...
Click to collapse
Step 3. Build the Application.apk with apktool
___________________________________________________________
Similar to decompiling:
A.
Code:
apktool b C:\users\desktop\Netflixmod
This will build the application in the same folder that you are working in (i.e. "Netflixmod" folder) You can specify a new directory if you want, but I do not.
There will now be a folder named "Build" within the "Netflixmod" folder.
B. Copy the "Assets" folder into the "build" folder. (apktool leaves this out, but it is important).
C. Zip the contents of the build folder into a .zip file called apk.zip. (do not zip the Build folder, just everything inside of it INCLUDING THE ASSETS FOLDER!)
D. Rename the apk.zip file to apk.apk file.
Click to expand...
Click to collapse
Step 4. Sign the apk with autosign.
___________________________________________________________
Well, sign the app with some signing tool that you are comfortable with.
Just google auto-sign apk, there are plenty of options. Cant find the link towhat I use. Please feel free to post an easy signing tool here if you want it added.
Click to expand...
Click to collapse
**************************************************
Here is all of the code that I changed in the Netflix1.4 app to enable rotation and fix graphic bugs.
You can copy paste this into a text editor like Notepad++ and save as /.xml files. Then replace the files in your decompiled app with these. Or you can download the text file attached and create separate files out of each section of code.
New Netflix 1.4 Updated 9/09/2011
BELOW ARE THE FILES THAT NEED TO BE EDITED TO ENABLE ROTATION AND AVOID GRAPHICS BUGS.
TO CHANGE COLOR, EDIT THE "#ffb9090b" TO ANOTHER HEX COLOR. IN ALL FILES EXCEPT FOR THE ANDROID MANIFEST.
───────────────────────────────────
Android Manifest.xml:
───────────────────────────────────
Change line 5: android:screenOrientation="portrait" to android:screenOrientation="sensor"
Change line 29: android:screenOrientation="landscape" to android:screenOrientation="sensor"
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="259" android:versionName="1.4.0 build 259" android:installLocation="auto" package="com.netflix.mediaclient"
xmlns:android="http://schemas.android.com/apk/res/android">
<application android:theme="@android:style/Theme.NoTitleBar" android:label="@string/app_name" android:icon="@drawable/icon" android:name=".NetflixApplication" android:debuggable="false">
<activity android:label="@string/app_name" android:name=".UIWebViewActivity" android:enabled="@bool/phone" android:finishOnTaskLaunch="false" android:clearTaskOnLaunch="true" android:launchMode="singleTop" android:screenOrientation="sensor" android:configChanges="keyboardHidden|orientation" android:alwaysRetainTaskState="true" android:allowTaskReparenting="true" android:windowSoftInputMode="stateVisible|adjustResize" android:noHistory="false">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="nflx" android:host="www.netflix.com" />
</intent-filter>
</activity>
<activity android:label="@string/app_name" android:name=".UIWebViewTabletActivity" android:enabled="@bool/tablet" android:finishOnTaskLaunch="false" android:clearTaskOnLaunch="true" android:launchMode="singleTop" android:configChanges="keyboardHidden|orientation" android:alwaysRetainTaskState="true" android:allowTaskReparenting="true" android:windowSoftInputMode="stateVisible|adjustResize" android:noHistory="false">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="nflx" android:host="www.netflix.com" />
</intent-filter>
</activity>
<activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:label="@string/app_name" android:name=".PlayerActivity" android:screenOrientation="sensor" android:configChanges="orientation" android:noHistory="false" />
</application>
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-feature android:name="android.hardware.wifi" android:required="false" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="11" />
</manifest
\res\layout folder
playout_splash.xml
───────────────────────────────────
<!--
Edited Line 4: android:layout_gravity="bottom|center" to android:layout_gravity="center"
removed android:layout_marginBottom="150.0dip"
Edited Line 5: android:layout_marginBottom="100.0dip" to android:layout_marginBottom="90.0dip"
Dblfstr
-->
Code:
<?xml version="1.0" encoding="UTF-8"?>
<FrameLayout android:orientation="vertical" android:id="@id/top_panel" android:background="#ffb9090b" android:visibility="visible" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView android:layout_gravity="center" android:id="@id/logo" android:visibility="visible" android:layout_width="202.0dip" android:layout_height="62.0dip" android:src="@drawable/logo_splash" />
<ProgressBar android:layout_gravity="bottom|center" android:id="@id/pb_loading" android:visibility="visible" android:layout_width="30.0dip" android:layout_height="30.0dip" android:layout_marginBottom="90.0dip" android:indeterminate="true" android:indeterminateOnly="true" android:soundEffectsEnabled="false" style="?android:progressBarStyleSmallInverse" />
<TextView android:textSize="14.0dip" android:textColor="#ffffffff" android:layout_gravity="bottom|center" android:id="@id/label_loading" android:visibility="visible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="50.0dip" android:text="@string/label_ps_loading" />
<!--
Edited Line 4: android:layout_gravity="bottom|center" to android:layout_gravity="center"
removed android:layout_marginBottom="150.0dip"
Edited Line 5: android:layout_marginBottom="100.0dip" to android:layout_marginBottom="90.0dip"
Dblfstr
-->
</FrameLayout>
\res\layout folder
ui_splash.xml
───────────────────────────────────
<!--
Edited Line 4: android:layout_gravity="bottom|center" to android:layout_gravity="center"
removed android:layout_marginBottom="150.0dip"
Edited Line 5: android:layout_width="wrap_content" android:layout_height="wrap_content" to android:layout_width="30.0dip" android:layout_height="30.0dip" and "android:layout_marginTop="80.0dip"
Dblfstr
-->
Code:
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout android:id="@id/FrameLayout" android:background="#ffb9090b" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView android:layout_gravity="center" android:id="@id/logo" android:visibility="visible" android:layout_width="202.0dip" android:layout_height="62.0dip" android:src="@drawable/logo_splash" android:layout_centerInParent="true" />
<ProgressBar android:id="@id/ui_load" android:visibility="visible" android:layout_width="30.0dip" android:layout_height="30.0dip" android:layout_marginTop="80.0dip" android:indeterminate="true" android:indeterminateOnly="true" android:layout_below="@id/logo" android:layout_centerInParent="true" android:soundEffectsEnabled="false" />
<!--
Edited Line 4: android:layout_gravity="bottom|center" to android:layout_gravity="center"
removed android:layout_marginBottom="150.0dip"
Edited Line 5: android:layout_width="wrap_content" android:layout_height="wrap_content" to android:layout_width="30.0dip" android:layout_height="30.0dip" and "android:layout_marginTop="80.0dip"
Dblfstr
-->
</RelativeLayout>
\res\layout folder
webview.xml
───────────────────────────────────
<!--
Edited line 2; android:background hex values
-->
Code:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout android:orientation="vertical" android:id="@id/address" android:background="#ffb9090b" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout android:orientation="vertical" android:id="@id/go_button" android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<WebView android:id="@id/ui" android:background="@drawable/splash" android:visibility="visible" android:scrollbars="none" android:layout_width="fill_parent" android:layout_height="fill_parent" />
</LinearLayout>
<!--
Edited line 2; android:background hex values
-->
</LinearLayout>
all of this code is found in the attached .txt file. Remember to save each bit of code as a separate file and replace in your Netflix.apk.
and i need this
should take this
for us NON programmers, anyway you (or someone else) can actually post a modified apk?
OK, so I tried to modify these .xml files... so far, I haven't been able to open them up successfully. So my noob-ish question is, "what editor do I use to open these up?" Standard XML editors found in Windows/Office doesn't show them right.
Or can I just replace the files altogether by copying and pasting the stuff in the post? ... I will try that first, I guess...
Update1:
So I extracted the files for editing, and then replaced all the lines in those files (which by the way, opened up to show some weird encoding) using Notepad++ ... I was able to replace all the stuff anyways, and I saved it. Re-packed the apk... Nothing changed. What am I missing??
Update 2:
I think my problem now is finding out how I can recompile the file and be able to either keep the signature or make a valid signature. I say this because now all I get when I try to install the modifed apk it says "error parsing file" or "... not signed correctly"
I give up! I tried and took a few shots at it, but I guess I am missing something. Oh well...
http://forum.xda-developers.com/showthread.php?p=17446113#post17446113
All Credit goes to Dblfstr!
Sent from A Van Down By The River!
Worked like a charm dblfstr. Thanks.
Whew, exactly what I needed. Thanks again. I guess I'LLC leave all the Modding stuff to the seasoned folks.
Simple tutorial added.
Suggestions welcome
Thanks
bklizard said:
OK, so I tried to modify these .xml files... so far, I haven't been able to open them up successfully. So my noob-ish question is, "what editor do I use to open these up?" Standard XML editors found in Windows/Office doesn't show them right.
Or can I just replace the files altogether by copying and pasting the stuff in the post? ... I will try that first, I guess...
Update1:
So I extracted the files for editing, and then replaced all the lines in those files (which by the way, opened up to show some weird encoding) using Notepad++ ... I was able to replace all the stuff anyways, and I saved it. Re-packed the apk... Nothing changed. What am I missing??
Update 2:
I think my problem now is finding out how I can recompile the file and be able to either keep the signature or make a valid signature. I say this because now all I get when I try to install the modifed apk it says "error parsing file" or "... not signed correctly"
I give up! I tried and took a few shots at it, but I guess I am missing something. Oh well...
Click to expand...
Click to collapse
Simple tutorial added that may assist you.
Yes, the app has to be decompiled before you can edit the .xml files.
You will need to build the app after you made your changes.
Then zip the app
then sign the app.
[APP][UPDATE][Netflix V1.4] Netflix Rotation Enabled Apps w/ Colored Loading Screens updated to Netflix 1.4 for those who do not want to attempt to add the rotation on your own.
Thanks
I saw this on the front page Congrats! I'm wondering if this was disable because there are several instances of tabbed views leaking activities when the orientation is changed. A good test would be to link up ddms to the app and repeatedly change the orientation and see if the memory gets eattin up.
Am I SOL if the screenOrientation="1" is in all the lines?
is it possible to to this with the touchwiz30 .apk?
WOW, made it to the portal. That is awesome. Hopefully someone can benefit from this thread.
Pacifik said:
Am I SOL if the screenOrientation="1" is in all the lines?
Click to expand...
Click to collapse
Not necessarily. To what app are you referring?
ChadBFlores said:
is it possible to to this with the touchwiz30 .apk?
Click to expand...
Click to collapse
Probably a little more difficult. Nothing is impossible, however.
Screen Orientation + High Resolution Support
Is it possible to do any of those steps directly on the device itself ? For those who don't have access to computers on a regular basis...
Also, would you know which property(ies) I would have to change to get an app to fill the whole screen instead of a small part surrounded by black bars ?
I'm referring to the Canadian Sirius Radio app... It used to render correctly on my Droid1/Milestone, but now with my Droid3/XT860, the screen resolution as changed and it doesn't seem to be "programmed" to support larger screen resolution (qHD).
If I can implement both fixes, yours and mine, I'll be a happy man !
Looks ok, but as a developer I can tell you that most apps will break because of faulty design. Setting stick orientation is a workaround for their lesser API knowledge used by many beginning developers. I did it myself, stopped doing that when I learned more. Most of hacked apps will experience memory leaks, some of them FCs.
Anyway idea is great

[Q] Edit AndroidManifest.xml to Remove Ads

Hi, if I remove this lines (RED) from AndroidManifest.xml:
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="1" android:versionName="1.0" package="com.strek.whistle.dog"
xmlns:android="xttp://schemas.android.com/apk/res/android">
<uses-sdk android:minSdkVersion="3" />
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
<activity android:theme="@android:style/Theme.Light.NoTitleBar" android:label="@string/app_name" android:name=".DogWhistleActivity" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
[COLOR="red"] <activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />[/COLOR]
</application>
[COLOR="Red"] <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />[/COLOR]
</manifest>
would that be enough to get rid of ads?
Cheers!!!
Are my question stupid?
Anyone!
You can patch host file in /system/etc/hosts
dhruv.always said:
You can patch host file in /system/etc/hosts
Click to expand...
Click to collapse
thanksssssss
dhruv.always said:
You can patch host file in /system/etc/hosts
Click to expand...
Click to collapse
Thank you for this but you gave me the fish and I want to learn fishing!
Look like I am going to delete those 3 lines, compile and see will app crush...
Cheers!!!
Ads added to an app by the developer are there so the app can be free and the developer doesn't have to make paid only apps to support the time needed to make the apps. If you don't want the ads then use a modded host file.
XDA is a site focused on developers so we will not help you remove the things they need to keep developing.
Thread closed

Broadcasted intent not being received by system app

Posted this on stackoverflow but got no response so I'm trying here.
I have a BroadcastReciever in a system app that I want to send an Intent to (for testing purposes as I'm modding that system app).
The AndroidManifest.xml of the system app looks like this:
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="15" android:versionName="4.0.4-I9300XXALF6" package="com.sec.android.contextaware"
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED" />
<uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.DUMP" />
<application android:label="@string/app_name">
<receiver android:label="StateReceiver" android:name=".abstractor.StateReceiver" android:enabled="true" android:exported="true">
<intent-filter>
<action android:name="com.sec.android.contextaware.HEADSET_PLUG" />
<action android:name="android.intent.action.LOCALE_CHANGED" />
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
<provider android:name=".manager.LoggingDataProvider" android:authorities="com.sec.android.contextaware.manager.LoggingDataProvider" />
</application>
</manifest>
I use a test app and check if the target system app indeed can receive that intent with:
Code:
Intent intent = new Intent();
intent.setAction("com.sec.android.contextaware.HEADSET_PLUG");
PackageManager pm = getPackageManager();
for (ResolveInfo resolveInfo : pm.queryBroadcastReceivers(bt, 0)) {
Log.d("APP: ", resolveInfo.toString());
}
and get back a `ResolveInfo` with the system app's info, so it should be able to receive the intent. I then broadcast the intent with:
Code:
sendBroadcast(intent);
However nothing happens, the intent is not received. I have full control of the target system app's manifest file and code. Is it possible to somehow get the intent across?
Device is rooted.

[GUIDE][DECOMPILE] Hide app from launcher

I thought there's no similar thread here, so I create it here
There's 2 guide here, you could use 1st guide but if app still available at launcher you can use 2nd guide
Things you will need
PC or Laptop
apktool, zipalign and others / or Tickle My Android
WinRAR or WinZip
Notepad++
Patience!
Click to expand...
Click to collapse
So, lets begin..
PS I'm using Tickle My Android now, it's more easier than using normal apkTool :good:​
1st Guide by @Emperor.dk
This is the original method
Emperor.dk said:
First go here and download my X10MP essentials pack (for both Mimmi and Robyn), and install framework-files as described in the thread.
http://forum.xda-developers.com/showthread.php?t=2033415
In this guide we will mod Torch.apk so it will not appear in the app-drawer. Widgets will still work and Power-widget-button will still work
Extract Torch.apk from your ROM and place it in the APKTool folder.
NOTICE:
- If you plan to use the modded Torch.apk in a non-odex'ed ROM, then mod an APK from such ROM.
- If you plan to use the modded Torch.apk in an odex'ed ROM, then mod an APK from such ROM.
Click Command Prompt.bat (or open CMD from Start-menu on the PC and navigate to the APKTools folder)
Type in the command for decompile the apk:
{
"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"
}
This will decompile the apk into a folder named "Torch".
Use Notepad++ to open AndroidManifest.xml. Download Notepad++ here: http://notepad-plus-plus.org/
AndroidManifest.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="10" android:versionName="2.3.7" package="net.cactii.flash2"
xmlns:android="http://schemas.android.com/apk/res/android">
<application android:label="@string/app_name" android:icon="@drawable/icon">
<activity android:label="@string/app_name" android:name=".MainActivity" android:launchMode="singleTask" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
[COLOR="red"]<category android:name="android.intent.category.LAUNCHER" />[/COLOR]
</intent-filter>
</activity>
<activity android:name=".WidgetOptionsActivity">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
<receiver android:label="Torch" android:name="TorchWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="net.cactii.flash2.TORCH_STATE_CHANGED" />
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/appwidget_info" />
</receiver>
<service android:name=".TorchService" android:enabled="true" />
<receiver android:label="@string/app_name" android:name="TorchSwitch" android:enabled="true">
<intent-filter>
<action android:name="net.cactii.flash2.TOGGLE_FLASHLIGHT" />
</intent-filter>
</receiver>
</application>
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.flash" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
</manifest>
The red argument tells the UI to put the icon in the launcher, so we can just delete that line and save the XML.
Back in the Command prompt recompile the apk:
This will compile the APK again. The new APK will be placed in "Torch/dist"
Next we have to sign the new APK.
Move the new Torch.apk to the SignApk-folder.
Open Command Prompt in SignApk-folder and run the command to sign the APK:
This will sign the APK and save it to Torch_s.apk (you can rename it later).
Move the app to your handset and move to /system/app.
Set file-permissions to rw- r-- r--
Reboot.
Enjoy!
Here is the result (for non odex'ed ROM): http://www.mediafire.com/download.php?q5pp7coofa5x1g2
You can use this mod in odex'ed ROM too, but you then have to delete Torch.odex
Click to expand...
Click to collapse
This is my Tickle My Android method
Diaz1999 said:
STEP 1
Copy your framework-res.apk from system/framework and Torch.apk from /system/app/ then place it inside _in folder​
STEP 2
Open Tickle My Android, select Theming Menu, select Install Framework on PC, select framework-res.apk
Then select Decompile Files, select Torch.apk​
STEP 3
Go to _working folder, open Torch.apk
Open AndroidManifest.xml with Notepad++
Go to this
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="10" android:versionName="2.3.7" package="net.cactii.flash2"
xmlns:android="http://schemas.android.com/apk/res/android">
<application android:label="@string/app_name" android:icon="@drawable/icon">
<activity android:label="@string/app_name" android:name=".MainActivity" android:launchMode="singleTask" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
[COLOR="red"][U]<category android:name="android.intent.category.LAUNCHER" />[/U][/COLOR]
</intent-filter>
</activity>
<activity android:name=".WidgetOptionsActivity">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
<receiver android:label="Torch" android:name="TorchWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="net.cactii.flash2.TORCH_STATE_CHANGED" />
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/appwidget_info" />
</receiver>
<service android:name=".TorchService" android:enabled="true" />
<receiver android:label="@string/app_name" android:name="TorchSwitch" android:enabled="true">
<intent-filter>
<action android:name="net.cactii.flash2.TOGGLE_FLASHLIGHT" />
</intent-filter>
</receiver>
</application>
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.flash" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
</manifest>
Just delete that red line and save​
STEP 4
Open Tickle My Android, select Recompile Files, select Torch.apk
Then select Sign App, select Torch.apk
After that, select Zipalign App, select Torch.apk​
STEP 5
Go to _out folder, move your Torch.apk to your phone, move it to /system/app/ and change permission to rw-r--r--
Then reboot​
Click to expand...
Click to collapse
2nd Guide by @keval_dk
This is the original method
keval_dk said:
Decompile apk...and Edit AndroidManifest.xml..
its an example(torch.apk) :-
u can see those lines there...
<application android:label="@string/app_name" android:icon="@drawable/icon">
juzz delete android:icon="@drawable/icon" and save n recompile it...n push it...i hope it'll work...
n dont forget to press thank you button if it works..
Click to expand...
Click to collapse
This is my Tickle My Android method
Diaz1999 said:
STEP 1
Copy your framework-res.apk from system/framework and Torch.apk from /system/app/ then place it inside _in folder​
STEP 2
Open Tickle My Android, select Theming Menu, select Install Framework on PC, select framework-res.apk
Then select Decompile Files, select Torch.apk​
STEP 3
Go to _working folder, open Torch.apk
Open AndroidManifest.xml with Notepad++
Go to this
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="10" android:versionName="2.3.7" package="net.cactii.flash2"
xmlns:android="http://schemas.android.com/apk/res/android">
<application android:label="@string/app_name" [COLOR="red"][U]android:icon="@drawable/icon"[/U][/COLOR]>
<activity android:label="@string/app_name" android:name=".MainActivity" android:launchMode="singleTask" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".WidgetOptionsActivity">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
<receiver android:label="Torch" android:name="TorchWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="net.cactii.flash2.TORCH_STATE_CHANGED" />
</intent-filter>
<meta-data android:name="android.appwidget.provider" android:resource="@xml/appwidget_info" />
</receiver>
<service android:name=".TorchService" android:enabled="true" />
<receiver android:label="@string/app_name" android:name="TorchSwitch" android:enabled="true">
<intent-filter>
<action android:name="net.cactii.flash2.TOGGLE_FLASHLIGHT" />
</intent-filter>
</receiver>
</application>
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.flash" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
</manifest>
Just delete that red line and save​
STEP 4
Open Tickle My Android, select Recompile Files, select Torch.apk
Then select Sign App, select Torch.apk
After that, select Zipalign App, select Torch.apk​
STEP 5
Go to _out folder, move your Torch.apk to your phone, move it to /system/app/ and change permission to rw-r--r--
Then reboot​
Click to expand...
Click to collapse
Is there a way to hide apps from framework-side so that i dont have to repeat this process after updating the app?
How to decompile greenify.apk?
rdnomercy said:
How to decompile greenify.apk?
Click to expand...
Click to collapse
Use ApkTool (Using PC) or you can use ApkEditorPro (available on playstore)
I am not able to open Tickle my android.exe ........a grey screen flashes for a second and then closes automatically.

AndroidManifest.xml issues

Alright I used this same AndroidManifest.xml code several times to create my app and it worked just fine now I'm getting 5 different errors and I can't figure out why.
Here's the xml code:
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="technologx.technologx"
android:installLocation="preferExternal"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="16"
android:targetSdkVersion="23" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<meta-data
android:name="com.google.android.backup.api_key"
android:value="AEdPqrEAAAAILe2cCZXNBhacXv2fkMpNM5F7FWTdWRUw-r1dFg" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="technologx.technologx.SplashScreen"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="technologx.technologx.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="technologx.technologx.MAINACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
Here's the errors I"m getting every time I try to create the apk:
Code:
Error:(27, 24) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(28, 24) No resource found that matches the given name (at 'theme' with value '@style/AppTheme').
Error:(31, 28) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:(40, 28) No resource found that matches the given name (at 'label' with value '@string/app_name').
Error:Execution failed for task ':app:processReleaseResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Users/knye1991/Library/Android/sdk/build-tools/23.0.2/aapt'' finished with non-zero exit value 1
Could someone possibly help me fix my issue please?

Categories

Resources