Articles of gradle

Gradle无法解决外部依赖性问题

由于某些未知原因,Gradle拒绝下载我放在gradle.build文件中的所有依赖项。 我试图获得’me.dm7.barcodescanner:zbar:1.7’的依赖性,但每次我尝试同步我的gradle它只会给我以下错误: Error:(6, 13) Failed to resolve: me.dm7.barcodescanner:zbar:1.7 它不仅仅是zbar库,它的每个库都不是com.android库。 我不是处于离线模式,所以也不能。 我的.build文件中有什么问题吗? apply plugin: ‘com.android.application’ dependencies { compile fileTree(include: ‘*.jar’, dir: ‘libs’) compile project(‘:MetaioSDK’) compile ‘com.android.support:support-v4:22.0.0’ compile ‘me.dm7.barcodescanner:zbar:1.7’ } android { compileSdkVersion 19 buildToolsVersion “21.1.0” sourceSets { main { manifest.srcFile ‘AndroidManifest.xml’ java.srcDirs = [‘src’] resources.srcDirs = [‘src’] aidl.srcDirs = [‘src’] renderscript.srcDirs = [‘src’] res.srcDirs = [‘res’] […]

Android Studio – ProGuard IOException重复Zip条目

所以我正在尝试在Gradle中为我的Android Studio项目设置ProGuard,在构建项目时出现以下错误: 错误:任务’:app:proguardDebug’的执行失败。 java.io.IOException:无法写[C:\ Users \ Rich \ Desktop \ WebProjects \ AndroidStudioProjects \ Roomie \ app \ build \ intermediates \ classes-proguard \ debug \ classes.jar](无法读取C:\用户\ Rich \ Desktop \ WebProjects \ AndroidStudioProjects \ Roomie \ app \ libs \ bolts-android-1.1.4.jar(;;;;;;!META-INF / MANIFEST.MF)](重复的zip条目[a / a .class == bolts-android-1.1.4.jar:bolts / AggregateException.class])) 这是我的proguard-rules.pro -keep class butterknife.** […]

gradle任务错误’:app:compileDebugJavaWithJavac’

我正在使用Android Studio 3.1 Canary 6,我在构建项目时收到此错误。 我搜索这个错误,许多用户得到这个有不同的原因,但我没有find类似于我的问题的东西。 在我的搜索中,我理解这个错误是由我们的代码中的错误引起的,比如语法错误,但在我的情况下,Android Studio没有显示错误,错误日志没有我的类。 我的build.gradle有: android { compileSdkVersion 27 buildToolsVersion ‘27.0.1’ defaultConfig { applicationId “my.app.id” minSdkVersion 21 targetSdkVersion 27 versionCode 1 versionName ‘1.0.0’ buildConfigField ‘boolean’, ‘LOG_ENABLED’, ‘true’ } … } 我认为是java / gradle代码的内部问题。 记录错误: org.gradle.initialization.ReportedException: org.gradle.internal.exceptions.LocationAwareException: Execution failed for task ‘:app:compileDebugJavaWithJavac’. at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:137) at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:107) at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:78) at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:75) at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152) […]

从APK中删除未使用的本地化

对于没有本地化的Android应用程序(仅限默认语言),如何从Gradle依赖项中排除本地化? 背景:该应用程序是一个业务线应用程序,唯一需要支持的语言是美国英语。 该应用包括com.google.android.gms:play-services-gcm:7.0.0用于推送通知支持。 GCM库包含73种语言的本地化。 我宁愿他们不被包括在内。 这使得APK更小。 此外,如果用户使用非英语语言运行,我不希望该体验是英语和本地化文本的混合。

教程中的android错误找不到符号variablesactivity_display_message

我正在尝试通过教程和Android Studio学习Android应用程序构建。 关于xml和import的一些评论是helpfult。 我犯了一个错误。 我收到此错误错误:(22,57)错误:找不到符号variablesactivity_display_message 关于导入的错误我已经修复了一些搜索堆栈流。 我错过了什么 DisplayMessageActivity package com.example.rpinto.myfirstapp; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.ViewGroup; import android.widget.TextView; public class DisplayMessageActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_display_message); Intent intent = getIntent(); String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); TextView textView = new TextView(this); textView.setTextSize(40); textView.setText(message); ViewGroup layout = (ViewGroup) findViewById(R.id.activity_display_message); layout.addView(textView); […]

AndroidManifest.xml – 为属性’manifest’指定的不存在

