2014-11-03 118 views
1

在我的Android Studio項目中,我有一個庫模塊&一個App模塊。兩者都使用Gradle構建。classes.dex文件在哪裏

MyProject 
    -LibraryModule 
    ... 
    build.gradle 
    -AppModule 
    ... 
    build.gradle 
... 
build.gradle 

我需要得到classes.dex文件LibraryModule

所以,我在Android Studio中運行gradle的構建LibraryModule的任務,那是成功的。

於是,我試圖找到哪裏是產生classes.dex文件,我只找到MyProject/build/intermediates/dex/release/classes.dex下一個,但它是一箇舊文件(時間戳顯示其爲2天前產生的,我甚至不知道如何它已經生成。)

那麼,在Android Studio中,classes.dex的位置在哪裏?我如何生成它(如果'構建'任務不生成它)?


好吧,這是奇怪的,但建立在Android的工作室是成功的,但是當我嘗試在命令行打造下庫模塊:

./gradlew build --stacktrace 

我得到了以下錯誤:

Caused by: org.gradle.api.plugins.PluginInstantiationException: Could not create plugin of type 'LibraryPlugin'. 
    at org.gradle.api.internal.plugins.DefaultPluginRegistry.loadPlugin(DefaultPluginRegistry.java:67) 
    at org.gradle.api.internal.plugins.DefaultPluginContainer.providePlugin(DefaultPluginContainer.java:103) 
    at org.gradle.api.internal.plugins.DefaultPluginContainer.addPluginInternal(DefaultPluginContainer.java:68) 
    at org.gradle.api.internal.plugins.DefaultPluginContainer.apply(DefaultPluginContainer.java:34) 

這是什麼意思「無法創建'LibraryPlugin'類型的插件」?

回答

1

一旦構建是全成與搖籃,在classes.dex位於:

./YOURMODULE/build/intermediates/dex/YOURBUILDTYPE/classes.dex(buildType通常是調試或釋放)。

對於Gradle 0.11。+而言,這是正確的。

+0

嗯......奇怪,我的構建成功了(我通過雙擊Android Studio的Gradle窗口中列出的'構建'任務來構建我的lib模塊)。 THen,我打開我的項目文件夾,classes.dex顯示日期爲兩天前...所以,我覺得classes.dex不會生成 – user842225 2014-11-03 15:57:24

+0

AFAIK'classes.dex'持有對您的APK資源的引用。因此,如果您只是編輯Java代碼,那麼它可能不會從一個構建更改爲另一個(我可能是錯的) - 請參閱https://stackoverflow.com/questions/14230573/role-of-classes-dex-file-in-an -apk-file – shkschneider 2014-11-03 16:00:47

+0

我更新了我的問題,我從命令行運行,失敗了。一個奇怪的錯誤信息正在顯示...... – user842225 2014-11-03 16:02:51