Enable SMS on Any ROM - Nexus 7 (2013) LTE Android Development

Since there's now an Xposed Framework Module available to do this same thing, that is the much better way to go than modifying your framework-res.apk directly.
Check that out here http://repo.xposed.info/module/de.makuser.nexussms
-Original post follows-
I got tired of seeing several threads about this topic so I figured I would post a "How to", which should work on all ROMs and versions around.
This procedure is actually fairly simple, and if you have basic Android and computer knowledge you can do this.
What Does This Do?
On mobile-enabled tablets like the N7 3G and the N7 LTE, the device itself is capable of sending & receiving MMS and SMS messages. Maybe you've read about how Google Hangouts got the ability to do this not too long ago. However, if you excitedly downloaded and installed the new version, you may be like "What the hell is this?!?" because by default you cannot see any SMS-related options. In Jellybean and KitKat, a device has to be "a phone" before the system thinks the device is able to send SMS and MMS messages. However, its fairly easy to change this particular property on your device so that it self-identifies as a "phone" and you get access to SMS.
Important: You actually have to have SMS service to use SMS service. Even though it boggles my mind, people have actually sometimes been confused by this particular mod, and have asked me if it somehow gives you SMS service. It does not, it only gives you access to the software functionality to send and receive SMS messages.
Even More Bolded Text!: there is one exception to this. If you are using CyanogenMod 10.2 (or 11 if they have ported Voice+ to it, not sure at this time), you can use this mod in conjunction with Google Voice and the Voice Plus app. Voice+ allows you to send & receive messgaes via the Google Voice service behind the scenes, but on the front end you can use the stock MMS.apk, or the Google Hangouts app to do this. This does not involve modifying Google Hangouts, its just sort of "bridging" Google Voice and the native SMS handling so that your Google Voice texts act like regular SMS messages. Voice+ is part of the CyanogenMod project and you can read more about it here. It's honestly pretty nice if you're a Google Voice user, since the regular Google Voice app kindof sucks.
This procedure involves modifying a boolean setting in your device's framework-res.apk file. That may sound like gibberish to you, but its still not hard to get this done.
What You'll Need
This guide is written for people who use Windows. All the utilities I'll talk about in this guide are for Windows. I'm sure its possible to do this on Mac & Linux, but the main utility I use to make this easy (FrameWork Flasher) is for Windows.
-An archive manager. I recommend 7-Zip, since it is free, open source, and can handle basically every archive format known to man.
-FrameWork Flasher. I updated this application to work with KitKat, but am not the original creator. You can download the updated version from MediaFire. FrameWork Flasher was created by XDA's own Wes Foster, and you can see his original post here.
-Some kind of text editor. I use NotePad++
-An Android device with a custom recovery installed on it. "Custom Recovery" means like ClockWork Mod, or TWRP. You need this to flash your modded file back onto your device.
Got all your stuff together? OK, on with the How Tos.
How To Do This
The first thing you'll need to do is get a copy of your current ROM's framework-res.apk file. There are a variety of ways to do this. If you're running a custom flashable ROM, like CyanogenMod, the simplest way to go is to just download your ROM's flashable ZIP file onto your computer and then open it up in 7-Zip. The file should be located inside the ZIP in the system\framework folder. Just extract that to your Desktop, or wherever you're going to keep the files you're working on.
If you're running a "stock" firmware, probably the easiest way to get your current framework-res.apk is to copy it from your current tablet. Note: this method should always work regardless what ROM you are running, I just find it easier to pull the files out of the downloaded ZIPs on a computer. You'll need an Android file manager that allows you access to the entire file system, not just the "sdcard" type area. I use SolidExplorer, but Root Explorer would work just as well. Your goal is to get the file /system/framework/framework-res.apk on your Android device onto your computer. There are probably a dozen ways to accomplish this. Super noob method: just copy this file from its original location to your "Downloads" folder, then plug your device into your computer via USB and copy the file out of the Downloads folder and onto your computer using MTP. Another method would be to send it to yourself as an attachment on an email. Hell, Solid Explorer has a SMB/SAMBA client built into it, so if you know how to use that you can just push the file directly from its original location to a shared folder on your computer. If you need a step-by-step on how to accomplish this particular step, IMO you're not tech savvy enough to be doing this stuff.
Anyways, so you should now have the framework-res.apk file from your current ROM on your computer.
Download and unzip my FrameworkFlasher-MOD file. Inside the folder, you'll see several folders and files. You need to put the original framework-res.apk file in the "place-framework-res-here" folder (how inscrutible!). Then you can run RunMe.bat.
You should get a pop-up window with a simple text-based menu. You'll want to run Option 1. The program will process for a while, and then should end up at a "The APK has been decompiled successfully" message. You can press any key to continue. At this point its not a bad idea to just leave FrameWork Flasher running.
FrameWork Flasher should have unpacked all the resources from the APK into the folder "files-to-edit". You'll need to go into files-to-edit\framework-res.apk\res\values. Inside of their, you'll find a bunch of XML files. You need to open bools.xml in the text editor of your choice. You're looking for the line that says
<bool name="config_voice_capable">false</bool>
All you need to do is change false to true, so you should end up with
<bool name="config_voice_capable">true</bool>
Then, save the file and close your text editor and go back to FrameWork Flasher.
You'll now want to run through options 2, 3 and 4. After doing this, you'll have a file called "update.zip" in the "final-zip-file" folder. You'll need to put this onto your device and flash it.
If you've flashed ROMs before, I'd hope you know how to do this. As with the "get your framework file" step, there are many different possible ways to get the update.zip file onto your device. You could transfer via USB, over the network, via email, whatever.
Once you've got the file on your device, you flash it like you do any other flashable ZIP using CWM or TWRP. This ZIP should work with either recovery, and you do NOT need to clear cache or anything like that. Simply flash and then reboot your device.
NOTE FOR T-MOBILE USERS: Some T-Mobile customers, including me, get a "New Voicemail" notification on their device(s) with voice capable turned on. This is specifically a problem with the way your T-Mobile account was initially set up and/or provisioned. The device is correctly reporting the voicemail status it gets from your account. The problem is that T-Mobile sometimes puts the "Welcome to your new voice mailbox!" message into your inbox even if your voicemail is not turned on. As far as I know there's no way to fix this issue short of working with a T-Mobile tech to get them to fix it, which I haven't bothered trying to do given the weird nature of what I'm doing. In CM10.2 you can just swipe this message away. It occurs once and only once each time the device is rebooted. On the current builds of CM11, the voicemail notfication cannot be swiped away. This is a known bug in AOSP and was fixed in 4.4.2, so the fix should come to CM11 soon enough.

Forgot to mention, since this makes your device think its a "phone", if you install Dialer.apk, you can have access to the normal "Phone" app in your Apps drawer, and mess with SIP goodness

