我可以在我的 android 项目中成功设置 Transfuse,但是当使用 Android Studio 运行该应用程序时,它失败了。可能是因为 Manifest xml 必须为空才能让 Transfuse 处理。
有人曾经把这些一起工作过吗?
Transfuse 和 Android Studio 配合得非常好。诀窍是将 Transfuse 与 Gradle 集成。一旦 Gradle 开始工作,构建就会启动注释处理器并运行 Transfuse。
我在这里整理了一个示例参考项目:https://github.com/johncarl81/transfuse/tree/master/examples/gradle https://github.com/johncarl81/transfuse/tree/master/examples/gradle
以下是到达那里的程序:
- 让 Android Studio 生成一个新的 Android 项目
将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'
}
}
Edit:
最后,您可能希望将 source/apt_generate/debug 或 source/apt_generate/release 文件夹添加为项目配置下的源文件夹。
第二次编辑:
我使用新的 Android-APT 插件更新了上面的示例
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)