2011-02-15 30 views
8

我遵循advice在獨立的「Java庫代碼」項目中爲我的Android應用程序實現Android設備(不是應用程序!)獨立庫代碼。這使得我的測試更加容易,因爲我可以按照習慣的方式使用標準的Maven項目佈局,Spring測試支持和Continuous Build系統。我不想在我的Android應用程序項目中混合使用,儘管這可能是可能的。登錄Android應用程序的「Java庫代碼」庫

我現在想知道如何在這個庫中實現日誌記錄。由於這個庫將用於Android設備,我想用android.util.Log去。我加入了followind依賴於我的項目獲得丟失的Android包/類和依賴:

<dependency> 
    <groupId>com.google.android</groupId> 
    <artifactId>android</artifactId> 
    <version>2.2.1</version> 
    <scope>provided</scope> 
</dependency> 

但是這個庫只包含存根方法(類似於Android的SDK裏面的android.jar),因此利用android.util.Log結果在

java.lang.RuntimeException: Stub! 

運行我的單元測試。我如何實現在Android設備上運行的日誌記錄,但不會在外面失敗(我不指望它可以工作,但它不會失敗)?

感謝您的任何意見
克勞斯


現在我用的解決方法去外面搭上Android上的異常,但希望有一個更好的解決方案。

try { 
    Log.d("me", "hello"); 
} catch (RuntimeException re) { 
    // ignore failure outside android 
} 

回答

6

從GrepCode(12)這兩個環節似乎表明,該java.util.logging的Android上代表們android.util.Log默認的處理器,所以在您的圖書館,你應該能夠只需使用java.util.logging API即可。

我找不到任何進一步的文檔對此行爲

+0

這工作得很好!在Java開發這麼多年後第一次會使用java.util.logging ...... – FrVaBe 2011-02-18 13:29:52