Also, for CyanogenMod users, your ROM probably did not come with some APKs that will make this more useful.
You CAN just use Google Hangouts as your SMS/MMS app, but some people may prefer to use the native CM app instead (it has those nice pop-up messages!). For that you need MMS.apk.
If you want to mess with the "Phone" functionality, you'll need Dialer.apk.
And finally, if you want to receive emergency notifications from the government (for like natural disasters and Independence Day-style alien invasions and stuff ) you'll need CellBroadcastReceiver.apk. Please note that none of these are needed for SMS functionality and all these APKs are from CyanogenMod and will not work on stock or other ROMs.
For CM10 Stable, I grabbed these APKs out of the Nexus 4 (mako) ROM, stuck them in a zip and uploaded them here.
On CM11-M1. same deal but I used the Nexus 5 (hammerhead) ROM as my source. Those are here.
These files just need to be placed into the appropriate folder(s) on your device and then you'll need to set the file ownership & permissions the same as the rest of the the stuff in there (owned by root:root, -rw-r--r-).
They all go in /system/app, except for MMS and Dialer on CM11. On KitKat they have introduce the new /system/priv-app folder. My ZIPs contain those directories to remind you where to put the stuff.

I'm not a Windows user and I'd love to modify my own (stock) framework-res.apk to re-enable SMS support. Do you know what tools FrameWork Flasher uses "behind the scenes" to decompile and recompile the apk?
I don't like the idea of tampering with framework-res.apk using apktool unless somebody can confirm that this is the right direction.

sbiriguda said:
I'm not a Windows user and I'd love to modify my own (stock) framework-res.apk to re-enable SMS support. Do you know what tools FrameWork Flasher uses "behind the scenes" to decompile and recompile the apk?
I don't like the idea of tampering with framework-res.apk using apktool unless somebody can confirm that this is the right direction.
Click to expand...
Click to collapse
APK Tool is indeed the right direction to take.
I actually had to update the binary of APK tool that Framework Flasher uses, since the one included in the original isn't new enough to know what JellyBean and KitKat are Since FrameWork Flasher is a Windows Batch Script, I'm certain its just automatically doing stuff in the command line you could be doing by hand.
Looking at the source, I think the deompilation is done with this command:
java -Xmx%heapn%m -jar apktool.jar d "../place-framework-res-here/framework-res.apk" "../files-to-edit/framework-res.apk"
"%heapn%" is a variable, which appears to default to the value of 64.
So the command
"java -Xmx64m -jar apktool.jar d "/path/toframework-res.apk" "/path/to/extract/to"
should work on Linux or Mac, provided you've got Java installed and the jar in the current working directory. Obviously change the paths to match your local stuff. Post how it works if you'd like, I'love to update the guide to include Mac / Linux instructions, and Framework Flasher is the only "Windows" part about it.

DivinityCycle said:
Post how it works if you'd like, I'love to update the guide to include Mac / Linux instructions, and Framework Flasher is the only "Windows" part about it.
Click to expand...
Click to collapse
Obviously I messed up the resulting framework-res.apk because it got stuck in a Zygote startup loop. It's worth noting that I built apktool from the latest git sources, so there might be some bugs lurking in the shadows.
Oh well, I'll just wait for somebody else to do the dirty work

sbiriguda said:
Obviously I messed up the resulting framework-res.apk because it got stuck in a Zygote startup loop. It's worth noting that I built apktool from the latest git sources, so there might be some bugs lurking in the shadows.
Oh well, I'll just wait for somebody else to do the dirty work
Click to expand...
Click to collapse
Well, if you send me your framework-res.apk I can mod it for you. Takes like 2 seconds
The Framework Flasher source code shows the following for the actual "do the work" steps:
To decompile the original APK-
java -Xmx%heapn%m -jar apktool.jar d "../place-framework-res-here/framework-res.apk" "../files-to-edit/framework-res.apk"
To compile the new APK-
java -Xmx%heapn%m -jar apktool.jar b %~dp0files-to-edit\framework-res.apk %~dp0place-framework-res-here\unsignedframework-res.apk
To sign the APK-
java -Xmx%heapn%m -jar signapk.jar -w testkey.x509.pem testkey.pk8 ../place-framework-res-here/unsignedframework-res.apk ../place-framework-res-here/signedframework-res.apk
To build the unsigned ZIP-
7za a -tzip %~dp0place-framework-res-here\unsignedframework-res.apk %~dp0temp-files\* -mx%usrc% -r
And finally, to sign the ZIP-
java -Xmx%heapn%m -jar signapk.jar -w testkey.x509.pem testkey.pk8 ../final-zip-file/update_unsigned.zip ../final-zip-file/update.zip
note: you do not actually need to sign the ZIP. You CAN flash a zip without a signature on it, its just that with signature you get verification that the file is intact, which isn't a bad idea.
In Batch's screwy syntax, %heapn% is the variable that contains the heap size, and it looks like the default heap size the script uses is 64 unless otherwise specified by the end-user.
Also, %~dp0 is just a path expansion expression used to give the full path to the target files where its used.
I'm pretty sure you can make use of the jar and key files inside the FrameWork Flasher zip file I attached to this thread. You can find them in the resources folder. Both apktool.ar and signapk.jar are necessary, and I'm pretty sure the testkey files are needed to do the digital signatures and make this stuff work. Hope that stuff helps

Your mediafire link is just another link to download 7zip, could you update it. Thanks.

deyanimay said:
Your mediafire link is just another link to download 7zip, could you update it. Thanks.
Click to expand...
Click to collapse
Damn you multi-tasking!!! sorry about that. Fixing it nao.
The link should be http://www.mediafire.com/download/jozlg1xy4vxiegb/FrameworkFlasher-MOD.zip

when I tried to use framework flasher option 1 it said
Framework Flasher 1.1.4 - by Wes Foster (wesf90)
Please read the "Help" section before using this script
--------------------------------------------------------------------------------
----
Compression: 9 Heap Size: 64mb
````````````````````````````````````````````````````````````````````````````````
````
Main Options (in order)
-----------------------------------
(1) Decompile APK
(2) Compile APK
(3) Sign APK
(4) Create and Sign update.zip
(5) Great News! (when your finished creating the zip)
Other Options
-----------
(10) Set Compression Level for APK's
(11) Set Max Memory Size (if you get stuck when decompiling/compiling)
(12) Read Logs
(13) About / How-to / Help
(99) Exit
--------------------------------------------------------------------------------
Choose the number corresponding to the option:1
(removing old files...)
(removing old files-to-edit...)
===============++ Decompiling the APK. Please, please be patient ++==========
=====
ECHO is off.
An error has occurred. Check the log for more info.
ECHO is off.
Press any key to continue . . .
Click to expand...
Click to collapse
I attached the log. I'm trying to do this with CM 11 M1 on my deb, windows 8. Any ideas?
edit: framework-res.apk i'm trying to decompile: https://www.dropbox.com/s/iqc3eniv0u51ytg/framework-res.apk
seems like this is a common problem (googled it echo off) but I havent found a solution that works
edit 2: just tried it on my windows 7 laptop with the same result
edit 3: tried doing this with the cm 10.2 framework-res.apk with the same result.

About the voice mail message. Have you tried to install T-mobile Visual Voicemail to see if it could download then delete the message? I don't know how this app works, it's just the first thing I thought of when I read your post.

