我实施的功能需要访问“隐藏”功能。 android API。我知道我可以使用Java反射,但我有一个编译的自定义安卓jar,几个选定的类不再包含'隐藏'字段,允许我访问私人'的某些部分。 android API。
由于我需要使用' gradle'为了建立我的项目(我的老师的要求),我偶然发现了一个问题。
目前我有一个罐子: android-custom.jar - >其中只包含" android.telephony.SmsMessage"
在Eclipse中,我可以更改从中获取依赖项的库的顺序,但在Gradle中,似乎第一个依赖项发现库来自Android-sdk。
我想要做的是在Android-sdk上使用我的android-custom.jar,同时在运行时排除它们(Android.jar和我的Android-custom.jar都不会附加到我的apk所以我的apk将在设备Android.jar上使用。
这可能吗?
答案 0 :(得分:1)
这解决了我的问题
allprojects {
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << '-Xbootclasspath/p:/home/open-android.jar'
}
}
}
答案 1 :(得分:0)
您可能需要使用自己的任务覆盖compileDebugJava / compileReleaseJava任务,其中包括自定义库排序。有关同一主题的非常老的帖子,请参阅here,没有Android。