I am building an Android app in which client is selling some mp3 files. Now my question is, when I copy these files in the resources folder, will they will be exposed when someone will explore the file system?
The reason why I am asking this question because I have seen application on Android market which can let you explore the android file system (you can also do this by attaching your device to your PC) and you can check what's in inside the application directory.
So if this is possible, how I can make sure my resources are secure?
Thanks.
Now my question is, when I copy these files in the resources folder, will they will be exposed when someone will explore the file system?
Yes.
So if this is possible, how I can make sure my resources are secure?
You can't.
What you're asking for would only be possible on a trusted computing (a.k.a. treacherous computing) platform, which Android is not.
Related
I am trying to package /somewhere/lib/python3.x inside APK's lib folder like jniLibs. But it contains *.py, *.pyc and other files. I have asked another question, but there is no answer. So this is a general question: do you ever used or developed any plugins that embed non-standard files in APK instead of using assets?
How would you access those files? I mean you could put them in the apk, an apk is just a zip file. But the system won't unpack them for you, and at runtime you won't be able to access the apk file itself (installation unzips your file and deletes the apk). You might be able to fool it into doing so by putting it with the jni libs and hoping it doesn't look at extention, but it seem like a bad idea.
However its not uncommon for an app to take its assets and write them to the filesystem on first boot. In fact its fairly common to do this with updatable assets (you'd then just download new versions on top of them, but you can use the old versions to not need an immediate network connection). This would probably work for you. Just make your initial activity a splash screen, and have it do the copy from assets to files in the background while the splash is up.
I am facing a serious issue here. I built an android and iOS application. Now after I developed it completely and it is running seamlessly, I want it to be multilingual(both android and iOS). Is there any simplest method which I can use now to make both my android and iOS apps multilingual now. The .apk and .ipa files have already been prepared and the project is complete. Please help!!!!
You cannot modify your .apk and .ipa files to be multilingual. I mean, theoretically it's possible but it would be ludicrously difficult. If you are stuck with the .apk and .ipa files you have, then your task is extremely difficult, sorry.
You can modify the android and iOS projects (I am assuming they are separate projects) to provide multiple language versions of the resource files where your user text and images are stored, assuming that you correctly stored all text and images which get displayed to the user in resource files/folders.
For Android, see http://developer.android.com/training/basics/supporting-devices/languages.html
For IOS, see http://www.raywenderlich.com/64401/internationalization-tutorial-for-ios-2014.
Is it possible to call or access HTML file which exists in another apk ?
example:
lets assume one.apk has index.html in its assest folder
is it possible to access the index.html in another web view ?
or is there any workaround for this problem ?
On current android devices, .apk files (at least those under /data and /system) are world readable. The /data directory is not listable, so you need the full and specific path of an apk to access it. Currently this can be found in /data/system/packages.xml
If you want to access it with a web view, you will probably first have to track it down and extract your own copy from the apk, by treating it as a zip file, then point your webview at that.
Of course this is not official functionality - it could go away, so best not to rely on it. The more important point is you must not rely on someone not doing this to your apk, because they actually can.
The answer is No Never..
The security architecture of the Android will not allow one application to access resources of another application.
Every application is treated as different users. Can a user access the personal files of another user in your desktop machine when protected?? Same goes here.
No, Its not possible. Its private to only that .apk. So in other .apk file you can't. Its all about Android Application Security concern.
Or something for try, (I am not sure this one help you or not) The Resources object gives you access to assets. PackageManager can give you access to the Resources for an application.
Can users with a rooted device view files in the assets folder of my app?
I ask because I intend to place files there that can be accessed from the application, however they should not be viewable in any other way.
I am developing on Froyo 2.2
Yep, sure can. Assets is just another directory on the filesystem of the device. Permissions are enforced on those based on the underlying Linux permissions model, so anyone with access to root on the device can access anything on it.
There is an in-depth discussion of how the assets of applications are isolated/protected, as well as a discuss about how root can access them and how you can protect against this, in Application Security for the Android Platform (disclaimer: I'm the author of this book). Basically, if you're concerned about root having access to files within your application, you're going to want to encrypt them so even if root can get to them, they will not be readable. This approach has a lot of its own implementation problems, all centered on how you manage the keys used to encrypt/decrypt the files. While there are things you can do to make it much more difficult for someone with root to get as your application's files, you cannot make this impossible as root users have full control over the device and everything on it.
Its not possible to prevent anyone getting to your assets.
How to take backup the installed application's .apk file in device or emulator which we're using by programmatically. Thanks in Advance.
Eventually, the Android OS is a Linux OS.
If you have root access to your device, you can copy the protected files and do whatever you want with them.
The APK files are located in the /data folder.
I am sure this kind of programming not possible (May be possible for rooted phone), because just consider if this is possible then paid application's Apk can easily available in market in free of charge, so if this is the case then what does it mean to develop paid android application?
Even though, it is possible then i am really interested to learn this programming snippets.