Tag: build.gradle的

如何使用新的Gradle Android构build系统手动包含外部aar包

我一直在试验新的android构build系统,我遇到了一个小问题。 我已经编译了我自己的ActionBarSherlock的一个包,我称之为“actionbarsherlock.aar”。 我试图做的是实际上使用这个aar来build立我的最终APK。 如果我使用compile project(':actionbarsherlock')将整个ActionBarSherlock库作为一个android-library模块包含到我的主项目中,那么我可以成功构build而不会有任何问题。 但我的问题是,我想提供依赖作为aar文件包MANUALLY只是如果我会JAR然后我似乎无法弄清楚如何正确地将其包括到我的项目。 我试图使用编译configuration,但这似乎并没有工作。 我一直在编译期间找不到符号,这告诉我,来自aar包的classes.jar没有包含在classpath中。 有没有人知道手动包括aar包作为文件的语法? 的build.gradle buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android' repositories { mavenCentral() } dependencies { compile files('libs/actionbarsherlock.aar') } android { compileSdkVersion 15 buildToolsVersion "17.0" } 编辑:所以答案是,它目前不支持,这是如果你想跟踪它的问题。 编辑:目前,因为这仍然不直接支持最好的select似乎是从@RanWakshlakbuild议的解决scheme 编辑:也更简单的使用@VipulShah提出的语法

更新到最新的appcompat和支持库之后发生DexIndexOverflowException问题

我通过gradle使用下面的设置: compileSdkVersion 21 ANDROID_BUILD_MIN_SDK_VERSION=14 ANDROID_BUILD_TARGET_SDK_VERSION=21 ANDROID_BUILD_TOOLS_VERSION=21.0.2 ANDROID_BUILD_SDK_VERSION=21 我的gradle文件中也有以下设置: compile 'com.android.support:support-annotations:21.0.0' compile 'com.android.support:appcompat-v7:21.0.0' compile 'com.android.support:support-v4:21.0.0' 我总是得到错误UNEXPECTED TOP LEVEL EXCEPTION 。 但是,当我使21.0.0到20.0.0它工作正常…但我无法访问任何Android API 21选项。 有什么我在这里做错了吗? 如何在没有这个exception的情况下编译它? 我没有任何其他级别项目(Facebook等)以外的支持瓶子。 这是完整的堆栈跟踪: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536 at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:502) at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:283) at com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:491) at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:168) at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:302) at com.android.dx.command.dexer.Main.run(Main.java:245) at com.android.dx.command.dexer.Main.main(Main.java:214) […]

所有com.android.support库必须使用完全相同的版本规范

更新到android studio 2.3后,我得到了这个错误信息。 我知道这只是一个应用程序运行正常,但它真的很奇怪。 所有com.android.support库必须使用完全相同的版本规范(混合版本可能会导致运行时崩溃)。 发现版本25.1.1,24.0.0。 示例包括com.android.support:animated-vector-drawable:25.1.1和com.android.support:mediarouter-v7:24.0.0 我的gradle: dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:25.1.1' compile 'com.android.support:support-v4:25.1.1' compile 'com.android.support:design:25.1.1' compile 'com.android.support:recyclerview-v7:25.1.1' compile 'com.android.support:cardview-v7:25.1.1' compile 'com.google.android.gms:play-services-maps:10.2.0' compile 'com.google.android.gms:play-services:10.2.0' compile 'io.reactivex.rxjava2:rxjava:2.0.1' compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'com.jakewharton:butterknife:8.4.0' annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0' compile 'com.blankj:utilcode:1.3.6' compile 'com.orhanobut:logger:1.15' compile 'com.facebook.stetho:stetho:1.4.2' provided 'com.google.auto.value:auto-value:1.2' […]

通过Gradle和Android Studio构build和运行应用程序比通过Eclipse慢

我有一个多项目(〜10个模块),其中每次大约需要20-30秒。 当我按下Android Studio中的Run时,我必须等待每一次重build应用程序,这是非常缓慢的。 是否有可能在Android Studio中自动构build过程? 或者你有什么build议如何使这个过程更快? 在Eclipse中,感谢自动构build,在模拟器上运行相同的项目大约需要3-5秒。 这是我的build.gradle文件(应用程序模块): buildscript { repositories { maven { url 'http://repo1.maven.org/maven2' } } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android' dependencies { compile fileTree(dir: 'libs', include: '*.jar') compile project(':libraries:SharedLibs') compile project(':libraries:actionbarsherlock') compile project(':libraries:FacebookSDK') compile project(':libraries:GooglePlayServices') compile project(':libraries:HorizontalGridView') compile project(':libraries:ImageViewTouch') compile project(':libraries:SlidingMenu') } android { compileSdkVersion 17 buildToolsVersion "17.0.0" […]

Java完成非零退出值2 – Android Gradle

我得到这个错误执行我的Android应用程序(我清理它,然后build立它,但错误仍然存​​在) 同步:好的 制作项目:好的 清洁:好的 运行:错误 Error:Execution failed for task':app:dexDebug'.com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:Process'command'C:\ Program Files \ Java \ jdk1.7.0 _25 \ bin \ java.exe''以非零的退出值2结束 我的gradle文件: apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.rzr.rzevallosr.miappdepruebas" minSdkVersion 19 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } productFlavors […]

我如何在Android项目中使用外部JAR?

我创build了一个Android项目,并在我的项目中添加了一个外部JAR(hessian-4.0.1.jar)。 然后,我将JAR添加到构buildpath,并在“订单和导出”中将其检查。 看起来Order和Export被忽略,并且外部JAR中的所有类都在运行时丢失。 在使用Eclipse插件构buildAndroid应用程序时,是否有一种方法可以正确包含来自外部JAR的所需类? 我不想用ant或Maven。

Android工作室在真实设备上运行应用程序后添加了不需要的许可

在设备应用程序上运行应用程序之后,需要在清单文件中未提及的不需要的位置权限。 而当我从我的朋友Android工作室运行相同的代码比正常运行没有额外的权限要求。 清单文件 <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="21" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.USE_CREDENTIALS" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="com.android.vending.BILLING" /> <uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY"/> <uses-feature android:name="android.hardware.telephony" android:required="false" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 的build.gradle apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId […]