How do I build my apk as a system app on Windows? - java

I have seen many guides online for how to do this, but they are all assuming a linux environment. I am developing using Android Studio on Windows, and am having trouble following these guides. Specifically, I do not know where to find the platform.pk8 and platform.x509​.pem files required for making my keys. The guides all say they are located in build/target/product/security, but I assume this is the corresponding linux directory. Where can I find these files on my windows device?

To have a system app in Android OS you need to sign your APK by the same key which the OS is signed. These key in the Android open source project can find in
build/target/product/security
But each company has got its own key and you cannot access to those key!
You can build your own Android image and load it your own development bard which probably is not easy. Then you have a system key. you can find useful information here
But the main reason if being a system app is to have the privileges of a system app.
What are those privileges? granting all permission and have access to the restricted area and secure setting for example.
So there is another possible way to be a system app.
If you can push(copy) your APK to /system/priv-app/ folder, then Android will grant all system privileges to your app automatically. (to all application in /system/priv-app/ folder not just to your app) .
How you can push your file into /system/priv-app/?
When you have Android Studio probably you can run adb. you can find some information here
You can connect to your android device using adb and through your local network
adb connect deviceip:port
port by default is 5555 and you don't have normal type it.
For connecting to an Android device the device should in developer option. you can find some useful information here
when you connected to your device you check if your device is rooted and the system folder is mountable or not.
/System/ folder is protected by AVB and furthermore, you need to be a root user, so you use the following command
adb root
adb remount
if your device is rooted you can easily push your APK to system folder and have all privileges of a system app.
adb push <yourPackagePath> /system/priv-app/youtPackage/yourPackage.apk
if your device is not rooted you should search for how you can root your device

Related

Open an Android app from a directory on sdcard

I have a client that uses android devices with a kiosk mode. They have a kiosk mode manager that only allows apps they add to it to be opened. I was informed the kiosk manager opens apps from the Android/data directory on the device (from one of the com.google.x type directories). I've been attempting to have on of those directories created by this app so they can launch it from their kiosk manager, but haven't had much luck. I can see the directory I'm looking for in the Device File Manager under data/data/com.x and data/app/com.x, but is there a way for me to get those files to be located under sdcard instead of data? The app also doesn't give me an option to manually move it to external storage, so I'm not sure if that's part of the problem. The devices are running Android 8.1.0 and the app just sends user input data to a server on the network.
Essentially, they want to be able to view the app files from the device and also open the app from a directory on the sdcard (sdcard/Android/data/x).
I have tried adding android:installLocation="preferExternal" in hopes of being able to see the app files on the sdcard where they requested it, but it has not made a difference.
Thanks for any help!

Uninstall app from android device without permission

I developped launcher for an android MDM system. I control this mdm system with Api, so I need help to know how can uninstall/install app into device that use this mdm system in background and without the installer permission.
I also need to delete the apk file from android device storage after the install.
How can I do this programmatically in java?
Any one have solution?
For security purpose without the installer permission we cant install/unistall application in android.
It may require device rooted & make your app system. Read this for reference.
Note: this is not recomended if you want publish your app to playstore

Installing Teamviewer silently on android device from a remote location using java

I want to install the TeamViewer software automatically on client's android device remotely using java. I have researched about a number of third party tools for automatic installation of software but the problem is that each one of them needs user interaction/permission in one or the other way.
In my app I will disable the touch of the device after the user logs in and an animation will be displayed based on the real time data from the server. I want to install the software assuming that no user is present at the other end and no response should be needed to install teamviewer.(My app will not there be on Google play.)
I am very new to android development, but through my research I found that .exe file can not be installed on Android as its a Linux based OS.I was planning to keep the Application(.exe) file at server and then try to install it issuing some adb command from my code.
Can someone please tell me how is it possible? How should I proceed? Please help.
Thanks in advance for any help.
There are two way for installing an App on an Android device:
Via ADB. This requires Debugging to be enabled on the device, and the computer the Java program is executed on requires an USB connection to the device (and proper USB drivers) and the device must be "ADB-paired" with the computer if the device has at least Android 4.2. Furthermore you need ADB which is part of the Android SDK and therefore not present on a regular PC. You could ship a version of ADB with your program but ADB is platform specific (Windows, OSX, Linux, ..) therefore you would have to include multiple versions and select on.
Vis Google Play. Once the user is logged-in any app from the play store can be installed to the users's device via web interface. As the Google log-in credentials are required a user must be present to enter them.
Conclusion: What you want is nearly impossible, especially the "without user interaction" part.
You can't install a app from other app without user interactions, that would a big security problem.
The one app that can it is Google Play for obvious reasons.

Changing the UID of a system app

I know that we can get the UID of a system app using ApplicationInfo().uid(). But can I set the UID of my app to what that function returns?
I need to do this because I am attempting to copy a shared_pref file belonging to a target system app to a location on the sdcard. Btw, my device is rooted.
More details on my problem at Error in Copying file of a system app into another location.
You can run shell commands as root using the "su" program which is installed when rooting. There is no way to do it directly with the Android SDK.
http://www.stealthcopter.com/blog/2010/01/android-requesting-root-access-in-your-app/

How to obtain admin rights android app

I'm developing an app for only one run, it picks some files and when this process is finnished I would like uninstall the app automactlly.
I was reading about that and without admin rights is not possible.
How can I obtain this admin Rights?
It's possible download an admin rights app from PLay Store?
Greetens
I was reading about that and without admin rights is not possible.
You would need to have root privileges to "uninstall the app automactlly".
How can I obtain this admin Rights?
You are welcome to try to root your device. This is off-topic for StackOverflow. But, there are many sites on the Internet, and one may have instructions for rooting your particular device. Of course, it would be simpler for you to just uninstall the app from your device manually.

Categories

Resources