这是我得到的错误,而且我在StackOverflow上搜索的内容似乎无法修复。 Error:A problem was found with the configuration of task ‘:checkDebugManifest’. > File ‘/Users/wasimsandhu/AndroidStudioProjects/Conjugation/src/main/AndroidManifest.xml’ specified for property ‘manifest’ does not exist. 每次重建项目或同步Gradle文件时,我都会收到此错误。 我在各种其他线程中尝试过解决方案无济于事。 这是我的app / build.gradle文件: apply plugin: ‘com.android.application’ android { signingConfigs { config { // removed for this post } } compileSdkVersion 21 buildToolsVersion “20.0.0” defaultConfig { applicationId “com.wsandhu.conjugation” minSdkVersion 15 targetSdkVersion 19 versionCode […]

Android studio 2.1.2 gradle aapt语法错误:未终止引用的字符串

我试图在32位linux Mint 17.3上运行Android Studio 2.1.2。 安卓工作室刚刚安装完毕。 当我重建项目或创建一个新项目时,我在Gradle控制台中收到这样的错误: AAPT err(Facade for 19314581): /home/user/Android/Sdk/build-tools/24.0.1/aapt: 2: /home/user/Android/Sdk/build-tools/24.0.1/aapt: Syntax error: Unterminated quoted string Aapt在build-tools目录中设置为可执行文件。 我已经设定: export SLAVE_AAPT_TIMEOUT=30 export ANDROID_EMULATOR_FORCE_32BIT=true 还有其他想法如何解决这个问题?

有条件地包括gradle构建项目

场景:我们有一个Android应用程序,其中包含一些不同的可选组件,我们希望能够根据客户需求和许可来包含/排除这些组件。 是否可以根据构建参数包含特定项目,而不创建所有排列作为构建风格 ? ./gradlew assembleRelease -PincludeFeatureA=true -PincludeFeatureB=false 我以为我可以在依赖项中做这样的事情: dependencies { if(includeFeatureA){ compile project(‘:featureAEnabled’) } else { compile project(‘:featureADisabled’) } } 但这似乎不起作用。 更新:考虑到可切换function的数量,对每个排列使用显式构建变体是很麻烦的。 例如,给定3个可切换function,我不想构建这样的风格: Feature1 Feature1-Feature2 Feature1-Feature3 Feature1-Feature2-Feature3 Feature2 Feature2-Feature3 …

CircleCI上的Espresso测试失败

我正在尝试在CircleCI上运行Android项目工具测试。 它们在Android Studio和命令行的本地计算机上执行正常。 CircleCI执行为每个测试生成此堆栈跟踪: java.lang.RuntimeException: Waited for the root of the view hierarchy to have window focus and not be requesting layout for over 10 seconds. If you specified a non default root matcher, it may be picking a root that never takes focus. Otherwise, something is seriously wrong. Selected Root: Root{application-window-token=android.view.ViewRootImpl$W@677cf28, window-token=android.view.ViewRootImpl$W@677cf28, has-window-focus=false, layout-params-type=1, […]

Gradle将lib类从lib替换为自己的类以避免重复

在Android Studio中,有一个特定的文件( src/org/luaj/vm2/lib/jse/JavaMethod.java ),我需要从通过Gradle dependencies {compile ‘org.luaj:luaj-jse:3.0.1’}的包中覆盖( dependencies {compile ‘org.luaj:luaj-jse:3.0.1’} )。 我将文件复制到我的源目录中,路径完全相同,并对其进行了更改。 这对于正在使用它的单个JUnit测试用例来说效果很好。 它看起来似乎正在为我的项目的正常编译工作(目前无法轻易确认)。 但是,当我尝试通过ProjectType =“Android Tests”的配置立即运行我的所有测试时,我得到Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files define Lorg/luaj/vm2/lib/jse/JavaMethod$Overload; 。 是否需要添加到Gradle文件中的特定任务或命令,以确保项目选择本地源目录中的文件? 我尝试了Copy任务和sourceSets->main->java->exclude命令,但似乎都没有工作(我可能做错了)。 我还尝试从这篇文章 “编译”下的“排除模块/组”指令。 运行/调试确认的非默认设置: Type = Android测试 Module = 我的模块 测试:全包装 包装:“测试” 我的所有JUnit测试用例都在“测试”包中。 任何能让它发挥作用的答案都可以。 如果不是Gradle,可能是android清单或本地源文件本身。 [编辑2016-07-24]当我的android模拟器运行较低的API时,错误也发生在正常编译上。 API 16和19错误输出,但API 23没有。