gpt4 book ai didi

带有 Transfuse 的 Android Studio

转载 作者:太空宇宙 更新时间:2023-11-03 12:36:40 27 4
gpt4 key购买 nike

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

有没有人让这些一起工作?

最佳答案

Transfuse 和 Android Studio 配合得非常好。诀窍是让 Transfuse 与 Gradle 集成。一旦 Gradle 开始工作,构建将启动注释处理器并运行 Transfuse。

我在这里整理了一个示例引用项目:https://github.com/johncarl81/transfuse/tree/master/examples/gradle

这是到达那里的程序:

  1. 让 Android Studio 生成一个新的 Android 项目
  2. 将AndroidManifest.xml 文件移动到Android 项目的根目录,即: ~/project/src/main/AndroidManifest.xml -> ~/project/AndroidManifest.xml

  3. 在 gradle.build 文件中设置新的 AndroidManifest.xml 位置:

    android {
    ...
    sourceSets.main {
    manifest.srcFile 'AndroidManifest.xml'
    }
    }
  4. 添加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'
  5. 最后添加 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 的 Android Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17665440/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com