标签: android-annotations

Android Annotations框架似乎没有生成任何东西

我正在尝试使用Android注释框架,因为它看起来非常强大.我完全坚持基于它配置我的第一个项目.我遵循了wiki的每一步,但是在构建之后它不会生成任何文件.

所以当我从清单中请求生成的类时:

<activity android:name=".MyActivity_"
   android:label="@string/app_name">
Run Code Online (Sandbox Code Playgroud)

我得到一个例外:

java.lang.ClassNotFoundException
Run Code Online (Sandbox Code Playgroud)

我的活动与维基中的活动完全相同:

@EActivity(R.layout.main)
public class MyActivity extends Activity {

    @ViewById
    EditText myInput;

    @ViewById(R.id.myTextView)
    TextView textView;

    @Click
    void myButton() {
         String name = myInput.getText().toString();
         textView.setText("Hello "+name);
    }
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑:刚刚找到一个目录".apt_generated",但它在构建后是空的.

android annotations manifest classnotfoundexception android-annotations

10
推荐指数
1
解决办法
5078
查看次数

Android Annotations/Gradle/Android Studio构建问题

我正在努力将项目迁移到Android Studio/Gradle,我在使用Android Annotations正确构建项目时遇到了一些问题.从gradle控制台输出看起来,编译后会发生注释处理吗?是对的吗?不应该以前发生吗?奇怪的是,如果我点击运行,则会出现"编辑配置"对话框,底部显示"错误:未找到默认活动".

我有另一个项目使用一个非常相似的build.gradle文件,它运行正常,我完全被这个问题困住了.任何帮助将非常感谢!

请注意我也尝试过各种其他方法,包括https://github.com/excilys/androidannotations/wiki/Building-Project-Gradle,但结果没有区别.

我在项目根目录中的build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}
Run Code Online (Sandbox Code Playgroud)

和my/android文件夹中的build.gradle:

apply plugin: 'android'



ext.androidAnnotationsVersion = '2.7.1';

configurations {
    apt
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 19
    }
    buildTypes {
        release {
            runProguard false
        }
    }

    productFlavors {
        defaultFlavor {
            proguardFile 'proguard-rules.txt'
        } …
Run Code Online (Sandbox Code Playgroud)

android gradle android-annotations android-studio

10
推荐指数
1
解决办法
5088
查看次数

Android Studio中的颜色预览

有没有办法在编辑器窗口左侧装订线中看到定义为ARGB颜色color previewinteger variables那种.我的意思是像注册为资源的颜色预览.

在此输入图像描述

这是一个照片截图,显示了我的意思.

android annotations android-annotations android-studio

10
推荐指数
2
解决办法
1012
查看次数

AndroidAnnotations和Dagger

我正在尝试使用Dagger注入一个Android Annotated Activity.

java.lang.IllegalArgumentException: No inject registered for members/com.app.server.AddServerActivity_. You must explicitly add it to the 'injects' option in one of your modules.

如果我尝试添加com.app.server.AddServerActivity_到模块,我会得到一个不同的错误

Error: java.lang.ClassCastException: com.sun.tools.javac.code.Attribute$Error cannot be cast to com.sun.tools.javac.code.Attribute$Class
java.lang.RuntimeException: java.lang.ClassCastException: com.sun.tools.javac.code.Attribute$Error cannot be cast to com.sun.tools.javac.code.Attribute$Class
    at com.sun.tools.javac.main.Main.compile(Main.java:469)
    at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:132)
    at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:167)
    at org.jetbrains.jps.incremental.java.JavaBuilder.compileJava(JavaBuilder.java:364)
    at org.jetbrains.jps.incremental.java.JavaBuilder.compile(JavaBuilder.java:276)
    at org.jetbrains.jps.incremental.java.JavaBuilder.doBuild(JavaBuilder.java:190)
    at org.jetbrains.jps.incremental.java.JavaBuilder.build(JavaBuilder.java:162)
    at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1018)
    at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:742)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:790)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:705)
    at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:526)
    at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:314)
    at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:179)
    at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:129)
    at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:220)
    at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:112)
    at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler$1.run(BuildMain.java:132)
    at org.jetbrains.jps.service.impl.SharedThreadPoolImpl$1.run(SharedThreadPoolImpl.java:41) …
Run Code Online (Sandbox Code Playgroud)

java android intellij-idea android-annotations dagger

9
推荐指数
1
解决办法
1658
查看次数

是否可以使用AndroidAnnotations注入模拟测试?

我还没有找到任何关于如何做到这一点的例子.我假设基于这样的例子是不可能的:

@Bean(MyImplementation.class)
MyInterface myInterface;
Run Code Online (Sandbox Code Playgroud)

注入的类已经确定.

android unit-testing mocking ioc-container android-annotations

8
推荐指数
2
解决办法
3930
查看次数

Android-Annotations和继承

我遇到了android-annotations和继承问​​题:

