我可以在我的android項目中成功設置Transfuse,但是當涉及到使用Android Studio運行應用程序時,它會失敗。可能是因爲清單xml必須爲Transfuse處理而爲空。Android Studio with Transfuse
有沒有人有過這些工作在一起?
我可以在我的android項目中成功設置Transfuse,但是當涉及到使用Android Studio運行應用程序時,它會失敗。可能是因爲清單xml必須爲Transfuse處理而爲空。Android Studio with Transfuse
有沒有人有過這些工作在一起?
Transfuse和Android Studio在一起工作得非常好。訣竅是將Transfuse與Gradle集成。一旦你獲得了Gradle的工作,構建就會啓動註解處理器並運行Transfuse。
我已經把這裏的實例參考項目:https://github.com/johncarl81/transfuse/tree/master/examples/gradle
這裏的程序到那裏:
移動的AndroidManifest.xml文件到Android項目的根目錄,即: 〜/ project/src/main/AndroidManifest.xml - >〜/ project/AndroidManifest.xml
設置在gradle.build文件中的新的AndroidManifest.xml位置:
android {
...
sourceSets.main {
manifest.srcFile 'AndroidManifest.xml'
}
}
添加APT插件:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.1'
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android'
apply plugin: 'android-apt'
最後補充轉印定影和輸血的API:
dependencies {
apt 'org.androidtransfuse:transfuse:0.2.7'
compile 'org.androidtransfuse:transfuse-api:0.2.7'
}
您的最終gradle.build將如下所示:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.1'
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android'
apply plugin: 'android-apt'
repositories {
mavenCentral()
}
dependencies {
apt 'org.androidtransfuse:transfuse:0.2.7'
compile 'org.androidtransfuse:transfuse-api:0.2.7'
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 19
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
}
sourceSets.main {
manifest.srcFile 'AndroidManifest.xml'
}
}
編輯:
最後你可能希望將源/ apt_generated /調試或源/ apt_generated /釋放文件夾添加爲項目配置下的源文件夾。
第二個編輯:
我全新的Android-APT插件
woww非常感謝你!對不起,不回覆你..忙於其他的東西。無論如何,出於某種原因,我得到「Gradle :: Annotation processor'org.parceler.ParcelAnnotationProcessor'not found。」有任何想法嗎? –
也得到了另外兩個警告:「Gradle ::上一輪創建的類型爲'dummy1374419125337'的文件將不會進行註釋處理。」和「Gradle ::類型未封閉的文件'[dummy1374419124436,dummy1374419125337]';這些類型不會經過註釋處理」 –
我並不想要添加ParcelerAnnotationProcessor,我已經從答案中刪除了它,並且應該避免你提到的錯誤。至於警告他們是良性的,實際上,Transfuse運作需要非封閉文件警告。如果可能的話,我會讓他們中的一些人靜音。 –
對於任何掙扎與輸血3測試版5「找不到AndroidManifest.xml中」更新上面的例子中,我固定通過添加到我的gradle文件:
apt {
arguments {
androidManifestFile variant.outputs[0].processResources.manifestFile
}
}
Gustavo,你在看什麼?我能夠構建並部署到我的手機和模擬器。您是否在Android Studio之外使用Maven構建命令行? –
嗨johncarl,我實際上在Android Studio中使用了Gradle。但我不想從命令行運行它,我使用該運行按鈕從android studio運行它。所以它只能從命令行工作?只要它有效,我真的不介意,但不幸的是,Transfuse文檔只提供了關於如何從命令行運行應用程序的maven版本。 –
我沒有用Gradle試過它,但我不妨試試它。你有沒有可以在github上分享的例子? –