I don't know if this is programming-related (much) but I've recently started playing around with writing my own applications.
My phone is running cupcake/1.5. There is no "unknown sources" option, anywhere, at all. Carrier is AT&T.
Does anyone know how I can overcome this issue?
I you are writing applications, you have installed the SDK... the eclipse debug install mechanism should work, so should 'adb install whatever.apk' Even on AT&T.
If you didn't have the sdk, you could get "sideload wonder machine" which is a packaging of a small part of the SDK capability for non-technical users to enable them to install non-market apps in the way you can with the SDK.
You may have no recourse unless your phone can be rooted; AT&T locks down many of their phones and prevents installing non-Market apps. In their words from their Q&A:
Q. Why can't apps be installed from sources outside of the Android Market?
A. Android Market, managed by Google, is open to all developers. There is no approval process for applications, they are all accepted by default and Google has stated that they place apps in the Android Market within 24 hours of their submission. AT&T selected Android Market as the exclusive source for applications because it forces developers to be accountable for the apps they submit. If the Android community has issues with an app, the app can be flagged and removed. This minimizes the risk of malicious apps harming customers and provides more protection to the customer’s private data stored on the phone.
Related
We are building an app in Unity for the Samsung S21 specifically, and we are noticing an interesting bug that resembles the following: https://issuetracker.unity3d.com/issues/android-not-enough-storage-space-to-install-required-resources-error-when-building-app-bundle-with-split-application-binary.
We have isolated it to phones that are "Fully managed" with Samsung Knox, and have noted that this occurs across all apps made with Unity, including major commercial releases on Google Play. This does not appear to be an issue with non-Unity apps.
After a factory reset, our app installs fine, but once it is updated or uninstalled and reinstalled we get the message "Error: Not enough storage space to install required resources." I have noticed that certain folders do not delete after the app is uninstalled--specifically /files/il2cpp and /files/Unity, and I cannot delete these on Knox-protected phones, while I CAN delete these folders on standard devices.
My Knox security settings say "User Deletion: Disallow."
I know that Knox is the issue here, but I am curious if anyone has any explanation what in particular with Unity is causing the problem. My suspicion is that this is because my Knox security settings do not allow me to delete, but it is interesting that this only seems to be the case in Unity apps as apps not developed in Unity (NBA Live is an example) uninstall and install fine. It is also worth noting that this all seems irrespective of the link I put above with the initial bug that claimed it was related to splitting the application binary.
We determined that using the Managed Google Play store only for downloads does not produce the issue. Any downloads from the commercial store--specifically Unity apps--will cause this issue. There is no workaround for this. If the organization with which you are working would like to be able to install a specific app on a phone with an account managed through Knox it must allow the specific app on the Managed Google Play store.
Is their an android equivalent to the Apple configuration policy?
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/iPhoneOTAConfiguration/Introduction/Introduction.html
We are deploying some android tablets (company owned) in a corporate environment and need to lock down specific features in the tablets. Mainly to turn off the camera and the lock which applications can be run. Possibly forcing install of certain applications.
Mainly to turn off the camera
That is supported via the device administration API.
the lock which applications can be run
There is nothing in the Android SDK for this.
Possibly forcing install of certain applications
There is nothing in the Android SDK for this.
Try out android for work..
https://www.google.com/work/android/features/
It should give you ways to remotely administer android devices.
App security
Work apps are deployed through Google Play for Work. IT can prevent
installation of apps from unknown sources and apply app
configurations.
I recently switched mobile phone operator and I brought my number with me. However, the number stored in the SIM, which is visible to Android, is incorrect (it is the number that was given to me before the switch over).
Somebody wrote a little app a few years ago that allows changing the number on the SIM:
https://github.com/fommil/MyPhoneNumber/blob/master/src/org/lytsing/myphonenumber/MyPhoneNumber.java
I have no idea how the original author ever got it to compile, I've needed to use reflection (as others have discovered).
But there is an additional problem: apparently this must be run by an app signed with the "system signature key": https://stackoverflow.com/a/6029410/1041691
There is IntelliJ documentation for signing Android apps, but I am failing to interpret/translate the (Eclipse) instructions for dealing with this fabled "system" key: https://stackoverflow.com/a/3651653/1041691
How do I run an app on my Nexus 5 with full access? (which is physically connected by USB)
How do I run an app on my Nexus 5 with full access?
You don't, except perhaps by compiling your own version of the Android OS from source, rolling that into a ROM mod, and installing that ROM mod. Then, the signing key will be your own generated one, and you can sign other SDK apps with that key to grant them access to system-level permissions.
You might be able to install some off-the-shelf ROM, if they publish their signing key, and I have no idea if any of them do. I certainly wouldn't.
We are building an enterprise focused mobile application.
To take this app to the market we need to figure out how to remotely
a) upgrade / wipe the application on mobile devices
b) get access to the device for support and troubleshooting
I guess mobile device management (MDM) applications like AirWatch or
MobiControl can do this job. But they are expensive and do a lot of
other things which we are not interested in.
Is there anything else in the market that is especially geared for
mobile application developers to add the above features within their
application?
*Addition:
We are working on iOS and Android for now.
iOS
Install/Upgrade
On iOS you can use MDM API to install and upgrade apps. However, there are multiple gotchas
A user has to accept it
If the same app is preinstalled by user, you won't be able to install it/upgrade it through MDM
Wipe
You can wipe only whole device or you can remove an application which will remove it's data. However, you can remove only apps which was installed through MDM
Get access to the device for support and troubleshooting
If you are talking about remote desktop like capabilities then you are out of luck. You can't remotely control it. However, you may be interested to look at airplay mirroring.
Android
Install/Upgrade
Look at this: Android: install .apk programmatically
Install Application programmatically on Android
Wipe
You can use device admin capabilities for this: http://developer.android.com/guide/topics/admin/device-admin.html
Get access to the device for support and troubleshooting
I am not sure.
Obvious self-marketing :)
Can you contact me by email (I have it in my profile). My company does a lot of things which you are interested it. May be we can find interesting opportunity for a cooperation.
Please help me, I'm trying to find some documentation about pre-installed applications at Android.
I need to know what does it means, what permissions it has and how can I "pre-install"
my app for testing.
Thanks.
what does it means
It means applications that ship as part of the firmware build on a device.
what permissions it has
A pre-installed app has no special permissions simply by being pre-installed. An app installed on the firmware can hold signatureOrSystem permissions that otherwise would be unavailable (e.g., WRITE_SECURE_SETTINGS).
how can I "pre-install" my app for testing
You would have to build your own firmware. Light testing might be achieved by rooting your device and putting your app in the spot where pre-installed apps live (/system/app IIRC), but since most consumer devices are not rooted, your tests may be flawed.