2014-07-07 30 views
0

我正在實現一個需要訪問'hidden'android API的功能。我知道我可以使用Java反射,但我有一個編譯的自定義的Android jar與少數選定的類不再包含'隱藏'字段,它允許我訪問'私人'android API的某些部分。在Android Gradle中訂購庫

由於我需要使用'gradle'來構建我的項目(我的老師的要求),我偶然發現了某個問題。

目前,我有一個jar: Android的custom.jar - >只包含「android.telephony.SmsMessage」

在Eclipse中我可以改變從中提取的依賴庫的順序,但在Gradle看來,第一個用於依賴發現的庫是從Android-sdk獲取的。

我想要做的是使用我的android-custom.jar在Android-sdk之上,同時在運行時排除它們兩者(Android.jar或我的Android-custom.jar都不會附加到到我的apk,所以我的apk會在Android.jar設備上使用)。

這可能嗎?

回答

1

這個固定我的問題

allprojects { 
    gradle.projectsEvaluated { 
     tasks.withType(JavaCompile) {    
      options.compilerArgs << '-Xbootclasspath/p:/home/open-android.jar' 
     } 
    } 
} 
0

您可能需要重寫包含自定義庫順序的自己的compileDebugJava/compileReleaseJava任務。請參閱here以獲取同一主題上的真正舊帖子,無需Android。

+0

我有類似的想法,但我得到這樣的:與已存在同名的任務:無法添加任務「compileDebugJava」 – Cativail