(1 條消息)Android Studio 中如何引入 layoutlib.jar?

如題,現有項目是在 Eclipse 下編程的,想切換成 Android Studio,但苦於沒法引入 layoutlib.jar ... 請問各位有木有碰到類似的?怎麼解決?


http://stackoverflow.com/questions/16588064/how-do-i-add-a-library-project-to-the-android-studio


在build.gradle文件定義個變數,獲取SDK_DIR路徑。然後在dependencies 使用provided引入layoutlib.jar

String SDK_DIR = System.getenv("ANDROID_SDK_HOME")
if(SDK_DIR == null) {
Properties props = new Properties()
props.load(new FileInputStream(project.rootProject.file("local.properties")))
SDK_DIR = props.get(sdk.dir);
}

dependencies {
provided files("${SDK_DIR}/platforms/android-20/data/layoutlib.jar")
}


在gradle配置文件中,寫一個函數,動態獲取layoutlib.jar路徑,然後加到dependencies中即可,代碼如下:

dependencies {
provided files(getLayoutLibPath())
}

/** ZhangChao time:2014-12-31,get layoutlib.jar path.
* android.os.SystemProperties need it. */
// must called after "android" definition
def getLayoutLibPath() {
return "${android.getSdkDirectory().getAbsolutePath()}" + "/platforms/" +
android.compileSdkVersion + "/data/layoutlib.jar"
}

ps: 此方法中需要讀取 android.compileSdkVersion,所以必須在android 定義了之後才能調用,也就是這麼寫:

android {
compileSdkVersion 22
// ...
}
dependencies {
provided files(getLayoutLibPath())
}


對比一下你的那個文件夾就知道問題出在哪了


good


推薦閱讀:

如何看待android studio2.0穩定版?
okhttp,retrofit,android-async-http,volley應該選擇哪一個?
如何優雅地讀logcat?
這種ui誰能給點思路?
(1 條消息)Android studio 源代碼報錯?

TAG:Android開發 | AndroidStudio |