文档章节

Android应用程序的debug属性

Jonson
 Jonson
发布于 2014/12/22 16:19
字数 506
阅读 25
收藏 0

Android应用程序的debug属性            

       分类:            Android调试            2013-03-20 20:13    8037人阅读    评论(0)    收藏    举报    

本文参照:http://blog.csdn.net/fyh2003/article/details/6861981

在开发Android应用程序时,我们可以在AndroidManifest.xml中设置其debug属性,比如示例1

示例1

    <application        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme"         android:debuggable="true">

只有android:debuggable="true"时我们才可以在手机上调试Android程序。

但是当我们没在AndroidManifest.xml中设置其debug属性时:

使用Eclipse运行这种方式打包时其debug属性为true,使用Eclipse导出这种方式打包时其debug属性为法false.

在使用ant打包时,其值就取决于ant的打包参数是release还是debug.


 因此在AndroidMainifest.xml中最好设置android:debuggable属性置,而是由打包方式来决定其值。。

  当然对于测试人员还是应该检查该属性的,比如使用aapt工具

  aapt list -v -a myfile.apk

 这个命令将会打印和apk相关的所有详细信息,找到“android:debuggable",它的值分为:

  0x0: debuggable false

  0xffffffff: debugabble true

  例如,在我的测试中,这一行的信息是:

 A: android ebuggable(0x0101000f)=(type 0x12)0x0

 这说明我的Release Build已经关闭了debuggable!

 另外,还有一种测试方法:

  使用android cts测试,http://source.android.com/compatibility/cts-intro.html

  这是一种单元测试的方法,具体用到的类是android.permission.cts.DebuggableTest。

  testNoDebuggable:如果是true,说明debuggable false;

  testNoDebuggable:如果是false,说明debuggable true。

当然,我们也可以在Android应用程序中来判断当前应用是否处于debug状态来做一些操作,如示例2

示例2

    public static boolean isApkDebugable(Context context) {        try {            ApplicationInfo info= context.getApplicationInfo();                return (info.flags&ApplicationInfo.FLAG_DEBUGGABLE)!=0;        } catch (Exception e) {                    }        return false;    }

另外,我们也可以在Android应用程序中来判断当前其他应用程序是否处于debug状态,如示例3

示例3

    public static boolean isApkDebugable(Context context,String packageName) {        try {            PackageInfo pkginfo = context.getPackageManager().getPackageInfo(                    packageName, 1);            if (pkginfo != null ) {                ApplicationInfo info= pkginfo.applicationInfo;                return (info.flags&ApplicationInfo.FLAG_DEBUGGABLE)!=0;            }                    } catch (Exception e) {                    }        return false;    }

结束!


本文转载自:http://blog.csdn.net/hudashi/article/details/8698142

共有 人打赏支持
Jonson
粉丝 21
博文 131
码字总数 17942
作品 0
肇庆
私信 提问
Android 开发人员必须掌握的 10 个开发工具

Android SDK 本身包含很多帮助开发人员设计、开发、测试和发布 Android 应用的工具,在本文中,我们将讨论 10 个最常用的工具。 #1: Eclipse ADT Eclipse ADT 是 Eclipse 平台下用来开发 An...

红薯
2011/04/29
82.8K
21
开发人员必读,安卓开发工具知多少

安卓开发过程中需要用到各种工具,于是作为一名安卓开发人员,那么多工具,各种亚历山大啊,于是今天就给大家汇总了一下安卓开发工具,哪些是安卓开发中必须要用到。 1、Draw 9-Patch 这个九...

flyurt
2015/10/30
306
0
简单的安卓应用授权认证(JNI)

最近一直在做公司的一个安卓开发框架,含so库,接近尾声了,领导提出一个需求,要求使用这个框架的开发者必须有我们的授权才可以,但是对方发布的应用后又不能被此授权限制——要不然所有的应...

tnjin
2014/11/09
0
2
【android测试】值得学习的android测试知识连接

Android应用程序的debug属性: http://blog.csdn.net/hudashi/article/details/8698142 彻底解决Android 应用方法数不能超过65535的问题 http://blog.csdn.net/yuanzeyao/article/details/418......

beijing_zbs
2014/12/02
0
0
编写最简单的android谷歌地图应用

文章转自:http://marshal.easymorse.com/archives/2512 有多简单呢?看,只是显示了一下地图而已: 想编写android谷歌地图应用,准备工作比编写其他应用要麻烦一些。因为: android谷歌地图...

无鸯
2011/09/07
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 有一天考拉麻麻拉肚子了

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @瘟神灬念 :分享周汇洋的单曲《Man Srae(曼斯拉之舞)》:美滋滋。。。。 手机党少年们想听歌,请使劲儿戳(这里) 我听了一下 赶紧关了, ...

小小编辑
36分钟前
9
3
oh-my-zsh 自定义

GitHub 地址 基于 oh-my-zsh 的自定义配置,增加了一些个人常用插件与皮肤。 采用的是 git submodule 来维护,包括 oh-my-zsh,之所以这么搞,主要是手头有多台 linux 需要维护, 每台机器、...

郁也风
今天
6
0
Docker安装踩坑:E_FAIL 0x80004005的解决

参考 菜鸟教程--Windows Docker 安装 http://www.runoob.com/docker/windows-docker-install.html 官方文档-Install Docker Toolbox on Windows https://docs.docker.com/toolbox/toolbox_in......

karma123
今天
6
0
js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“...

Jack088
昨天
18
0
大数据教程(10.1)倒排索引建立

前面博主介绍了sql中join功能的大数据实现,本节将继续为小伙伴们分享倒排索引的建立。 一、需求 在很多项目中,我们需要对我们的文档建立索引(如:论坛帖子);我们需要记录某个词在各个文...

em_aaron
昨天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部