方式是将应用设置为内置的系统应用,注意事system/app目录下面,采用copy2SystemApp()方法就可以,注意chmod 777的权限,若是直接将apk拷贝到system/app目录,没有这个权限还是不能静默安装的. 直接贴出工具类: public class ApkController { /** * 描述: 安装 */ public static boolean install(String apkPath,Context context){ // 先判断手机是否有root权限…
这里只提供一个思路,也是咨询大神才了解到的. fota升级主要用于系统及系统应用的升级,不过貌似也会弹出提示用于用户确认.既然做到系统级别了,估计也一样可以静默安装的.…
随笔之所以叫随笔,就是太随意了,说起来,之前的闹钟系列随笔还没写完,争取在十月结束之前找时间把它给写了吧.今天要讲的Android APK的静默安装.卸载.网上关于静默卸载的教程有很多,更有说要调用隐藏API,在源码下用MM命令编译生成APK的,反正我能力有限,没一一研究过,这里选择一种我试验成功的来讲. 静默安装.卸载的好处就是你可以偷偷摸摸,干点坏事什么的,哈哈~ 一.准备工作 要实现静默安装.卸载,首先你要有root权限,能把你的静默安装.卸载程序移动到system/app目录下. 1.用…
Android开发环境的安装 1 IDE Android可以使用开发的IDE有Eclipse 或者 Android Studio.Android Studio还处于v 0.1.x版本,是early access preview.所以我还是选择Eclipse + ADT的方法开发. 其实没有什么复杂,官网已经为开发者做了一个开发环境集成包(ADT Bundle).ADT是Android Develop Tools.这个集成包包含了eclipse,SDK,SDK Manager. http://de…
Android开发环境的安装 1 IDE Android可以使用开发的IDE有Eclipse 或者 Android Studio.Android Studio还处于v 0.1.x版本,是early access preview.所以我还是选择Eclipse + ADT的方法开发. 其实没有什么复杂,官网已经为开发者做了一个开发环境集成包(ADT Bundle).ADT是Android Develop Tools.这个集成包包含了eclipse,SDK,SDK Manager. http://de…
如题:android开发 更新升级安装到一半自动闪退,,,解决办法,如下(红色为我新增的代码) /**     * 安装APK文件     */    private void installApk()    {        File apkfile = new File(mSavePath, mHashMap.get("name")); //apkfile  获取已经下载好的待安装apk文件        if (!apkfile.exists())        {       …
[Android]Android 代码判断是否获取ROOT权限 方法比较简单,直接粘贴代码 /** * 判断当前手机是否有ROOT权限 * @return */ public boolean isRoot(){ boolean bool = false; try{ if ((!new File("/system/bin/su").exists()) && (!new File("/system/xbin/su").exists())){ bool =…
[Android]Android 代码判断是否获取ROOT权限 方法比较简单,直接粘贴代码 public synchronized boolean getRootAhth() { Process process = null; DataOutputStream os = null; try { process = Runtime.getRuntime().exec("su"); os = new DataOutputStream(process.getOutputStream());…
产品需求,木有办法.android系统是跟厂商定制的,保证系统开机就运行我们的app,并且实现自己静默安装,完全自动化,无需人工操作. 网上有很多办法, 1.要么要通过android 源码拿到密钥文件,参考:http://www.cnblogs.com/brucenan/archive/2012/10/04/2711817.html 2.通过root权限,可以参考代码(已测试安装别人的apk可以,但是不能安装自己): import java.io.File; import java.io.Pri…
介绍总结的一些android公共库,包含缓存(图片缓存.预取缓存).公共View(下拉及底部加载更多ListView.底部加载更多ScrollView.滑动一页Gallery).及Android常用工具类(网络.下载.shell.文件.json等等). TrineaAndroidCommon开源地址为TrineaAndroidCommon@Github,欢迎Star或Fork^_*,示例APK地址见TrineaAndroidDemo.apk. PS:这是准备分享的三个系列之一,暂时告一段落,后续…
android开发权限授权因为版本的不同有不同的授权方式,6.0以下的版本使用的是在注册表中添加权限的静态授权(这种授权权限提示只会出现在app安装的时候),而6.0以上(包含6.0)就需要动态授权的方式. 实现思维: 1.就算是动态授权依然需要在AndroidManifest.xml里添加静态权限. 2.动态权限的数组写法与KEY. 3.判断系统版本. 4.判断权限是否获取 5.授权完成后的回调方法执行 1.在AndroidManifest.xml里添加静态权限. <manifest xmln…
使用Eclipse做Android开发,需要先在Eclipse上安装ADT(Android Development Tools)插件. 1.安装JDK 1.7 JDK官网http://www.oracle.com/technetwork/java/javase/downloads/index.html,下载JDK7软件包,我安装的是1.7.0_55版本.安装完JDK后,配置下JDK环境即可. 2.下载Eclipse Eclipse官网:http://www.eclipse.org/downloa…
1.检查是否安装JDK, 如果没安装请下载安装 JDK官网http://www.Oracle.com/technetwork/Java/javase/downloads/index.html 2.下载并安卓ADT (Eclipse+SDK) 去官网:http://developer.android.com/sdk/index.html下载adt-bundle-windows-x86-20140321.zip 这个安装包中包含了SDK和Eclipse,安装包自带的Eclipse可以直接进行Andr…
在Android开发中,如果用到数据库来储存数据,那么难免就要查看数据库中的内容,可是对于未root的真机来说,查看数据库就不是那么容易了,如果仅仅为了查看数据库再把手机root了,有点得不偿失,所以下面的就提供了一中不用root也可查看数据库的方法,供需要的朋友参考. 1. 进入adb所在的目录,打开cmd窗口,输入`adb shell` 2. 继续输入`run-as 应用的包名` 3. 然后输入 `cd databases` 4. 最后输入`ls`查看数据库的名字 截图如下: 如图,我的数据…
说明: 咱们在安装APP的时候经常会看到,类似于下面的提示 goolge为了保护用户隐私,在android 6.0开始,某些隐私权限,必须用户允许以后,内部程序方可使用 这就涉及到权限动态申请问题. 最简单的方式是直接用做好的库 implementation 'ru.alexbykov:nopermission:1.1.2'   假设申请摄像头权限和位置权限 <uses-permission android:name="android.permission.CAMERA" /&g…
问题描述: 最近在项目中遇到一个需要调用相册和打开相机的需求,但是,在Android 6.0以后,调用相册属于危险权限,需要开发者动态获取,这就意味着我们申请权限是与Activity绑定的,但如果一个App中需要多个地方请求打开相册,那我们要每个地方都要写一遍打开相册的程序吗(当然你可以Ctrl c v),但是,这对于任何一个有追求的程序员来说,都是不恰当的,所以我们要定义一个公共接口,做到在任何一个需要调用打开相册的地方随时调用,增加了代码的复用性.好记性不如烂笔头,把这个过程记录下来,let…
一.基础环境 Make sure your computer has working adb and fastboot. Setup instructions can be found here. Enable USB debugging on your device. 二.解锁bootloader adb reboot bootloader fastboot oem unlock 三.刷入Recovery 下载recoveryimg文件 sudo apt-get install adb fas…
此次安装是在Android Studio的机器上.安装Eclipse是因为目前很多Android程序是Eclipse开发的,要想快速看到运行效果就是安装Eclipse. 1.所有的资源都在:http://www.androiddevtools.cn/  .ADT的下载也可在:http://developer.android.com/sdk/installing/installing-adt.html 2.下载 ADT Bundle 23.0.2,Windows 64 位,ADT Bundle包含…
首先一个android项目,然后编译和打包,将.java文件编译为.class,.class编译为.dex,将所有文件打包为一个apk,只编译代码,不编译资源. .apk里面的.arsc是资源的索引,当资源比较多的时候,可以索引. signing-签名,系统在确认应用被覆盖之前,除了检测包名是否一致,还会检测签名是否相同.所以签名是一个公司的机密,起到版权保护的作用. 我们部署一个项目,不是把项目安装到手机上,而是先把apk安装包上传拷贝到手机上,在手机里面安装这个apk,安装成功后,自动开启这…
场景:实现自动安装apk程序 注意:不能使用 intent.setDataAndType(Uri.parse(apkPath),  "application/vnd.android.package-archive"); 看代码: /** * 打开APK程序代码 * @param apkPath */ public void openFile(String apkPath) { Toast.makeText(mContext, "开始进行安装", Toast.LENG…
偶然听说Genymotion Android模拟器非常强大,到网上了解一番后,决定从AVD又慢又卡中解脱出来,折腾了半天终于部署好了,体验了一下,果然启动快,运行流畅,现在总结一下经验教训,供大家参考. 概述:1.安装Genymotion 2.部署Genymotion Virtual Device 3.安装Genymotion eclipse插件 以下内容参照并修改了这个帖子的内容:http://bbs.sjwyb.com/thread-1203-1-1.html 安装Genymotion 先注…
1.环境准备/注意: 手机要求已经root. 首先需要配置JDK环境变量,这里主要讲解抓包,JDK环境变量配置跳过. 将包内附带的adb.zip解压到C盘根目录.  整个操作过程都需要用手机用数据线连接电脑. 点击运行,打开cmd窗口,运行cd至adb目录 然后把tcpdump程序 发布至手机上 adb push c:/tcpdump /data/local 输入命令进入手机 abc shell su 手机上出现是否信任允许控制,点信任 给发布到手机/data/local/目录下的tcpdump…
      好长时间没有再接触Android了,以至于GenyMotion出现这么久了,我还没有试用过,记得当时发布Android Studio时,当天我就开始试用了,好吧,看到GenyMotion这个东西还要归功于这篇文章:http://blog.csdn.net/chichoxian/article/details/9224793,看了这篇文章之后,才知道这个东西,才开始试用这个东西.       首先,我们需要做的第一步是去这个网站下载软件安装包:https://cloud.genymot…
在Android6.0以后,很多权限需要动态申请,只有在用户点同意后,我们才能使用对应API,因此,正确申请权限就显得很重要. 常用方式 通常我们使用这种方式来判断权限状态: private static boolean isGranted(final String permission) { return Build.VERSION.SDK_INT < Build.VERSION_CODES.M || PackageManager.PERMISSION_GRANTED == ContextCo…
1. 准备工作: 准备一台ubuntu机器,将boot.img复制到该机器上,下载必要的工具sudo apt-get install abootimggit clone https://github.com/anestisb/android-simg2img.gitcd android-simg2imgmakesudo cp simg2img /usr/bin 2. 解压缩boot镜像abootimg -x boot.imgmkdir ramdiskcd ramdiskgunzip -c ../…
http://www.runoob.com/eclipse/eclipse-install.html Eclipse 安装(Neon 版本) Eclipse 最新版本 Eclipse Neon,这个首次鼓励用户使用 Eclipse Installer 来做安装,这是一种由Eclipse Oomph提供的新技术,它通过提供一个很小的安装器来使得各种工具可以按需下载和安装. Eclipse 是基于 Java 的可扩展开发平台,所以安装 Eclipse 前你需要确保你的电脑已安装 JDK. 若你打开…
1.添加第一个插件ADT之后出现eclipse原有的SDK管理问题.需要重新安装SDK 2.一种方式按照系统提示直接联网自动搜索安装,另一种就是下载好之后import. 1.用接口声明的变量称为接口变量.实现把接口类的实例的引用赋值给接口变量后,接口变量就可以回调类重写的接口方法,由接口产生的多态就是指在不同的类实现同一个接口时可能据用不同的实现方法.那么接口变量再回调接口方法的时候就可能具有多态. public class JiKouHuiDiao { public static void m…
记录一下最普通的动态请求权限的方法: private int requestCode == 123; //判断当前系统的版本 if(Build.VERSION.SDK_INT >= 23){ int checkWriteStoragePermission = ContextCompat.checkSelfPermission(activity, Manifest.permission.READ_PHONE_STATE); //如果没有被授予 if(checkWriteStoragePermiss…
转:http://blog.csdn.net/jiankeufo/article/details/43795015 Adroid开发中,我们有时会遇到一些特殊功能的实现,有些功能并没有太高技术难度,但是如果之前没有接触过就需要花好多时间去研究解决. 今天,总结介绍一下 获取Root权限之后的静默安装和进门卸载功能的实现. 众所周知,Android的手机在获取Root权限之后几乎可以进行你想要的任何操作,而静默安装便是其中比较常见的一个需求: 豌豆荚.360手机助手等应用下载软件一般都有一个应用一…
一.通过Intent消息机制发送消息,调用系统应用进行,实现apk的安装/卸载 . (1) 调用系统的安装应用,让系统自动进行apk的安装 String fileName = "/data/data/com.zlc.ipanel.operate/FileOperate.apk";  Uri uri = Uri.fromFile(new File(fileName));  Intent intent = new Intent(Intent.ACTION_VIEW);  intent.se…