@EFragment(R.layout.fragment_foo)
public class TestBaseFragment {
    @AfterViews
    public void afterTestBaseFragmentViews() {
   }
}

@EFragment(R.layout.fragment_foo)
public class TestFragment extends TestBaseFragment {
    @AfterViews
    public void afterTestFragmentViews() {
   }
}
Run Code Online (Sandbox Code Playgroud)

产生:

public final class TestFragment_
    extends TestFragment
{
    ...

    private void afterSetContentView_() {
        afterTestFragmentViews();
        afterTestBaseFragmentViews();
    }
    ...
Run Code Online (Sandbox Code Playgroud)

如何在afterTestFragmentViews()之前确保调用afterTestBaseFragmentViews()?或者您可以指出任何描述如何使用AndroidAnnotations进行继承的文档吗?

android android-annotations

8
推荐指数
1
解决办法
3204
查看次数

Transfuse与AndroidAnnotations

我想知道是否有人使用Transfuse以及它与Android Annotations的区别.我的意思是每个人的利弊,除了这两个之外还有其他选择.

谢谢.

android android-annotations transfuse

8
推荐指数
1
解决办法
1633
查看次数

从服务调用带有 FLAG_ACTIVITY_REORDER_TO_FRONT 的活动

我试图从服务调用一个活动(活动 A),我想要发生的是检查堆栈上是否已经有 A 的实例,如果有,将它带到堆栈的顶部(和触发 onNewIntent() 方法),而不是总是创建 A 的新实例。

想知道这是否可能。我的活动在 androidmanifest 中使用“singleTop”启动模式。从活动外部调用活动所需的通常 Intent.FLAG_ACTIVITY_NEW_TASK 标志不会将已经打开的活动 A 带到堆栈顶部,而是始终创建 A 的新实例。而且似乎当我同时使用两者时flags (intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT) 同样的事情发生了(仍然是同一活动的 2 个实例)。有没有办法做到这一点,请始终牢记我是从服务,我不想将活动上下文传递给服务?

(PS 我正在使用 androidannotations,对打开活动 A 的调用发生在 @EBean 内部,@EBean 本身在服务中使用。是否有一种简单的方法可以将该活动上下文传递给该 @EBean?)

android android-intent android-activity android-annotations

8
推荐指数
1
解决办法
744
查看次数

Android注释和applicationIdSuffix

我一直在尝试了Android的注解最近,一切都一直工作顺利,直到我决定添加applicationIdSuffixbuildTypes我的build.gradle文件.目前它看起来像这样:

buildTypes {
    debug {
        applicationIdSuffix '.debug'
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

在编译时,我在gradle控制台中获得以下日志:

:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:pre_testBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72220Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42220Library UP-TO-DATE
: app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app :generateDebugResValues UP-TO-DATE
:app:processDebugGoogleServices
找不到包名为'org.me.myapp.debug'的匹配客户端
:app:generateDebugResources
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
: app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:processDebugJavaRes UP-TO-DATE
:app:compileDebugJavaWithJavac
注意:将日志文件解析为/ dir/myapp/app/build/generated/source/apt /androidannotations.log
注意:使用选项{androidManifestFile =/d初始化AndroidAnnotations 3.3.1 ir/myapp/app/build/intermediates/manifests/full/debug/AndroidManifest.xml}
注意:开始处理18个元素上的4个注释
注意:使用指定路径找到AndroidManifest.xml文件:/ dir/myapp/app/build /中间体/清单/完整/调试/ AndroidManifest.xml注意:AndroidManifest.xml发现:AndroidManifest [applicationPackage = org.me.myapp.debug,componentQualifiedNames = [org.me.myapp.ui.MainActivity_,net.hockeyapp.android.UpdateActivity ],permissionQualifiedNames = [android.permission.ACCESS_WIFI_STATE,android.permission.ACCESS_NETWORK_STATE],applicationClassName …

android android-annotations android-gradle-plugin

8
推荐指数
2
解决办法
5892
查看次数

annotationprocessor和apt配置等价物

我正在使用AndroidAnnotaion,但由于Android Studio 2.3和Gradle 2.3.0,他们说android-apt已经过时了.而且annotationProcessor是一个新的.所以,我想知道我怎么能annotationProcessorapt以前一样配置.

如果我误解了什么,请帮忙.

所以,之前......

apply plugin: 'android-apt'

dependencies {

    def AAVersion = '4.2.0'
    apt "org.androidannotations:androidannotations:$AAVersion"
    compile "org.androidannotations:androidannotations-api:$AAVersion"
}

apt {
    arguments {
        library 'true'
    }
}
Run Code Online (Sandbox Code Playgroud)

现在...

dependencies {

    def AAVersion = '4.2.0'
    annotationProcessor "org.androidannotations:androidannotations:$AAVersion"
    compile "org.androidannotations:androidannotations-api:$AAVersion"
}
Run Code Online (Sandbox Code Playgroud)

android android-annotations android-gradle-plugin android-apt annotation-processor

8
推荐指数
1
解决办法
4091
查看次数