Thanks for creating this quide. I tried the single steps of the guide two weeks ago (I described it here: http://forum.xda-developers.com/showpost.php?p=47928887&postcount=167), but always got a bootloop. (De-)compiling the framework succeeded without errors and I tried it with and without changing the build.prop. By now I have no clue what went wrong. Mabye you need a special version of apktool fitting the rom you want to patch ?

Paten said:
About the voice mail message. Have you tried to install T-mobile Visual Voicemail to see if it could download then delete the message? I don't know how this app works, it's just the first thing I thought of when I read your post.
Click to expand...
Click to collapse
I've tried this and it doesn't work. I guess the app can't properly add the visual voicemail service to that line. I've also asked T-mobile about it and they said that I don't even have a voicemail box to store messages so there is nothing they can do about it.

nsmart said:
Thanks for creating this quide. I tried the single steps of the guide two weeks ago (I described it here: http://forum.xda-developers.com/showpost.php?p=47928887&postcount=167), but always got a bootloop. (De-)compiling the framework succeeded without errors and I tried it with and without changing the build.prop. By now I have no clue what went wrong. Mabye you need a special version of apktool fitting the rom you want to patch ?
Click to expand...
Click to collapse
Same here, it appears that setting config_voice_capable to true triggers an NPE inside the Keyguard class (i.e. the system PIN entry dialog) which then in turn causes SystemUI to restart over and over.
Perhaps the answer lies somewhere in the changes between 4.4 and 4.4.2 inside the AOSP device tree for deb, but I don't have the time to do an extensive diff of everything that has changed between those two releases.
Has anybody succeded in modding the stock KOT49H build without side effects?
---EDIT---
Apparently @GuyAdams managed to do it. Question is, how

cheers mate, nice post etc, been trying to get this going the last few days (and trying the other posts I've seen you talking on) but so far no luck. I'm getting the same log error as the previous poster too.
cheers
running nexus 7 with cm11 latest nightly.

burpitt said:
cheers mate, nice post etc, been trying to get this going the last few days (and trying the other posts I've seen you talking on) but so far no luck. I'm getting the same log error as the previous poster too.
cheers
running nexus 7 with cm11 latest nightly.
Click to expand...
Click to collapse
Well that sucks! It looks like APKtool doesn't work on anything newer than 4.4. I was able to reproduce the errors by trying to decompile / recompile the framework-res.apk from stock 4.4.2. The current release of APKtool from Slimbean I found here on XDA Devs appears to not be new enough. The main attraction of FrameWork Flasher over other solutions was the extremely easy & rapid download & use (as opposed to the end user having to like go download and install the entire Android dev kit), and Virtuous Ten Studio can definitely do this job, but again it looks to be an order of magnitude more complex for the average user to use. I'm going to be a little busy today doing actual work, but I should be able to find the time to work on this other stuff as well. Frustrating!

Is this working for the rom here: http://forum.xda-developers.com/showthread.php?t=2545628
And what about the carrier dont they see you now making calls and texts on a line that is set to be a tablet?

curtdragon said:
Is this working for the rom here: http://forum.xda-developers.com/showthread.php?t=2545628
And what about the carrier dont they see you now making calls and texts on a line that is set to be a tablet?
Click to expand...
Click to collapse
Did you even read my post? At no point did I say anything about "making calls", and as stated in the OP, this simply turns on the software on the tablet that allows you to send & receive SMS/MMS messages. You have to have to actually have SMS service to send / received SMS messages.
Also as carefully stated in OP, using CM10 or CM11 means you can use Voice+ to make Google Voice messages act like regular SMS.
Last but not least, the most recent builds of Bruce's CM11 ROM (the one you linked to) already have this modification applied (as he explained in the most recent few posts).

DivinityCycle said:
Did you even read my post? At no point did I say anything about "making calls", and as stated in the OP, this simply turns on the software on the tablet that allows you to send & receive SMS/MMS messages. You have to have to actually have SMS service to send / received SMS messages.
Also as carefully stated in OP, using CM10 or CM11 means you can use Voice+ to make Google Voice messages act like regular SMS.
Last but not least, the most recent builds of Bruce's CM11 ROM (the one you linked to) already have this modification applied (as he explained in the most recent few posts).
Click to expand...
Click to collapse
Hey thanks for coming off as a douchbag. Do I even read? No, perhaps you've edited your post several times since i did. Not to mention the fact that your title reads "Enable SMS on any ROM" then you go on to say that it will also enable the voice portion of the phone. Finally I asked a legitimate question it he texts why? because with ATT i have a share plan. While the plan says it's unlimited talk and text then the data is shared each device is different on the account and priced differently as well.
Also if I wanted to use Google Voice to send text messages i would just do that. Voice+ sends
But as you said this is enabled in the ROm i am using so I will exit this thread now.
You really need work on your people skills.

I do not run framework flasher is not possible to have a zip ready to be flash? I have a nexus 7 2013 LTE with cm 11 kot49h.... Thanks
Inviato dal mio Nexus 7 utilizzando Tapatalk

Related

Bluetooth issue fixed with 09SEP-VoiceDialer.apk

Last night I was checking out Cyanogen's web site and I came across this:
Bluetooth Voice Commands Missing in CM6?
Hello,
One of the newer features that I liked so far in CM-6 was the ability to long press my bluetooth headset action button which resulted in a voice telling me to say a command. This was much better than the original phone voice dialer, which requires manual intervention to pick a number from its list of guesses after you speak, and which offers no voice prompt to let you know when it's ready.
Well, as of upgrading to CM-6.0 from the 8-25 nightly, the bluetooth/headset dialer is gone and when I long press my bluetooth headset button It's back to the old phone voice dialer which requires manual intervention to place a call and offers no voice prompt. How do I get the bluetooth dialer back?
I have attached the 09SEP-VoiceDialer.apk from CM-6 release for easy downloading.
***Instructions- Download the file into your root of your SD card, using Root Explorer remove the old VoiceDialer.apk and install the new 09SEP-VoiceDialer.apk
The OLD VoiceDialer.apk can be found under /system/app
Mine is working great!
Any questions, PM me....
Enjoy!
my bluetooth headset can now operate the voice commands, however, after a command is given, Voice Dialer FCs.
KF34
gohamstergo said:
my bluetooth headset can now operate the voice commands, however, after a command is given, Voice Dialer FCs.
KF34
Click to expand...
Click to collapse
Did you remove the old VoiceDialer.apk?
Also, don't forget to change the permissions on the 09SEP-VoiceDialer.apk after yoo move it to /system/app.
This is working great for me, back to the way it was before the update!
Sent from my FroyoEris using XDA App
so as far as the instructions:
***Instructions- Download the file into your root of your SD card, using Root Explorer remove the old VoiceDialer.apk and install the new 09SEP-VoiceDialer.apk
is install the new file is just copying it then pasting it into the system/app folder using root explorer, longpress on app and change permissions to allow all. then reboot.
EDIT: apparently yes, my bt headset works perfectly with voice dialer now. thank you.
This is great -- restores the BT voice dialing functionality that should have been stock in the Eris from the start
Is the source for this APK available? I wonder if it would be possible to modify to add an optional "confirmation" step:
User: "Call Jim Somename"
Phone: "Calling Jeff Someothername, is that correct?"
User: "No"
Could certainly be fancier, like presenting several options, but the above would be sufficient to prevent misdialing people you don't mean to call in other area codes, etc. That's my main hesitation to use it right now; my wife's name, in particular, seems to mismatch to other names often.
I haven't done much Android development yet, but I'd be interested in poking at this code.
jmastron said:
This is great -- restores the BT voice dialing functionality that should have been stock in the Eris from the start
Is the source for this APK available? I wonder if it would be possible to modify to add an optional "confirmation" step:
User: "Call Jim Somename"
Phone: "Calling Jeff Someothername, is that correct?"
User: "No"
Could certainly be fancier, like presenting several options, but the above would be sufficient to prevent misdialing people you don't mean to call in other area codes, etc. That's my main hesitation to use it right now; my wife's name, in particular, seems to mismatch to other names often.
I haven't done much Android development yet, but I'd be interested in poking at this code.
Click to expand...
Click to collapse
I do not know but I can give you a link to Cyanogen's post if you would like....
http://forum.cyanogenmod.com/topic/6497-bt-voice-dialing/page__p__57811__hl__bluetooth__fromsearch__1#entry57811
I remove the old voicedialer. I copied over to system/app change the perms and reboot. when long pressing the bluetooth the dialer comes up but never prompts. I tried renaming the file. I tried just an install. that worked once but FC verytime after.
What am i doing wrong
Thanks for this
I can't believe that Google has worse technology than MS on this! MS Voice Command is far superior.
I tried vlingo with mixed results.
Will try this.
Just installed on my Aria running Liberated 2.2 and it works great!
BTW, I couldn't for the life of me delete the old VoiceDialer.apk using a file explorer, so I just took a shot and installed this Voice Dialer, so no real need as far as I can tell to go through the hassles of the instructions above.
Many thanks.
I tried.this but I keep getting a parsing error ???? I'm a noob have no clue what that means..lol
Sent from my Eris using XDA App
I realize that this is a bit of a dead post, but do you think this apk would work on a Samsung Captivate? I'm currently running with Perception 10.3 and Speedmod kernel, but for some reason the BT Voice Dialer has decided to stop working and is continually stuck at Starting Up.
I'm trying to get this to work on my Aria running FR0008 but no dice. Even using Root Explorer I simply cannot get either the original Dialer.apk deleted or the replacement 09SEPDialer.apk installed.
What am I doing wrong? I REALLY want the proper Bluetooth dialer in this ROM as I use a headset often and at the moment I prefer it to the Cyanogen ROMS.
woodbane said:
I'm trying to get this to work on my Aria running FR0008 but no dice. Even using Root Explorer I simply cannot get either the original Dialer.apk deleted or the replacement 09SEPDialer.apk installed.
What am I doing wrong? I REALLY want the proper Bluetooth dialer in this ROM as I use a headset often and at the moment I prefer it to the Cyanogen ROMS.
Click to expand...
Click to collapse
Have you tried this? Download the 09Sep-VoiceDialer.apk to your computer. Rename it VoiceDialer.apk and place it in your tools directory of SDK. Connect your phone to PC. Open a command prompt window and navigate it to your tools directory of SDK. Type adb remount. Then type adb push VoiceDialer.apk /system/app. Then adb reboot. Be certain to take not to the caps in the file name as well so it will overwrite the one that's already in place on your phone. Hope this helps
CondemnedSoul said:
Have you tried this? Download the 09Sep-VoiceDialer.apk to your computer. Rename it VoiceDialer.apk and place it in your tools directory of SDK. Connect your phone to PC. Open a command prompt window and navigate it to your tools directory of SDK. Type adb remount. Then type adb push VoiceDialer.apk /system/app. Then adb reboot. Be certain to take not to the caps in the file name as well so it will overwrite the one that's already in place on your phone. Hope this helps
Click to expand...
Click to collapse
That sounds very helpful, only problem is I have no idea about SDK and ADB. Is there a really abbreviated way of getting me up and running with this?
woodbane said:
That sounds very helpful, only problem is I have no idea about SDK and ADB. Is there a really abbreviated way of getting me up and running with this?
Click to expand...
Click to collapse
Try here http://developer.android.com/sdk/index.html
There's instructions for installation and the downloads. Everything you should need
CondemnedSoul said:
Try here http://developer.android.com/sdk/index.html
There's instructions for installation and the downloads. Everything you should need
Click to expand...
Click to collapse
Awesome, I'll try giving that a whirl later this evening. Thanks for the pointer.
So, I gotta be honest, I just simply do not have the technical know how to get this working. I've downloaded and installed all relevant files but can't even seem to get the phone connected.
Here's what I'd love to be able to do, simply replace the VoiceDialer.apk in the Aria FR008 ROM - which does not support Bluetooth voice dialing with this one that apparently does.
I have tried unzipping the FR008 ROM and replacing the file and rezipping. When I go to install it from card in recovery mode it immediatly crashes. I'm seeing that the FR008 zip is "signed" and guess that I'm missing doing something important here, resigning either the whole ROM or just the file?
Can anyone please help me out here as I'm really struggling with this.
woodbane said:
So, I gotta be honest, I just simply do not have the technical know how to get this working. I've downloaded and installed all relevant files but can't even seem to get the phone connected.
Here's what I'd love to be able to do, simply replace the VoiceDialer.apk in the Aria FR008 ROM - which does not support Bluetooth voice dialing with this one that apparently does.
I have tried unzipping the FR008 ROM and replacing the file and rezipping. When I go to install it from card in recovery mode it immediatly crashes. I'm seeing that the FR008 zip is "signed" and guess that I'm missing doing something important here, resigning either the whole ROM or just the file?
Can anyone please help me out here as I'm really struggling with this.
Click to expand...
Click to collapse
Yeah... if you unzip it you will need to sign it when you zip it in order to flash it. Try opening to rom with 7zip or winrar and just drag and drop the new one into the zip to replace the old one. Don't unzip it.
Sent from my Blackened Ginger using XDA App

[Q] Finding APK dependencies

Hey devs.
I have a little question. Let's say I have an APK, like the TouchWiz launcher( just an example ). Obviously, if i push it to /system/app on an AOSP ROM, it won't work, because it is missing some dependencies, or my android version is too low.
So, how do I find out which dependencies an APK needs, what android version, etc.
Thanks, Joe.
Please use the Q&A Forum for questions Thanks
Moving to Q&A
That's all listed in the APKs AndroidManifest.XML. I think the minimum Android version is listed as MinSDKVersion or something.
To view an APKs AndroidManifest.XML, use a tool like Root Explorer. If you're using RE, just click on the APK and choose View, then long press on the AndroidManifest and choose the option for viewing it in a text viewer.
- chris
GodSlayer said:
Hey devs.
I have a little question. Let's say I have an APK, like the TouchWiz launcher( just an example ). Obviously, if i push it to /system/app on an AOSP ROM, it won't work, because it is missing some dependencies, or my android version is too low.
So, how do I find out which dependencies an APK needs, what android version, etc.
Thanks, Joe.
Click to expand...
Click to collapse
Google for "APK Analyzer"
Same question here. Root Explorer is not very handy for this task. And I can't find "APK Analyzer". I need a desktop application.
maximilliangreat said:
Same question here. Root Explorer is not very handy for this task. And I can't find "APK Analyzer". I need a desktop application.
Click to expand...
Click to collapse
Apk Analyzer is a windows desktop app from Sony. But its for developers. I find it easier to just read logcat for FC's which will mention a nullpointer or missing function, then do a full text search for said function in the fully decompiled ROM. Takes a while doing that but it always works if you know your way around smali.
Sent from my X10i using Tapatalk 2
Apk Analyzer is a windows desktop app from Sony.
Click to expand...
Click to collapse
Good application, but heavily developer oriented.
I need a much simpler (and faster) tool, to quickly preview required android version, application name and version. Functions used by application are less important to me.
maximilliangreat said:
Good application, but heavily developer oriented.
I need a much simpler (and faster) tool, to quickly preview required android version, application name and version. Functions used by application are less important to me.
Click to expand...
Click to collapse
All this stuff is about the dependencies scanning, for the application name/version/etc stuff see my EDIT: post at the bottom
As far as I know, there is no tool made to do this. The nature of the Java/DalvikVM programming is much like other languages, modular. When the Android OS boots up, it preloads all classes and functions into the dalvik cache and registry, and if a seperate package (APK or JAR) references that function then the system loads it when it needs it. Apart from examining the .java source, there is no "header" or "include" file to see what other packages the package depends on.
Take this example - this is taken from a smali file from deep in the framework.jar for AOSP ROM's:
Code:
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
This is from ./android/net/http/IdleCache.smali. It is requesting to run the "uptimeMillis()J" function from ./android/os/SystemClock, it does not reference which JAR or APK has it. In this case it's the same framework.jar file, but Android has no idea about this because the classes/functions are preloaded in one chunk when the OS boots. Technically, you could remove these SystemClock smali files from framework.jar and put them in a file named "scoobydoo.jar" and the function would still work fine.
What I am saying is, the names of APK's and JAR's are never referenced in the decompiled smali code of an APK - only (sometimes) in the java source. So in the case of reverse engineering i.e. porting apps from one ROM/device to another where building-from-source is not possible, you would need to search every single smali file for invokes, member classes, etc. and then do a full text search for those functions on a fully-decompiled ROM to see where those functions/classes are.
This is why it's easier to just grab the APK you want, dump it into the ROM, and see what happens. Run logcat, run the program, when it FC's then examine the Error or Warnings relating to that package. It will probably mention "nullpointer exception" or "unknown reference" or something, I can't remember the exact message - and also the name of the function, like "Lcom/android/somepackage/somefunction()L" which it couldn't find, which caused the FC. You then would do a full text-search on either all decompiled APK's/JAR's, or on the ones you have a hunch on, and merge that APK/JAR file in too. If the JAR/APK already exists though, then it gets complicated - you need to merge the function into the existing package. Sometimes this is very difficult.
As I said, if you give me an example APK and a Logcat of it crashing, I will help But what you are asking for is a Package Dependency-Walker, which currently doesn't exist for Android. Such a thing would be nice though, as it'd make hacking a kanging much easier - but its useless for android developers because the original source code/project already shows its' dependencies (or, if written properly, has its' dependencies already included in the projects' build tree).
EDIT: Finding the required Android version however is easy. Decompile the APK and open AndroidManifest.xml, near the top you'll see a line like this:
Code:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="10" />
Which means it's requires at least Froyo to run, but was targeted at Gingerbread MaintenanceRelease1 (2.3.3-2.3.4). For decoding the API integers, see here.
Application name and version are also in the manifest file. They commonly use values from the string table though (which looks like android:label="@string/app_name"), which means you need to search for that variable in (e.g.) ./res/values-en/strings.xml

Trouble Signing?

So I used someone else's theme as a template with apktool and created my own theme. Runs great on my phone, everything works. Problem is, when I go to upload it to my apps in the Dev Console, I get the following error:
"Google Play does not accept apks signed with certificates issued by Android team. Create a new certificate that is valid for at least 50 years."
So I tried other methods to sign, such as AndroidSigner. When I used AndroidSigner I am able to upload the APK to the Dev Console but it won't install on my phone (logcat references the first file in the package, which happens to be a font, and complains about signing).
Since I only have an edited apk and not a full project to sign with Eclipse or the like, what are my options?
I mean, the theme is DONE.
Shoot.

[Q] Trying to modify 4.0.4 notification screen - Don't know names of items

I have a Verizon LG Lucid with stock 4.0.4 on it. Here:imgur.com/Igb4l you can see my notification screen with a nice red box drawn around the items I would like to disable. However, before I can disable such items I need to know what they are called. I have tried every combination of words I can think of to google search but not no avail.
So here's what I need to know:
1. What are these items called?
2. Are they contained within the software of LG, Verizon, or stock Android?
3. Where would be a good topic to begin researching now that I know what's what?
Edit: I think the key here lies within systemUI.apk. I will investigate that.
Edit: I learned a lot about APK's and modifying them. Currently all I've been able to do is make the status bar disappear. Maybe it isn't actually in systemui...
Edit: Success! I finally got the wifi notification bar to "go away" by setting its height to 0.0 in SystemUI>res>layout>wifi_onetouch_layout.xml as seen in a thread about hiding the music player. A few problems I ran into: I had to switch the aapt that comes with apktool with aapt from the android SDK to build without errors. After it was built I had to copy META -INF and AndroidManifest from the vanilla SystemUI.apk then zipalign it. I used a root file manager on the phone to move and rename everything.
Here's a nice screenshot of my progress: imgur.com/YA7bu

[Discontinued/Files Removed] Tasker Project for Snapchats (Requires Root)

[Edit] Discontinued indefinitely. App creation was a little out of my league when I began trying to make it. Then Snapchat started encrypting files in more complicated ways than I had experience with, so I couldn't keep up and unfortunately had to drop all efforts. This project will no longer work and no further effort has been made to continue progress. I apologize for the lack of communication.
There are other resources out there that are still working, however. If you need help finding such things, you're welcome to PM me to ask what I'm referring to.
Discontinued until further notice. Currently working on an app that does all of this and more. For those who previously downloaded this and find it suits their needs for the most part, enjoy it, and consider checking out the app in the future. To others, I will let you know when I release the app. It should be much improved from the current project (and it doesn't require Tasker).
Due to a request to release my tasker project, which silently, neatly, and automatically copies and renames the snapchats you receive to a separate folder, I created this thread. Please try the latest version before asking for help with an issue. Most issues have probably been solved at this point.
There are still bound to be a few kinks in this, but I have spent lots of time getting it to work as much as possible (I am rather proud of the regular expressions that I created myself, even if they might be overkill).
Attached is the project if you just want to import it and let it go to work. Just extract from the zip and import in tasker by clicking a Project at the bottom of the Profiles tab (not the + sign, but an icon to the left of it)
To describe it simply: upon receiving a notification from snapchat and noticing a file change in the directory where the files are stored, it runs a series of commands that copies and saves them to the SDcard/Snapchat/Saves(/Vids) with filenames of "[DATE] - [TIMEMS] [NAME OF SENDER].jpg" (or .mp4). TIMEMS is the time in milliseconds from some time in January 1970. It keeps the task from overwriting your saves and it orders them nicely.
If I end up making any drastic changes, I'll probably come back and include them here. If you take it and make any changes that simplifies the process or makes it work better, feel free to share.
Good luck!
The new version (5-8_v5) has been released (small update from v4)! PLEASE READ BEFORE USING:
Requires Tasker's Accessibility service to be running (Android Settings> Accessibility> Tasker) to catch the notifications—only if you want the usernames to be automatically parsed and used; if you don't turn it on, it'll give you a Variable Query every time it finds a file loaded. Also if you don't turn it on, run the Folder Fixes task on your own, cause it's supposed to run the first time you get a notification.
When this first runs, it assumes that you have the folder/directories created. I don't know when snapchat creates them (during install or after receiving the first snap), so if you get errors related to not finding the file then try re-running the Folder Fixes associated task.
If you see something asking for text with the title Username, that's the Variable Query I mentioned. That's asking for the person's name who sent it, if you know it. If you don't know it at the time of asking, you can put anything in there and it'll copy with that attached (you can always go to the folder and rename it yourself)—otherwise, you can close it (or wait 15 seconds) and rerun the task on your own time.
Besides that, don't touch anything and you should be fine!
Changelog (5-8_v5):
Small update to 5-6 which stops the task and, therefore, the %Last[whatever] variables from being created if the Username variable is unset when it gets to the part where it copies (equating to no copies being made, regardless).
Because of that, now you shouldn't have to delete variables manually.
An unmentioned change in 5-6 was that I changed the flash message. It now flashes the names of each file it creates. This can be turned off—Action 37 in the Copy/Rename tasks.
(v2) Figured out the other reason why duplicates were happening with images. It has now been updated. (The only way this could backfire [same for videos] is if you get two different snaps of the exact same filesize in the same time period—very unlikely)
(v2) Made the Variable Query nicer looking.
(v3) Fixed some variable references that were funky
(v4) Fixed the profiles getting turned off and staying off by accident under certain scenarios
(v5) Changed it so no user input is required to turn off the profiles. If the 4.2+ one runs at all, it stops and turns off the other one.
(v5) Changed the %Last[etc] variables from creating excessive arrays with the same numbers.
Changelog (5-6):
Revamped the way it checks for previously copied snaps. It should be foolproof now, giving no duplicates while still not missing any.
Added an Array Clear for the %Username variable at the end of the copy/rename tasks.
Added a Variable Query if it's going to copy something but %Username is not set (see above for usage)
You can delete the Variable Set %Notification from the Update Username task if you want. It's just there for me so I can check it as a global variable. It isn't referenced anywhere else in the project.
Changelog (5-4_v2):
TONS of error fixes caused by insufficient permissions and directories are now included in the run-once profile.
Added profile (and associated tasks) which should fix the problem that users were having about the video folder not existing
(v2) Optimized the way it turns off profiles. This should automate the above-listed stuff. So even if you have all the profiles on, it should turn off the ones that don't work (unless both of them work). Still, in case the run-once wasn't turning off when done, now it will.
(v2) I consider this the first fully stable release. However, you're welcome to note if it doesn't work for you.
Changelog (5-3):
The received_video_snaps folder will no longer be allowed to be deleted by Snapchat
No more error messages when saving video snaps
If the %Username(1) variable is unset, it will flash a Variable Query, which you should type the person's name in.
The only issue with this is for videos. You will just need to go back to the other screen and load the video again.
If/Then was deleted in the Username catching task to catch multiple usernames better.
Profiles should now only trigger once per file change. I would check from time to time to make sure they are still in the "on" position. It should be fine, but I won't assume anything.
Project icon changed to Snapchat icon
Changelog (4-29):
has been significantly enhanced from the original. It now does a much better job:
Preventing duplicates saves
Not running indefinitely
Running efficiently and quicker
Having less confusing global variables
Picking up the username (currently testing to see if this can be done even better, but I basically need to wait for a certain type of notification. It should be better regardless)
Edit, I think it's safe to delete the If and End If in the Update Username task, which might work for trying to pick up multiple usernames at the same time. This hasn't been extensively tested, but I'm pretty sure it's the correct decision
Automatically catching videos when they're loaded
I also fixed a few rather large errors that might have been in the previous release
Donations are accepted!
NEWEST Version is on the bottom (I'm not really sure why people are downloading the original version at this point... it's just there for reference. I may just remove that one if it tricks people that much...)
I should probably note that this does require root, because you have to change the permissions of the files for tasker to be able to read them.
Hello, is it possible to make one with this conditions with just a simple task...
Whenever I receive new snapchat notification, I then open tasker and just run that particular task.
What I want the task to do is just copy everything and remove the ".nomedia" extension from snapchat folder into a new folder in the memory card.
The reason I want this is that Snapchat isn't so popular in my country. Therefore, I only receive Snapchats once in a while and I only want to save the images sometimes. Not all the times. Moreover, i dont wanna keep tasker running in the background.
Thanks a lot!!
rfkw said:
Hello, is it possible to make one with this conditions with just a simple task...
Whenever I receive new snapchat notification, I then open tasker and just run that particular task.
What I want the task to do is just copy everything and remove the ".nomedia" extension from snapchat folder into a new folder in the memory card.
The reason I want this is that Snapchat isn't so popular in my country. Therefore, I only receive Snapchats once in a while and I only want to save the images sometimes. Not all the times. Moreover, i dont wanna keep tasker running in the background.
Thanks a lot!!
Click to expand...
Click to collapse
That should be rather simple. If you wanted to use my project, you would do that by deleting or turning off all the profiles in the project, and then you'd only need the tasks named Run & Rename Snapchat Image and Run & Rename Snapchat Video and get rid of some of the extra features that you don't need. For example, you could get rid of a bunch of the steps in the tasks.
[deleted]
This would technically work for both images and videos, but to get it to actually find the videos, you'd have to find a way to run the task while snapchat is loaded and the video says "Tap to View". I'd suggest setting up a gesture.
By the way, in the project I have, tasker only runs when each profile is active. That's why they're there, to prevent the battery drain that would otherwise occur. The profile states are rather infrequent (when you receive a snapchat notification, and when a file is changed in the directories listed), so I haven't really noticed battery drain from that.
You're also aware that you have to do this BEFORE you view the snapchat, right? Otherwise, you could just take a screenshot...
An alternative to the above method would be to use the Copy Dir command on those directories, or the FolderSync app, but you'd still need to change or add the correct file extension (jpg and mp4). Fiddle around with it; you might be able to figure out a way to add the extension.
Disregard below, I figured it out, it wasn't so clear about long pressing the icons at the bottom of the screen to get to the projects dialog. Done now! Thank you shenkenstein
I'm unable to import the prj file. I tried multiple things until I just changed it from snap.prj.xml to snap.prf.xml and the Tasker was able to see it in the import dialog. But once I select it I get:
Error: the import contains more than one profiles​
I'm thinking there's something missing in my Tasker. I keep hearing references to 'projects' but no such tab exists in my UI. I've gone to preferences and unchecked 'beginner mode' with very little changes.
What am I missing?​
shenkenstein said:
An alternative to the above method would be to use the Copy Dir command on those directories, or the FolderSync app, but you'd still need to change or add the correct file extension (jpg and mp4). Fiddle around with it; you might be able to figure out a way to add the extension.
Click to expand...
Click to collapse
I actually tried setting up a simple copy dir commad. Just copy dir from the receivedsnapchat folder to a random folder on my sdcard whenever I run Snapchat.
However, it doesnt seem to work. I guess it's something to do with the chmod thing which I'm not familiar with. Am I right?
Thanks for your help tho! I'll try out the steps you listed. Hopefully I can get it to work.
---------- Post added at 01:13 PM ---------- Previous post was at 12:18 PM ----------
shenkenstein said:
On second thought, what you want would just be easier to create a task with:
A1: List Files [ Dir:/data/data/com.snapchat.android/cache/received_image_snaps Match: Include Hidden Files: On Variable:%nomedia Continue Task After Error: On ]
A2: List Files [ Dir:/data/media/Android/data/com.snapchat.android/cache/received_video_snaps Match: Include Hidden Files: On Variable:%nomediavid Continue Task After Error: On ]
A3: Run Shell [ Command:chmod 777 %nomedia() Timeout (Seconds):0 Use Root: On Store Output In: Store Errors In: Store Result In: Continue Task After Error: On ]
A4: For [ Variable:%filestocopy Items:%nomedia() ] --- don't forget the () after nomedia
A5: Copy File [ From:%filestocopy To:Snapchat/Saves/%TIMEMS.jpg Use Root: Off Continue Task After Error: On] -- here's where I have an issue, because I'm pretty sure you need to tell it the original filename of the file, minus the nomedia part (the variables stored in %nomedia will be the entire filename, including directories). That's why I find it easier to create my own filename, so I'd use something like %TIMEMS as I have listed. You could also change the directory here. You COULD keep the old filename using tasker's variable search replace function with a regex to select everything but the nomedia part, but I think that's not worth the effort.
A6: End For
Click to expand...
Click to collapse
Alright managed to get it working. Currently for A5, I've set it to To:New Folder. This new folder is a folder on my sdcard.
The question I have is, if I'm using %TIMEMS.jpg, how would it rename the files? Would it be sequenced or will all the files have the same name?
Would it be 1TIMEMS.jpg, and next pic would be 2TIMEMS.jpg, 3TIMEMS.jpg and so on? Or would it be the original filename with TIMEMS at the back, ie. "adlfkadlfhadlfTIMEMS.jpg"?
Thanks!!
rfkw said:
Alright managed to get it working. Currently for A5, I've set it to To:New Folder. This new folder is a folder on my sdcard.
The question I have is, if I'm using %TIMEMS.jpg, how would it rename the files? Would it be sequenced or will all the files have the same name?
Would it be 1TIMEMS.jpg, and next pic would be 2TIMEMS.jpg, 3TIMEMS.jpg and so on? Or would it be the original filename with TIMEMS at the back, ie. "adlfkadlfhadlfTIMEMS.jpg"?
Thanks!!
Click to expand...
Click to collapse
You can see for yourself by doing a flash %TIMEMS. It always comes up with different numbers, such as 1367028766502 or 1367028766586. I don't think tasker is fast enough to do multiple commands in the same millisecond. Does that make sense?
And chmod is the shell command that gives the files permission to be read, write, and executed. You can read about it online if you really want, but if it's not working you either don't have root or didn't check use root. In fact, the Copy Dir alternative would probably require use root to be checked as well, but again, because we're wanting to change filenames, I don't think that's the command we want.
Bumping because of new version.
You can delete the old project and add this one if you have the older version. Deleting a project is done much the same way adding one is.
Vid done!
I installed and when I load a video, I get a message "Vid Done" When I exit Snapchat, I get a Tasker Error, List Files: file not found: /data/media/Android/com.snapchat.android/cache/Received video snaps. What am I doing wrong? I'm a noob, sorry if it's a dumb question.
Hi! I've imported it to Tasker, and everything seems fine there. However, it simply won't do anything and I've tried everything with my extremely limited knowledge.
I receive a Snap, but nothing shows up in /storage/sdcard0/Snapchat/Saves/(or Vids depending). Running Xperia P, with JB 4.1.2
I've checked that the images or videos do show up in the folders specified by the project, it just seems like it doesn't recognize I have gotten a snap?
Dahlmo said:
Hi! I've imported it to Tasker, and everything seems fine there. However, it simply won't do anything and I've tried everything with my extremely limited knowledge.
I receive a Snap, but nothing shows up in /storage/sdcard0/Snapchat/Saves/(or Vids depending). Running Xperia P, with JB 4.1.2
I've checked that the images or videos do show up in the folders specified by the project, it just seems like it doesn't recognize I have gotten a snap?
Click to expand...
Click to collapse
Do you have tasker enabled in accessibility settings? If not, then the profile won't get the username from the notification. If you don't want to enable it, you can add a Variable Query for Username(1) in the copying task. Then, that'll always ask you for that variable when it finds the file added. Just put whatever you want there (though it's designed for the person's name)
As my project is set up, the file won't copy if the username isn't set, and it won't set if tasker can't access the notifications.
I've just added:
If %Username(1) ! Set
Variable Query: Variable %Username(1)
End If
to my copy tasks right before the For, For, Run Shell, etc... commands. That should take care of that situation, if it's the problem, and if I release a new version it'll have it :good:
wdgewood said:
I installed and when I load a video, I get a message "Vid Done" When I exit Snapchat, I get a Tasker Error, List Files: file not found: /data/media/Android/com.snapchat.android/cache/Received video snaps. What am I doing wrong? I'm a noob, sorry if it's a dumb question.
Click to expand...
Click to collapse
No, it's not a dumb question. It's because the File Modified profile picks up when Snapchat deletes the file as well as when the file is copied by tasker (but the task that gets that error message is what allows it to not run every time this happens). It's not a significant error, UNLESS you aren't seeing it copy the files. You can turn those flash error messages off in Tasker Preferences>Action>Flash Problems.
Edit: I just fixed the error message from displaying even with the flash problems option checked. Go to the SnapVid File Added profile, click the File Modified part of it, and add /received_video_snaps/ after /cache/ so that it looks like "/data/media/Android/com.snapchat.android/cache/received_media_snaps/" without the quotes. I'm surprised I didn't notice that myself. Haha, thanks for pointing it out. That'll should also prevent the task from running while you're sending videos (because I saw a folder named sending_video_snaps there too before it deleted it again).
Edit 2: Nevermind, the error still came up, but it's only when snapchat deletes the folder. Also, my profile doesn't activate with that folder added, which is probably why I left it at /cache/. What's happening is the Video File Ready task is trying to List Files and it's not finding the folder in which it's supposed to search. I don't know any way around this because it keeps deleting the folder, even if you add it manually. --more on this below--
shenkenstein said:
Do you have tasker enabled in accessibility settings? If not, then the profile won't get the username from the notification. If you don't want to enable it, you can add a Variable Query for Username1 in the copying task. Then, that'll always ask you for that variable when it finds the file added. Just put whatever you want there (though it's designed for the person's name)
As my project is set up, the file won't copy if the username isn't set, and it won't set if tasker can't access the notifications.
Click to expand...
Click to collapse
After enabling it in the accessibility settings it still isn't working fully.
In Tasker, I imported the SNAP.prj.xml file, and the profiles "Snapchat Notification, Snap File Added and SnapVid File Added" are all set to on. Tasker says there are "no active profiles" but I assume that is due to the snap.prj.xml file being under the "two people" tab, and not the "house" tab.
I see that under vars on the home tab I have "%Username1 someoneIrecievedfrom" so something must be work. Just not getting any files I assume. Again, this (adding variables and such) is out of my league, so I apologize for seeming a bit technically impaired.
Dahlmo said:
After enabling it in the accessibility settings it still isn't working.
In Tasker, I imported the SNAP.prj.xml file, and the profiles "Snapchat Notification, Snap File Added and SnapVid File Added" are all set to on. Tasker says there are "no active profiles" but I assume that is due to the snap.prj.xml file being under the "two people" tab, and not the "house" tab.
I see that under vars on the home tab I have "%Username1 someoneIrecievedfrom" so something must be work. Just not getting any files I assume.
Click to expand...
Click to collapse
If you run the Run & Rename Snapchat Image task by itself, does it work then?
Hmm. Don't worry about the username variable, then. The "no active profiles" is fine, because these profiles are set to be active only for the event itself (which is like a split second long). The only other thing I can think of, without seeing your run log, is if you don't have root or haven't given Tasker root access. So, also try turning on the Run Log and noting where you get an error.
Breakthrough!
I just had a major breakthrough with the videos folder deletion problem (which ends up creating errors and stuff). [deleted]
That literally disables Snapchat's ability to delete folders in the cache folder, but it allows it to create new folders and files within the new folders. Theoretically, you could also do this same function to the received_video_snaps folder, and it would never be able to delete the files within the folder. Unfortunately, if you did that then every time you hit "load" in snapchat, it would load a new file into the folder, so you'd probably get multiples. But that could be done to the images folder without any issues, I think.
[deleted]
Dahlmo said:
After enabling it in the accessibility settings it still isn't working fully.
In Tasker, I imported the SNAP.prj.xml file, and the profiles "Snapchat Notification, Snap File Added and SnapVid File Added" are all set to on. Tasker says there are "no active profiles" but I assume that is due to the snap.prj.xml file being under the "two people" tab, and not the "house" tab.
I see that under vars on the home tab I have "%Username1 someoneIrecievedfrom" so something must be work. Just not getting any files I assume. Again, this (adding variables and such) is out of my league, so I apologize for seeming a bit technically impaired.
Click to expand...
Click to collapse
I'm having this issue too. I have a rooted Galaxy Nexus and have enabled Tasker in Accessibility settings. I've attempted to run the ''Run and Rename Snapchat Image' when I had a pending one and it did not work. I could, however, see the file in the directory (/data/data/com.snapchat.android/cache/received_image_snaps) when I checked it out via Root Explorer. I also could see my contact's name in the %Username value.
My Run Log from when I manually run that task with an active Snapchat is attached with the 5-3 profile.
a10waveracer said:
I'm having this issue too. I have a rooted Galaxy Nexus and have enabled Tasker in Accessibility settings. I've attempted to run the ''Run and Rename Snapchat Image' when I had a pending one and it did not work. I could, however, see the file in the directory (/data/data/com.snapchat.android/cache/received_image_snaps) when I checked it out via Root Explorer. I also could see my contact's name in the %Username value.
My Run Log from when I manually run that task with an active Snapchat is attached with the 5-3 profile.
Click to expand...
Click to collapse
Thanks for the Run Log.
Well, your answer is that the List Files command (label List nomedia) is failing to find the files in the folder. I can think of only two possible reasons for this (and I think it's #1):
1. Check the permissions of the folder /received_image_snaps/ and tell me if it's missing read permissions for group or other (I think Tasker falls under Other, but I forget). If it is, try manually adding those permissions (check the boxes); you might want to add permissions to execute as well, just in case. I can set up another command in the run-once profile to solve this for everyone if it fixes it for you, so let me know.
2. In the List nomedia command, I have it set up to match any files in there which have a character or more followed by .nomedia (this is under Match, listed as "+.nomedia"). If the files you see in that folder don't match this regex, it won't list them. You can safely delete this entirely without any negative side-effects. Nothing gets put in that folder that doesn't match that regex, anyway, for me.
shenkenstein said:
Thanks for the Run Log.
Well, your answer is that the List Files command (label List nomedia) is failing to find the files in the folder. I can think of only two possible reasons for this (and I think it's #1):
1. Check the permissions of the folder /received_image_snaps/ and tell me if it's missing read permissions for group or other (I think Tasker falls under Other, but I forget). If it is, try manually adding those permissions (check the boxes); you might want to add permissions to execute as well, just in case. I can set up another command in the run-once profile to solve this for everyone if it fixes it for you, so let me know.
2. In the List nomedia command, I have it set up to match any files in there which have a character or more followed by .nomedia (this is under Match, listed as "+.nomedia"). If the files you see in that folder don't match this regex, it won't list them. You can safely delete this entirely without any negative side-effects. Nothing gets put in that folder that doesn't match that regex, anyway, for me.
Click to expand...
Click to collapse
Yeah, the permissions were not set to allow it reading. Now it gets to the end before it fails. I've uploaded the run log as well as a screenshot of the error it pops out. It's worth noting that the file it "can't find" both exists and has 777 permissions set.
a10waveracer said:
Yeah, the permissions were not set to allow it reading. Now it gets to the end before it fails. I've uploaded the run log as well as a screenshot of the error it pops out. It's worth noting that the file it "can't find" both exists and has 777 permissions set.
Click to expand...
Click to collapse
Strange. I normally only see the copy file error if the file itself doesn't have permissions (which would be the result of the previous command not working) or if the %Username1 variable doesn't exist, but you noted clearly that it did work, and the variable should still be there from when it found it earlier.
And I think I just duplicated this error. It's so mundane that this is the case, but it's quite a big issue, so I'll have to update the version in a bit. Try adding a Saves folder in your Snapchat folder in your sd card. I was about to doubt this would be the case until I tried a different folder in my task.
Though, I'm confused why your screen still showed that error. Something's still awry I think...

Categories

Resources