判斷Android應用程式的是否為debug

2021-06-29 16:36:09 字數 1119 閱讀 2145

在開發android應用程式時,我們可以在androidmanifest.xml中設定其debug屬性

示例1android:icon="@drawable/ic_launcher"

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

0x0: debuggable false

0xffffffff: debugabble true

例如,在我的測試中,這一行的資訊是:

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

這說明我的release build已經關閉了debuggable!

另外,還有一種測試方法:

使用android cts測試,

這是一種單元測試的方法,具體用到的類是android.permission.cts.debuggabletest。

testnodebuggable:如果是true,說明debuggable false;

testnodebuggable:如果是false,說明debuggable true。

另外,我們也可以在android應用程式中來判斷當前其他應用程式是否處於debug狀態,

public static boolean isapkdebugable(context context,string packagename)

} catch (exception e)

return false;

}

Android應用程式簽名

android系統要求所有的程式經過數字簽名才能安裝,如果沒有可用的數字簽名,系統將不許安裝執行此程式,不管是模擬器還是真實手機。因此,在裝置或者是模擬器上執行除錯程式之前,必須為應用程式設定數字簽名。android 系統僅僅會在安裝的時候測試簽名證書的有效期,如果應用程式的簽名是在安裝之後才到期,...

android 應用程式框架

在進行android軟體開發時,開發者所開發的android應用程式都是通過應用程式框架來與android底層進行互動的,所以開發中接觸到最多的部分就是應用程式框架。在整合應用程式框架 中有4個重要的元件,介紹如下。activities 乙個activities就表示乙個程式的顯示介面,在乙個應用程...

Android 應用程式架構

android應用程式架構 1 可擴充套件檢視 view 建立應用程式 2 內容管理器 content providers 訪問其他應用程式資料 共享自身資料 3 資源管理器 resource manager 提供非 資源訪問,本地字串 分層檔案 4 通知管理器 notification manag...