当识别SDCard的时候 String filePath = null; String state = Environment.getExternalStorageState(); if (state.equalsIgnoreCase(Environment.MEDIA_MOUNTED)) {//当SDCard挂载时 }else{//当SDCard没有挂载时 } 如果没有就下到了/data/data/app_file/目录下面去了,但安装涉及到权限问题: try { Process p = Ru…
某些情况下定制的Android系统为了限制用户安装应用,例如电视盒子,车载中控等,通过修改代码屏蔽了正常安装应用的方式 本文探讨如何在 adb shell 具有读写data分区目录的权限前提下,通过adb push 拷贝方式绕过Android系统和adb install直接安装apk到Android系统,适用于对Android系统和adb指令操作有一定基础的读者 测试环境: 夜神模拟器(Android5.1)测试应用: QQ音乐车机版 爱奇艺音乐 爱奇艺Android版 前置条件: adb sh…
项目更新遇到问题   Android项目开发中经常遇到下载更新的需求,以前调用系统安装器执行安装操作代码如下: Intent intent = new Intent(); intent.setAction(android.content.Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(path)), "application/vnd.android.package-archive"); context.s…
欢迎各位增加我的Android开发群[257053751​] 假设你还不知道什么叫插件化开发.那么你应该先读一读之前写的这篇博客:Android插件化开发,初入殿堂 上一篇博客主要从总体角度分析了一下Android插件化开发的几个难点与动态载入没有被安装的apk中的Activity和资源的方法.事实上一般的插件开发主要也就是载入个Activity.读取一些资源图片之类的.可是总有遇到特殊情况的时候,比方载入Service. 要动态载入Service,有两种思路:一是通过NDK的形式.将Servi…
在android4.0源码里面编译出来apk后,用adb install (或adb install -r 重装)安装时,报错[INSTALL_FAILED_DEXOPT]. xu@xu-PC:~$ adb install workspace/out/target/product/generic/system/app/xxx.apk 2820 KB/s (225970 bytes in 0.078s)     pkg: /data/local/tmp/xxx.apk Failure [INSTA…
安装: ? 1 2 3 4 5 String str = "/CanavaCancel.apk"; String fileName = Environment.getExternalStorageDirectory() + str; Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.an…
众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下 PackageManager packageManager = this.getPackageManager(); List<PackageInfo> packageInfoList = packageManager.getInstalledPackages(0); 通过以上方法,可以得到手机中安装的所有应用程序,既包括了手动安装的apk包的信息,也包括了系统预装的应用软件的信息,要区分这两类软件可…
首先看一下安装apk文件的代码 /** * 通过隐式意图调用系统安装程序安装APK */ public static void install(Context context) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setDataAndType(Uri.fromFile( new File(Environment.getExt…
废话不说,上代码 private void install(String filePath) { Log.i(TAG, "开始执行安装: " + filePath); File apkFile = new File(filePath); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); if (Build.VERSION.SDK_INT >…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 一个获取设备的系统版本号.设备的型号.应用版本号code值.应用版本号name值.包名.是否更新.安装apk的工具类. 其实这个工具类的主要功能是安装apk方法,所以需要搭配<Android6.0运行时权限(基于RxPermission开源库)>.<AppDir[创建缓存目录]>[这个是用来存放下载的apk文件的,可以不用]. 下载apk的过程没有使用网路请求,而是通过模拟的方式:其实就是从assets目录复制ap…
此文已由作者尹彬彬授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 0X0 前言 在Android系统中,当我们安装apk文件的时候,lib目录下的so文件会被解压到app的原生库目录,一般来说是放到/data/data/<package-name>/lib目录下,而根据系统和CPU架构的不同,其拷贝策略也是不一样的,在我们测试过程中发现不正确地配置了so文件,比如某些app使用第三方的so时,只配置了其中某一种CPU架构的so,可能会造成app在某些机型上的适配问题.…
system/app系统自带的应用程序,无法删除.data/app用户程序安装的目录,有删除权限.安装时把apk文件复制到此目录.data/data存放应用程序的数据…
打开logcat和和file Explorer Tools-->Android-->Android Device Monitor 如果右侧没有出现,Windows-->Show View 选中想要出现的东西,点击ok 模拟器的/data/目录不能显示的解决办法 当我们在Android studio中打开Android Device Monitor时,发现data目录不能打开 在Android studio的sdk目录中找到platform-tools目录,在这个目录下同时按住shift和…
在Android中,访问data目录一般需要root权限,但是有个另外那就是/data/local/tmp目录. 注意: (1)cd  /data/local/tmp可以打开这个目录,而不是一级一级目录的打开 (2)修改该目录下的文件属性,chmod 777 /data/local/tmp/xxx,这个是可以赋予权限的. adb shell mkdir -p /data/local/tmp/ adb push android_server /data/local/tmp/ adb shell c…
一.背景 二.步骤 一.背景 很多时候,APK文件只存在于应用市场,在PC上无法直接下载.用手机下载下来后就直接安装了,也不能保存原始的APK文件. APK安装到手机后,Android系统会保存一份和原始APK一模一样的拷贝,位于data/app目录,文件名为“APK的包名-1.apk”或者“APK的包名-2.apk”.这里的包名即 package name,形如 com.xxx.xxx. data/app这个目录在非root的情况下,是无法直接查看的.但幸运的是,这个目录下所有的APK文件,是…
StackOverflow: http://stackoverflow.com/questions/38200282/android-os-fileuriexposedexception-file-storage-emulated-0-test-txt-exposed 1.在AndroidMainifest.xml文件中添加: <provider android:name="android.support.v4.content.FileProvider" android:auth…
记录一个 DELETE_FAILED_INTERNAL_ERROR Error while Installing APK问题 之前遇到这个问题 方案1 将data/data/目录下该应用的包名的目录删除掉,如:adb shell rm -rf data/data/com.demo.helloworld/ 然后重启下手机就好了 或者把Instant Run关掉就可以了 新版本Android Studio运行APK时,出现DELETE_FAILED_INTERNAL_ERROR, Error whi…
有两种方式可以在android模拟器或真机上使用命令行安装apk 一种是使用adb install命令,网上通常是这种方式 另一种是通过android提供的命令,pm install. 需要先进入android命令行:adb shell 然后执行对应pm命令. pm命令的说明,转载另一篇博客:Android下pm 命令详解 具体内容摘录如下,以便以后查看: 0. Usage: usage: pm [list|path|install|uninstall]        pm list packa…
今天调试一个android应用的时候,安装报了Installation error: INSTALL_FAILED_UPDATE_INCOMPATIBLE错误,代码如下: [2015-12-28 15:54:31 - MainActivity] ------------------------------ [2015-12-28 15:54:31 - MainActivity] Android Launch! [2015-12-28 15:54:31 - MainActivity] adb is…
我们在开发app时避免不了需要添加应用内升级功能.当app启动时,如果检测到最新版本,将apk安装包从服务器下载下来,执行安装.安装apk的代码一般写法如下,网上随处可以搜到 public static void installApk(Context context, File file) { Intent intent = new Intent(Intent.ACTION_VIEW); Uri data = Uri.fromFile(file); intent.setDataAndType(d…
ADB很强大,记住一些ADB命令有助于提高工作效率. 获取序列号: adb get-serialno 查看连接计算机的设备: adb devices 重启机器: adb reboot 重启到bootloader,即刷机模式: adb reboot bootloader 重启到recovery,即恢复模式: adb reboot recovery 查看log: adb logcat 终止adb服务进程: adb kill-server 重启adb服务进程: adb start-server 获取机…
Android DDMS 连接真机(己ROOT),用file explore看不到data/data文件夹,问题在于data文件夹没有权限,用360手机助手或豌豆荚也是看不见的. 有以下两种解决方法: 方法一:使用adb shell命令 注:android下的shell是不完整的,不能用-R参数,即使su到root帐号也执行不了.效果如下: 所以只能一个一个文件夹去设置权限.打开cmd控制台,依次执行以下命令: 1 2 3 4 adb shell su chmod 777 /data chmod…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 封装了以下功能: 1.读取assets目录下的资源html.文件.图片,将文件复制到SD卡目录中: 2.读取res/raw目录下的文件内容: 3.读写./data/data/包名/下的文件: 效果图 代码分析 最常用的方法:getStringFromAssert(Context mContext, String assetsFilePath)[读取assets目录中的文件字符串] 使用步骤 一.项目组织结构图 注意事项: 1. …
1.AndroidStudio 点击Run 'app'. 2.点击Run 'app'就会将所有.class文件用SDK工具集处理成.dex, 用SDK工具集将图片/资源/布局文件/AndroidManifest等等/dex文件,最后全部统一打包成.apk文件. 3.将打包好的xxx.apk文件,推送到Device中,并启动安装程序去执行安装. 4.释放xxx.apk文件目录到/data/data/项目的唯一包名packageName (现在知道为什么包名必须唯一了吧). 5.文件资源释放成功后,…
最近鼓捣android,碰到个问题,因为没有root权限,需要调用Intent安装apk,但需要获取用户是否安装了(如,用户点击了返回或取消),查了很多文章,最后可以解决,但有瑕疵,解决方法如下: public static void installPackage(Context context, File file, int requestCode) { // 安装之前先记录预安装APK文件的名字,以用于返回结果时根据requestCode获取安装的apk packageName MainAc…
拥有Root权限的情况 adb shell su cd  /data/data/com.package 然后就可以直接读取 没有Root的情况 adb shell run-as com.package cd /data/data/com.package com.package 其中为自己的包名 adb 在android sdk中得platform-tools目录下 adb shell pm list packages | grep com.jinyi 经测试,已经失效,无法正常使用…
分析:Android默认是无法直接操作/data目录的,只能读写程序自己的私有目录,也就是/data/data/package name/下,默认只能操作这个目录下的文件,也就是我们想直接读写/data是做不到的. 但是只要我们修改了/data目录下的目标文件的权限就可以进行操作了.   example:在/data/sibon/var目录下创建一个dir.ip文件,将输入的数据存储到dir.ip文件中. 1,修改权限(目标文件夹) initChmod("chmod 777 /data/sibo…
Libgdx实现异步加载网络图片并保存到SD卡或者data/data目录下边,当本地有图片的时候,直接从本地读取图片,如果本地没有图片,将从服务器异步加载图片 package com.example.libgdx_net; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja…
1.一个简单登录界面布局代码如下: @1采用线性布局加相对布局方式 @2线性布局采用垂直排列 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"…
1,首先需要将MySql.Data.dll复制到codesmith安装目录下bin文件夹下,注意dll的版本 2,其次因为codesmith7采用的是.net4.0的配置文件,(64位系统)找到C:\Windows\Microsoft.Net\Framework64\v4.0.30319\Config\machine.config 在其中的DbProviderFactories节点下添加 <remove invariant="MySql.Data.MySqlClient" /&g…