android studio的annotation编译环境配置,适合小白

前两天看了一下android的一个开源框架androidannotation,网上都说它可以帮助我们程序员减少很多的重复的工作;于是我就好奇的去尝试了下,没想到一搞就是两天,android studio的配置算是OK了,但是eclipse的配置还没有OK,编译出错,很郁闷

错误代码:

[2015-08-23 16:15:23 - Dex Loader] Unable to execute dex: Multiple dex files define Lorg/androidannotations/annotations/AfterExtras;
[2015-08-23 16:15:23 - androidAnnotation] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lorg/androidannotations/annotations/AfterExtras;
[2015-08-23 16:23:17 - Dex Loader] Unable to execute dex: Multiple dex files define Lorg/androidannotations/annotations/AfterExtras;
[2015-08-23 16:23:17 - androidAnnotation] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lorg/androidannotations/annotations/AfterExtras;
[2015-08-23 16:24:14 - Dex Loader] Unable to execute dex: Multiple dex files define Lorg/androidannotations/annotations/AfterExtras;
[2015-08-23 16:24:14 - androidAnnotation] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lorg/androidannotations/annotations/AfterExtras;
[2015-08-23 16:32:41 - Dex Loader] Unable to execute dex: Multiple dex files define Lorg/androidannotations/annotations/AfterExtras;
[2015-08-23 16:32:41 - androidAnnotation] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lorg/androidannotations/annotations/AfterExtras;
[2015-08-23 18:02:26 - Dex Loader] Unable to execute dex: Multiple dex files define Lorg/androidannotations/annotations/AfterExtras;
[2015-08-23 18:02:26 - androidAnnotation] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lorg/androidannotations/annotations/AfterExtras;
[2015-08-23 18:03:58 - Dex Loader] Unable to execute dex: Multiple dex files define Lorg/androidannotations/annotations/AfterExtras;
[2015-08-23 18:03:58 - androidAnnotation] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lorg/androidannotations/annotations/AfterExtras;

郁闷,如果哪位大神会的话请告诉我哪边出错了,灰常感谢!


好了,废话不多说,直接进入主题  打开android studio

新建一个project,

打开project的build.gradle文件

加入一句话 

 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4+'

上图:


少了这句话,我不能通过编译;


新建一个Module项目:

将.jar包粘贴进libs目录


选中当前module,右键,选择Open Module Settings -->Dependencies  点击 ‘+’ 选择File dependency 


将刚才粘贴进libs目录的Jar包导入 


确定


打开build.gradle

加入 

 apply plugin: 'android-apt'

加入

apt{
    arguments{
        androidManifestFile variant.outputs[0].processResources.manifestFile
    }
}


当前denpendencies如上图;

修改

compile  --> apt   结果如下:


修改AndroidManifest.xml文件的activity文件名后加  '_',build下

 

此时,编译仍会报错,可能是重复引入的包的问题,不太明白,

Error:Execution failed for task ':myapplication:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/home/zjh/zjh/Android/jdk1.8.0_51/bin/java'' finished with non-zero exit value 2

我将最上面一行注释掉,编译成功



hellowWorld运行成功

所有需要修改的地方都在下面两张图片了

project  build.gradle


module:build.gradle



第一次发帖,请多多包含

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio中,可以通过配置构建脚本来只编译指定类为dex。具体步骤如下: 1. 打开项目中的build.gradle文件。 2. 在android节点下添加以下代码: ``` android { ... dexOptions { preDexLibraries = false javaMaxHeapSize "4g" additionalParameters += "--core-library" additionalParameters += "--multi-dex" additionalParameters += "--minimal-main-dex" additionalParameters += "--set-max-idx-number=50000" additionalParameters += "--set-max-strings=50000" additionalParameters += "--set-max-branch=50000" additionalParameters += "--set-max-res=50000" additionalParameters += "--set-max-locals=50000" additionalParameters += "--set-max-args=50000" additionalParameters += "--set-max-instructions=50000" additionalParameters += "--set-max-registers=50000" additionalParameters += "--set-max-try-catch-blocks=50000" additionalParameters += "--set-max-methods=50000" additionalParameters += "--set-max-fields=50000" additionalParameters += "--set-max-classes=50000" additionalParameters += "--set-max-package-name=50000" additionalParameters += "--set-max-type-name=50000" additionalParameters += "--set-max-method-name=50000" additionalParameters += "--set-max-field-name=50000" additionalParameters += "--set-max-string-length=50000" additionalParameters += "--set-max-class-name-length=50000" additionalParameters += "--set-max-package-name-length=50000" additionalParameters += "--set-max-type-name-length=50000" additionalParameters += "--set-max-method-name-length=50000" additionalParameters += "--set-max-field-name-length=50000" additionalParameters += "--set-max-annotation-name-length=50000" additionalParameters += "--set-max-annotation-value-length=50000" additionalParameters += "--set-max-annotation-element-name-length=50000" additionalParameters += "--set-max-annotation-element-value-length=50000" additionalParameters += "--set-max-annotation-element-array-length=50000" additionalParameters += "--set-max-annotation-element-array-dimension=50000" additionalParameters += "--set-max-annotation-element-array-value-length=50000" additionalParameters += "--set-max-annotation-element-array-value-dimension=50000" additionalParameters += "--set-max-annotation-element-array-value-array-length=50000" additionalParameters += "--set-max-annotation-element-array-value-array-dimension=50000" additionalParameters += "--set-max-annotation-element-array-value-array-value-length=50000" additionalParameters += "--set-max-annotation-element-array-value-array-value-dimension=50000" additionalParameters += "--set-max-annotation-element-array-value-array-value-array-length=50000" additionalParameters += "--set-max-annotation-element-array-value-array-value-array-dimension=50000" } } ``` 这段代码中的additionalParameters参数可以根据需要进行调整,用于设置dex编译的相关限制。 3. 在需要只编译为dex的类上添加`@Keep`注解,以确保这些类不会被混淆。 4. 重新构建项目,只有添加了`@Keep`注解的类才会被编译为dex。 注意:以上步骤是在Android Studio配置构建脚本来实现只编译指定类为dex的方式。在实际开发中,需要根据具体需求进行调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值