很多情况下,我们需要通过APK文件来得到它的一些信息. (此时此APK不一定被安装了) 0. 基础知识:可以通过android.content.Context的方法 getPackageManager()得到一个PackageManager实例.PackageManager有一个方法:PackageInfo getPackageArchiveInfo (String archiveFilePath, int flags):其中参数一:archiveFilePath.就是指一个APK文件绝对路径.…
站在巨人的肩膀上写博客: http://blog.csdn.net/wulianghuan/article/details/18400581 http://www.jb51.net/article/79894.htm 1.获取APK的签名信息 方法一: private String showUninstallAPKSignatures(String apkPath) { String PATH_PackageParser = "android.content.pm.PackageParser&q…
最近做项目发现Android 8.0+ 更新安装apk时 出现安装失败的情况  总结原因是 缺少安装的权限 Android 8.0 (Android O)为了针对一些流氓软件引导用户安装其他无关应用.在应用权限设置的“特殊访问权限”中,加入了“安装其他应用”的设置. 简单的方法  可以直接在Manifest.xml中加入下面的权限:(亲测可用) <uses-permissionandroid:name="android.permission.REQUEST_INSTALL_PACKAGES…
前言 近期做换肤功能,由于换肤程度较高,受限于平台本身,实现起来较复杂,暂时搁置了该功能,但也积累了一些经验,将分两篇文章来写这部分的内容,欢迎交流! 关键字:Android动态加载 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com Android中文Wiki:http://wikidroid.sinaapp.com 正文 一.前提 目的:动态加载SD卡中Apk的类. 注意:被加载的A…
一.前提 目的:动态加载SD卡中Apk的类. 注意:被加载的APK是未安装的. 相关:本文是本博另外一篇文章:Android动态加载jar/dex的升级版. 截图: 成功截图: 二.准备 准备被调用Android工程:TestB ITest public interface ITest {     String getMoney(); } TestBActivity public class TestBActivity extends Activity implements ITest {   …
1.错误描述 今天用Android Studio编译应用后安装APK的时候,报错了,错误如下所示: The APK file build\outputs\apk\OYP_2.3.4_I2Base_6476_official_debug.apk does not exist on disk. Error while Installing APK 如下图所示 2.解决方法 1.尝试了Build -> Clean Project再编译,还是无效 2.尝试重启Android Studio无效 然后我去打…
废话不说,上代码 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 >…
我大天朝的安卓手机只能在一个被阉割的APP市场里玩耍,有些APP可能需要直接安装APK文件.APK 是 Android Package (安卓安装包)安卓手机如何安装APK呢? 在电脑上下载安装APK Installer for PC 打开手机USB调试模式,依次点设置-->开发人员选项-->USB调试,见下图 用USB数据线,将手机连上电脑. 在电脑上安装安卓USB驱动.点击查看各品牌安卓USB驱动下载地址.如果你的手机不在以上列表,请自行搜索,比如可以搜索小米的USB驱动 将APP的APK…
用eclipse调试应用时,遇到了这个问题,网上给出的解决方案倒是挺多,但似乎一个都没奏效,而且我手机也重启了,还是有问题,郁闷ing-   然后看到一篇文章指出,可能不是签名和SD的卡问题,而是我们自己的AndroidManifest.xml有问题,然后我想了想,刚刚我似乎只改了这个,然后svn还原,一切正常了-   太吐血了,折腾一上午了- -!   参考: 关于android开发出现"你的手机上未安装应用程序"问题…
一般一个安卓的产品在出厂时,会预安装许多APK,关于这些APP,主要分为下面这几类 1.系统级别APK 这一类应用一般是:电话/设置或者厂家自己特定的应用. 2.系统预安装APK 因为商业原因,产品出厂会安装一些应用,比如:xx地图.xx应用管理等软件. 另外除了这两个类型外,还有一种是出厂测试的APK,这些APK会在工厂中提供给工人使用,只会在升级后第一次上电是存在,工人做完了一些基本的测试后,重新上电,就会将这一个类型的APK给删除掉. 预安装APK的原理 一般在init.rc中,会启动一个…
很多情况下,我们需要通过APK文件来得到它的一些信息. (此时此APK不一定被安装了) 0. 基础知识:可以通过android.content.Context的方法 getPackageManager()得到一个PackageManager实例.PackageManager有一个方法:PackageInfo getPackageArchiveInfo (String archiveFilePath, int flags):其中参数一:archiveFilePath.就是指一个APK文件绝对路径.…
欢迎各位增加我的Android开发群[257053751​] 假设你还不知道什么叫插件化开发.那么你应该先读一读之前写的这篇博客:Android插件化开发,初入殿堂 上一篇博客主要从总体角度分析了一下Android插件化开发的几个难点与动态载入没有被安装的apk中的Activity和资源的方法.事实上一般的插件开发主要也就是载入个Activity.读取一些资源图片之类的.可是总有遇到特殊情况的时候,比方载入Service. 要动态载入Service,有两种思路:一是通过NDK的形式.将Servi…
众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下 PackageManager packageManager = this.getPackageManager(); List<PackageInfo> packageInfoList = packageManager.getInstalledPackages(0); 通过以上方法,可以得到手机中安装的所有应用程序,既包括了手动安装的apk包的信息,也包括了系统预装的应用软件的信息,要区分这两类软件可…
在上一篇blog中,谈到如何利用APK archive文件得到相应信息.(当时发现例如ProcessName,DataDir等信息,其实是无法得到的). 当前咱们看看如何通过系统取得已经安装的Application的相关信息. 0.基础知识:PackageManager class有一个方法:public abstract ApplicationInfo getApplicationInfo (String packageName, int flags)它向系统查询包名为:PackageName…
众所周知,通过PackageManager可以获取手机端已安装的apk文件的信息,具体代码如下: PackageManager packageManager = this.getPackageManager(); List<PackageInfo> packageInfoList = packageManager.getInstalledPackages(0); 通过以上方法,可以得到手机中安装的所有应用程序,既包括了手动安装的apk包的信息,也包括了系统预装的应用软件的信息,要区分这两类软件…
需求描述: 利用android系统自带的DownloadManager下载apk文件,并且打开安装界面. 问题描述: 关于DownloadManager的使用网上有很多例子,在此不啰嗦.下载完成之后在android6.0(api=23)环境下打开安装界面出现闪退(确认已经在AndroidManifest.xml文件中配置配置权限).在Android4.4(api=19) 环境下正常.因为只有两台android手机,没有尝试android6.0之前的其他系统.使用代码如下: public stat…
刚开始玩 Android ,用Android studio  连接真机做测试,在虚拟机上没有问题,但是真机就会报错 检查了好多地方,最终发现了问题,网上的常规就不介绍了,大家自己去看别的帖子 手机方面 1.打开usb调试 2.打开usb安全调试 3.打开usb安装(允许通过usb安装程序),我是这一步出的问题,打开usb安装就会弹出安装调试程序,安装后就可以了 Android studio 1.打开Run/Debug Configurations  ,在Target 中选择usb Device…
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.文件资源释放成功后,…
方法一:进入adb的tools目录,下面有adb.exe如图, 在cmd下进入tools目录,然后输入adb install apk路径,就行了 方法二:直接写一个批处理文件 运行就行了.…
环境 centos 7 安装依赖包 yum install -y gcc gcc-c++ glibc glibc-devel pcre pcre-devel zlib zlib-devel openssl openssl-devel \unzip psmisc bash-completion libxml2 libxml2-devel libxslt libxslt-devel perl perl-ExtUtils-Embed 下载源码包 mkdir /usr/local/srccd /usr/…
需要做两处设置: 1.android8.0要加一条权限: <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/> 2.设置Secure File Sharing: 在Secure File Sharing上打勾,如下图. 遇到Secure File Sharing勾选后,丢失的现象,这个要注意,我遇到后,查了好几个小时才发现,浪费生命!…
首先引入一个概念,动态加载技术是什么?为什么要引入动态加载?它有什么好处呢?首先要明白这几个问题,我们先从 应用程序入手,大家都知道在Android App中,一个应用程序dex文件的方法数最大不能超过65536个,否则,你的app 将出异常了,那么如果越大的项目那肯定超过了,像美团.支付宝等都是使用动态加载技术,支付宝在去年的一个技 术分享类会议上就推崇让应用程序插件化,而美团也公布了他们的解决方案:Dex自动拆包和动态加载技术.所以使 用动态加载技术解决此类问题.而它的优点可以让应用程序实现…
首先引入一个概念,动态载入技术是什么?为什么要引入动态载入?它有什么优点呢?首先要明确这几个问题.我们先从 应用程序入手,大家都知道在Android App中.一个应用程序dex文件的方法数最大不能超过65536个.否则,你的app 将出异常了,那么假设越大的项目那肯定超过了,像美团.支付宝等都是使用动态载入技术.支付宝在去年的一个技 术分享类会议上就推崇让应用程序插件化,而美团也发布了他们的解决方式:Dex自己主动拆包和动态载入技术. 所以使 用动态载入技术解决此类问题. 而它的长处能够让应用…
此文已由作者尹彬彬授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 0X0 前言 在Android系统中,当我们安装apk文件的时候,lib目录下的so文件会被解压到app的原生库目录,一般来说是放到/data/data/<package-name>/lib目录下,而根据系统和CPU架构的不同,其拷贝策略也是不一样的,在我们测试过程中发现不正确地配置了so文件,比如某些app使用第三方的so时,只配置了其中某一种CPU架构的so,可能会造成app在某些机型上的适配问题.…
原文:http://www.cnblogs.com/delphi007/p/3346084.html android下stringgrid已知问题: 通过点击时获取对应行的值有问题,在win下调试正常,在android下出现定位不准 二.客户端开发 1,新建工程 2,添加相关客户端控件TRtcHttpClient,TRtcClientModule,TRtcResult(2个) 3,设置相关属性TRtcHttpClient的服务器地址,端口,TRtcClientModule的client设置,以及…
android下stringgrid已知问题: 通过点击时获取对应行的值有问题,在win下调试正常,在android下出现定位不准 二.客户端开发 1,新建工程 2,添加相关客户端控件TRtcHttpClient,TRtcClientModule,TRtcResult(2个) 3,设置相关属性TRtcHttpClient的服务器地址,端口,TRtcClientModule的client设置,以及一个modulefilename 4,编写TRtcResult代码 select的TRtcResult…
/********************2016年4月23日更新********************************/ 知乎:有什么apk分析工具? 拿到了一个apk文件,怀疑不安全,在安装到手机之前,想分析下这个apk有没有恶意行为,或者,反汇编这个文件,求指教应该用什么分析工具?如果可以,最好可以附上可靠的下载链接. 李洋: android-apktool 可以把你apk里面的classes.dex转换为jar格式,然后可以使用Java Decompiler 打开这个jar文件…
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的基础知识拿出来复习复习,今天主题是<获取未安装的APK图标.版本号.包名.名称.是否安装.跳转安装.打开> 一.获取APK图标 通常读取APK的图标能够用,PackageManager里面的getApplicationIcon(ApplicationInfo)来得到一个drawable.但实际使用的时候常常仅仅能得到一个默认的图标.根本不是APK的图标. 參考小米开源文件管理器,结合实践,代码例如以下: /* * 採用了新的办法获取APK图标.之前的失败是由于a…
一.背景 二.步骤 一.背景 很多时候,APK文件只存在于应用市场,在PC上无法直接下载.用手机下载下来后就直接安装了,也不能保存原始的APK文件. APK安装到手机后,Android系统会保存一份和原始APK一模一样的拷贝,位于data/app目录,文件名为“APK的包名-1.apk”或者“APK的包名-2.apk”.这里的包名即 package name,形如 com.xxx.xxx. data/app这个目录在非root的情况下,是无法直接查看的.但幸运的是,这个目录下所有的APK文件,是…