What is the difference for installed application's list in device and emulator. In emulator i can see the installed apps in location of /data/app
But, i can't see the installed application on my real device. Where it is stored. I can see the default application from here /system/app But i can't see installed application whatever i downloaded and my own application. Anyone guide me?
On the emulator, you have root access.
On your phone, you do not have root access (unless you root it). And each application gets its own private folder with its own linux userid, so that one application can not look into the folder of another application. This is but only one aspect of the Android security model. There are many more.
Are you looking for anything in particular in those folders? If so, there are workarounds. For instance, if you're trying to look at your sqlite.db file, one workaround is to have your own application (since it has the permission to do so) programmatically read the database file and reconstitute it on the SD card (every time you want to manually check it).
In my device (Samsung Galaxy Tab 10.1, Android 3.1) installed apps are in /data/data.
EDIT: If you want to get absolute path of your directory at runtime, you can use this trick:
getApplicationContext().getFilesDir().getAbsolutePath().replaceFirst("/file.*$", "");
Related
I used my mobile phone sometimes as debug device and an emulator whose has PlayStore but only that, nothing more, not even my account from Google. So upon trying to update A.S. it started taking longer, so I take a look at it and he is listing files from my mobile phone that was not connected via USB to the computer neither other ways.
What does my phone files has to do with android update? And the updates is taking forever running through all files from my phone, it appeared system/ WhatsApp/ Downloads/ etc with files I know for sure are only in my personal device not the emulator.
Why does A.S. list these files on Update?
There was a copy of my files inside \AppData\Local\Android\Sdk\platform-tools\ and AndroidStudio maybe thought it was important to look at it. Resolved by removing the files inside the folder with my name.
I am developing an android app that will run under the android.uid.system user (the tablet manufacturer is signing the app for me so it will be able to run under this user id).
The problem I have is that it takes about 2 to 3 weeks each time I want the app signing. As I make code changes I want to be able to test them under the system user but it is not feasible for me to wait this long to be able to test/debug my changes - especially if they turn out to be wrong.
Is there any way I can test the app on the tablet as the system user (or mimicking system user privileges) without having to get it signed every time?
Further info:
I am developing on windows 7, using Eclipse IDE.
The tablets are running Android 4.4.2 and 4.4.4 (2 different models).
The tablets are not and will not be rooted.
Assume a fairly basic level of understanding of app signing on my part.
Thanks in advance
Root the device and install app to system/app folder
I have sorted this myself by rooting the device for development purposes and then copying the app from the data/app folder to system/app and then removing the it from data/app folder.
The device then treats it as a system app and so far all of the system level functions I have tried have been working (such as reboot device and set timezone).
This article helped (although I had to copy (cp) and remove (rm) rather than move (mv) the app).
My goal is to save data from app in a text file for further analysis. I used the exact code as given here for saving data:
The data is stored and retrieved according to the app, but I am not able to find MySampleFile.txt (even using the search functionality) on the phone.
I can't find it in Android -> data -> com.*.*. I have a Samsung Galaxy S3. Is anything different in this phone?
Should I make any modifications in the phone?
Do the following to be able to see your data stored in the phone's internal memory.
Turn on USB Debugging on your phone.
Connect your phone to the system.
Open DDMS perspective in your Eclipse.
Select your device from the devices tab on the left.
On the right, the last tab will be File Explorer. Open that.
Traverse to data/data/your.app.package to find the data you want to see.
P.S:- NEVER root your phone, unless you're a developer who loves to mess around with the System apps.
To see data, you phone must be root. Samsung Galaxy S3 is not a root from vendor, you need to root your phone to access internal memory/storage, you can only access external memory/storage in your phone i.e. sdcard
But, i would suggest you to use Emulator rather root your phone.
Here, are some links about what is rooting, you can go through these:
http://gizmodo.com/5982287/reasons-to-root-your-android-device
http://lifehacker.com/5789397/the-always-up+to+date-guide-to-rooting-any-android-phone
http://en.wikipedia.org/wiki/Android_rooting
But again I would suggest to use Emulator unless you are not expert enough to root and Install firmwares again when you don't want your phone root.
Please use Emulator to see data->com.package
From Windows Menu->ShowView->Others->android->fileExplorer you can see the file in your device
Specify permission in AndroidManifest.xml:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
It may seem strange, but I wonder is an android app able to make the SD Card inside the device windows bootable? I thought of making the SD bootable and write ultimatebootcd to it. I did it through windows, but it would be so great if android can do it!
To make the SD card bootable, you have to modify the boot sector of the card. This can not be done from a standard Android application. If the Android device is rooted, it can almost certainly be done from a native Linux program, or an NDK program.
If the device is not rooted, you can probably not do what you want. As Chris Stratton commented, if the card is already made bootable, you could probably then change for instance what OS is booted up and how.
Say, there is startup code which loads and boots an OS, then you can change the configuration file for the bootloader. A starter: http://www.syslinux.org/wiki/index.php/Boot_an_Iso_image
I used Rufus and installed a syslynux on the SdCard from a PC running window 10.then I put the card back into the Moto phone. It's receiving files that I have moved from the internal storage to the card how ever I have not a chance to find out whether they Will open up In the PC or not.
Since I added the install location to the manifest (tried both auto and preferExternal) and made my update available in the Market I get some users that can't install the application on their (so far only HTC Desire with Froyo) devices. Is there any known issue on this? Or better a working solution?
I got also the following workaround from a user. Unmount the SD card, install the app, and mount the SD card again does succesfull install the app.
It seems that this is a specific error with this specific device model. Your app cannot help that much. But, among some hacks, the device owner can also try this:
How to Install Apps to the SD Card by Default on Android 2.2 Froyo