我試圖建立與gradle這個Android項目中的:這是一個庫項目與NDK的味道,與外部.jar
五香,統一禮貌。無法編譯,除非的.jar包含在引導類路徑
我真的不認爲有關文件的gradle細節是很重要的,只要說我包括外部jar文件(通過統一提供)的東西,如:
dependencies {
compile files('libs/unity.jar')
}
這實際上似乎工作,因爲Java編譯期間,gradle這個問題的命令,如:
BASE="<Some directory>"
javac -d "${BASE}/PluginsSources/Android/libproject/build/intermediates/classes/fat/debug" \
-g -encoding UTF-8 \
-bootclasspath /Users/myusername/Applications/adt/sdk/platforms/android-23/android.jar \
-sourcepath "${BASE}/PluginsSources/Android/libproject/build/tmp/compileFatDebugJavaWithJavac/emptySourcePathRef" \
-classpath "${BASE}/PluginsSources/Android/libproject/libs/unity.jar" \
"${BASE}/PluginsSources/Android/libproject/src/main/java/org/example/ScriptBridge/JavaClass.java" \
"${BASE}/PluginsSources/Android/libproject/build/generated/source/r/fat/debug/org/example/ScriptBridge/R.java" \
"${BASE}/PluginsSources/Android/libproject/build/generated/source/buildConfig/fat/debug/org/example/ScriptBridge/BuildConfig.java" \
-XDuseUnsharedTable=true
縮進和BASE
變量通過你的真正增加。請注意,unity.jar
是一個類路徑條目。
問題是,編譯失敗作爲javac的顯然是無法編譯時,除非罐子放入-bootclasspath選項找到一類unity.jar
(!!)。
爲什麼會發生這種情況? AFAIK,類的搜索路徑應該是分層的,在bootclasspath之後,javac應該搜索類路徑...
是否有可能告訴gradle將一些jar粘貼到bootclasspath somhow(這會笨拙地解決問題)?
是不是有一個更清潔/更好的辦法?
謝謝你的任何見解!