我可以在我的android项目中成功设置Transfuse,但是在使用Android Studio运行该应用程序时却失败了。可能是因为Manifest xml必须为空才能让Transfuse处理。

有谁能一起工作?

最佳答案

Transfuse和Android Studio可以很好地协同工作。诀窍是将Transfuse与Gradle集成在一起。一旦Gradle正常工作,构建便会启动注释处理器并运行Transfuse。

我在这里整理了一个示例引用项目: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'
        }
    }
    

    编辑:

    最后,您可能想将source/apt_generated/debug或source/apt_generated/release文件夹添加为项目配置下的源文件夹。

    第二编辑:

    我使用新的Android-APT插件更新了上述示例

    09-28 13:13