我可以在我的 android 项目中成功设置 Transfuse,但是在使用 Android Studio 运行应用程序时,它失败了。可能是因为 Manifest xml 必须为空,Transfuse 才能处理。
有没有人让这些一起工作?
我可以在我的 android 项目中成功设置 Transfuse,但是在使用 Android Studio 运行应用程序时,它失败了。可能是因为 Manifest xml 必须为空,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'
最后添加 transfuse 和 transfuse-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'
}
}
编辑:
最后,您可能希望将 source/apt_generated/debug 或 source/apt_generated/release 文件夹添加为项目配置下的源文件夹。
第二次编辑:
我用新的 Android-APT 插件更新了上面的例子
对于使用 Transfuse 3 beta 5 遇到“无法找到 AndroidManifest.xml”的任何人,我通过将其添加到我的 gradle 文件中进行了修复:
apt {
arguments {
androidManifestFile variant.outputs[0].processResources.manifestFile
}
}