I have been searching around this site and google for a couple of hours now, and I can't find anything about this. Maybe because I use the wrong search terms, I don't know.
I am making an Application List for an App of mine, and for the most part this is easy enough. My problem is that when I come across an updated system application, I need to get information about the original package file (The one in /system/app rather than the updated one in /data/app), information like version and file name.
Now, I could extract this as root from /data/system/packages.xml, but I thought that there might be a better native solution using PackageManager like with the rest of the application list?
Related
Is there a way I can get the hierchary view/layout of other running android apps? If that's not possible, could I possibly unpack the app's .apk file and get the information there? For example, there's a setting in developer options that allows you to get the bounds of every elememt on the screen like so
EDIT
I have come to realize that this is not allowed and goes completely against the Android SDK. I apologize for this error and will look more closely in the future.
I have found out that Google blocks any of this because it would require me to inject my own code into other apps, which is not allowed due to malicious behavior in past apps.
I am trying to write an app in Android that when requested will download a specific file from DropBox if the file is available.
I have gone through all of the tutorials in the developer section on the DropBox site but I don't think they are really detailed enough as each of the tutorials seem to have bits missing and I haven't been able to get any of them to fully work.
I have tried examples of both uploading/downloading files from the tutorials but each time I get to this part of my code I get Exception errors. This leads me to believe that I have missed something out so I was wondering whether there was a decent tutorial anywhere that properly explains the process of downloading a specific file (rather than bringing up DropBox for the user to select the file) from dropBox so that I can follow it through and hopefully will help me to understand where I am currently going wrong.
I know there are lots of questions similar to this but most of them state that they can get part of the process to work and need help on a particular part but I don't seem to be able to get anything to work other than the actual linking to my DropBox account (I have created a DropBox app and have added the keys etc. to my software).
If anyone can help point me in the direction of a decent tutorial that properly explains this process I would be grateful.
Thanks...
I thought I should expand on my issue which hopefully will help to identify the problem that I am having.
The main tutorial I am using at the moment is: https://www.dropbox.com/developers/core/start/android
I have created an app in the App Console which allows file sharing; this has also given my key and secret code.
I have downloaded and installed the mentioned SDK and have added it to my project; I know this works as without the SDK installed most of the code produces errors.
I have added the beginning part of this tutorial which sets up the authorization to DropBox from my app; this works as when I test it I am taken to a page on my device that requests that I select the correct DropBox account. Up to this part I have no issues with and it all seems to work.
The next part of the tutorial mentions uploading/downloading files and reading the directory structure. I have tested all of these separately but for each one I get an Exception error; the errors seem to mention something called "json" and a class not being found. The tutorial does not mention needing to install another SDK or any other library files so I am unsure whether it is assuming that something has already been done which I have not known about so hasn't been done.
I hope this makes sense and would appreciate any help you can give me...
It looks like the error is related with JSON library you used to connect with Dropbox server. here is the libraries list I used for my application, it works well and can download the file to cache.
dropbox-android-sdk-1.6.1.jar
dropbox-core-sdk-1.7.7.jar
jackson-annotations-2.2.3.jar
jackson-core-2.2.4.jar
jackson-databind-2.2.4.jar
The library jars in the dropbox-java-sdk-1.7.7 package are not enough.
I'm trying to install Kik Messenger twice. I have two accounts and don't like to log out because I lose all of my conversation history. I'm currently using Titanium backup's profile feature, which is a very nice fix, but it's still a pain having to switch back and forth between profiles. I might be looking for "perfect" when perfect doesn't exist. I am completely new to modding apks and Android in general, all of my work on this so far has been "trial and error". Anyways, here's what I have:
I have the Google Play version of Kik installed on my phone. I have extracted that app and modified the package name successfully using apktool. However, when I try to install, I get an error saying something about duplicate provider authority. So I did some research and learned that I'm supposed to edit this part of the AndroidManifest. So I have played around with that a little bit and after I change the authorities, I am able to install the modded app. However, it crashes immediately.
Does anyone know how to fix this problem with the provider/authorities?
The issue you're hitting is that the app has registered certain classes to handle particular events. These need to be unique across all installed apps and point to existing classes in the app that will perform some activity with the supplied information.
You bypassed the safety check when installing by changing the defined handlers in the Manifest but that didn't really fix it as they still need to actually point to a valid, working class that can handle the requests/events.
You would need to decompile, rename the classes involved and all references made to them and recompile the whole app to really fix the problem. However, I'd assume that it would likely be against the license. If the code is open source then it wouldn't be too big a task to rename some classes & packages then build the app. If it's closed source then it is a harder task.
What you can do is either set up your device to use multiple accounts (the OS not the app) as each user has a separate data storage and preference location that should allow you to have two configurations. Or you can request that the developers include some sort of multiple account handling or easy account swap feature.
I have been asked to blend our company specific events into the existing Android calendar. Our events have four fields I don't find with the standard CalendarContract.Events class. A boolean "approved" field, an integer "linked" to a resource, and two dateTime fields indicating.
The first step seems to be to extract the existing ICS calendar into a compileable stand alone application. I have downloaded the android.calendar package from github, but it won't compile in Eclipse. It appears to be missing certain imports: com.android.common, com.android.commoncalendar, and com.android.ex.
I have searched stackOverflow for help extracting a stand-alone version of android standard apps, but have mostly seen people respond that it is not possible. I know it is possible because it has been done. You can find it here:
https://play.google.com/store/apps/details?id=com.concentriclivers.calendar
I have emailed the developer to see if he would share his source code or at least describe the steps he took to get the package to compile as a stand alone application, but he has not responded.
Can anyone help me with how to fix the missing imports, or better yet point me to a resource that describes step-by-step how I do this?
Thanks!
I wouldn't be in any kind of hurry to rebuild one of the standard apps. That sounds like a recipe for pain. Instead, I suggest you make use of the Calendar content provider that is already present, and create another set of tables that indexes by the Calendar CP but adds the rows you are missing. You could then make a custom cursor that blends these two sources together, or maybe make another content provider to wrap them and keep the cursor simple.
I'm fairly new to publishing apps with FlashDevelop(FD) and Air, and me and my colleague are having some issues with some settings before the publication of the app.
So, here's the main question, what do you need to do to get a decent setting in package of the manifest-part of the application.xml that gets "merged" with the .apk file?
Is the package i use in my FD project somehow corresponding to the package in ?
And am I correct in assuming that the package="some.package" also has something to do with where the App actually gets installed on the mobile device?
I mean if I'm writing a very very simple app that is contained in only say 100 lines of code in a single Main class, then i won't be using any package in the FD project... so where does the manifest package get it's string value from?
Been searching on the web for a while now and it's starting to become a wee bit annoying... it's a bit of a jungle and it's hard to find specific answers neither through android's web and adobe air's web.
Any help would be greatly appreciated.
If I understand your question correctly, no, the package name in your Flash has nothing to do with your apk's package name.
That is set in the settings when you click on
File->Air for Android Settings
In that dialog under General there's an App ID field which starts with air.
it then says you should fill that in with whatever package name you wish the app to have.
it will wind up being air.your.package.name
And as for reference, you're right, there's not a whole lot on the web, but this book is quite handy:
http://books.google.com/books/about/Developing_Android_Applications_With_Fle.html?id=KGmmyBns0ngC
Or if you're going with straight Flash:
http://shop.oreilly.com/product/0636920013884.do