使用AndroidAnnotations和Fragments编译库项目

阿德里安·多斯·瑞斯(Adrien Dos Reis)

我目前正在使用AndroidAnnotations开发的Android库,并使用一些Fragments。当将其编译为Android应用程序时,代码很好,并且一切正常。当将其编译为Android库时,它会中断,因为它找不到任何AndroidAnnotations生成的类。

我用@EActivity(resName="activity_name")而不是注释了每个活动@EActivity(R.layout.activity_name),这纠正了一些错误。

我遇到的问题是,在其中一些活动中,我动态创建了一些像这样的片段(例如):

PhotoFragment fragment = PhotoFragment_.builder().someParams("a string param").build();

当我尝试编译为Android库时,此调用失败,因为它找不到动态生成的PhotoFragment_类。有解决方案可以使其正常工作吗?通过更改我创建片段的方式,还是通过配置AndroidAnnotations?

编辑20/04/2016

build.gradle(模块级别):

apply plugin: 'com.android.library'
apply plugin: 'android-apt'
def AAVersion = '4.0.0'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'

    // Barcode library (ZXing)
    compile 'com.journeyapps:zxing-android-embedded:3.0.2'
    compile 'com.google.zxing:core:3.2.0'

    // Android Annotations
    apt "org.androidannotations:androidannotations:$AAVersion"
    compile "org.androidannotations:androidannotations-api:$AAVersion"

    // Android Bootstrap
    compile 'com.beardedhen:androidbootstrap:2.1.0'

    // Gson
    compile 'com.google.code.gson:gson:2.4'

    // Some auto-generated BS
    compile 'com.android.support:design:23.2.1'
    compile 'com.android.support:support-v4:23.2.1'

    // Robotium --> Emulate User Interaction on tests
    compile 'com.jayway.android.robotium:robotium-solo:5.5.4'

    // Android Testing
    androidTestCompile 'com.android.support:support-annotations:23.2.1'
    androidTestCompile 'com.android.support.test:runner:0.5'
    androidTestCompile 'com.android.support.test:rules:0.5'

    // OkHTTP (HTTP Client Library)
    compile 'com.squareup.okhttp3:okhttp:3.2.0'
}

apt {
    arguments {
        library 'true'
    }
}

非常感谢!

WonderCsabo

经过讨论,结果发现代码中存在编译错误(与注释处理器无关)。这甚至没有调用AndroidAnnotations处理器,并且没有生成类。

解决方案是修复“正常”编译错误,然后注释处理器将运行。很难,因为错误将被埋没在许多未发现的生成类错误中,因此需要进行彻底的读取。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法使用AndroidAnnotations库在AndroidStudio中创建项目

来自分类Dev

用CMake编译和链接子项目库

来自分类Dev

使用AndroidAnnotations和ORMLite获取NullPointerException

来自分类Dev

添加库后无法使用Gradle编译Android项目

来自分类Dev

在不同的Android项目中使用已编译的ffpmeg库

来自分类Dev

添加库后无法使用Gradle编译Android项目

来自分类Dev

编译FOSS项目时如何使用本地共享库?

来自分类Dev

使用批处理脚本编译项目并包含库

来自分类Dev

如何使用Babel和Grunt正确编译项目

来自分类Dev

使用Gnu Make编译需要gnatprep和gnatchop的ada项目

来自分类Dev

如何在Android Studio中编译和使用FFMPEG库?

来自分类Dev

使用Bower和Grunt分发已编译的JavaScript库

来自分类Dev

使用静态库链接、编译和运行 ac 程序

来自分类Dev

ArrayAdapter的getView和AndroidAnnotations

来自分类Dev

从命令行编译Java应用程序,包括项目和库文件

来自分类Dev

是否可以将Xamarin项目编译为iOS和Android的库?

来自分类Dev

emscripten 和 boost 库:如何为 webassembly 编译现有项目?

来自分类Dev

如何使用API 19 /参考AppCompat库编译项目以使用android.hardware.Camera?

来自分类Dev

使用cmake创建主项目和子项目,并能够分别编译它们

来自分类Dev

Java:Maven和库编译

来自分类Dev

每次编译Xcode 7.3库项目

来自分类Dev

编译外部C ++库以用于iOS项目

来自分类Dev

编译需要绑定的C#库项目

来自分类Dev

为Xamarin项目编译C#库

来自分类Dev

如何在Eclipse项目中包含和使用GSON库

来自分类Dev

使用Javascript和PHP从数据库中删除项目

来自分类Dev

如何使用共享库组织和部署云功能项目?

来自分类Dev

使用外部库输入打字稿和Webpack项目

来自分类Dev

带有外部库的 Angular 项目不能使用 angular-cli 在 AOT 模式下编译

Related 相关文章

  1. 1

    无法使用AndroidAnnotations库在AndroidStudio中创建项目

  2. 2

    用CMake编译和链接子项目库

  3. 3

    使用AndroidAnnotations和ORMLite获取NullPointerException

  4. 4

    添加库后无法使用Gradle编译Android项目

  5. 5

    在不同的Android项目中使用已编译的ffpmeg库

  6. 6

    添加库后无法使用Gradle编译Android项目

  7. 7

    编译FOSS项目时如何使用本地共享库?

  8. 8

    使用批处理脚本编译项目并包含库

  9. 9

    如何使用Babel和Grunt正确编译项目

  10. 10

    使用Gnu Make编译需要gnatprep和gnatchop的ada项目

  11. 11

    如何在Android Studio中编译和使用FFMPEG库?

  12. 12

    使用Bower和Grunt分发已编译的JavaScript库

  13. 13

    使用静态库链接、编译和运行 ac 程序

  14. 14

    ArrayAdapter的getView和AndroidAnnotations

  15. 15

    从命令行编译Java应用程序,包括项目和库文件

  16. 16

    是否可以将Xamarin项目编译为iOS和Android的库?

  17. 17

    emscripten 和 boost 库:如何为 webassembly 编译现有项目?

  18. 18

    如何使用API 19 /参考AppCompat库编译项目以使用android.hardware.Camera?

  19. 19

    使用cmake创建主项目和子项目,并能够分别编译它们

  20. 20

    Java:Maven和库编译

  21. 21

    每次编译Xcode 7.3库项目

  22. 22

    编译外部C ++库以用于iOS项目

  23. 23

    编译需要绑定的C#库项目

  24. 24

    为Xamarin项目编译C#库

  25. 25

    如何在Eclipse项目中包含和使用GSON库

  26. 26

    使用Javascript和PHP从数据库中删除项目

  27. 27

    如何使用共享库组织和部署云功能项目?

  28. 28

    使用外部库输入打字稿和Webpack项目

  29. 29

    带有外部库的 Angular 项目不能使用 angular-cli 在 AOT 模式下编译

热门标签

归档