Articles of gradle

无法使用minSdk = 21构建项目

我成功地使用最多20秒的最小sdks构建项目,但是当我尝试构建时: minSdkVersion 21 targetSdkVersion 21 我收到一个错误: :project:preDexDebug no classfiles specified FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ‘:project:preDexDebug’. > com.android.ide.common.internal.LoggedErrorException: Failed to run command: /Users/user/android-sdk-macosx/build-tools/21.1.1/dx -JXmx2g –dex –multi-dex –output /Users/user/Project-Android/project/build/intermediates/pre-dexed/debug/tween-engine-api-sources-a613effab3e9735b093029491b18c5c4872bdf88.jar /Users/user/Project-Android/project/build/intermediates/exploded-aar/android-ui-client.gdxlibrary/android/unspecified/libs/tween-engine-api-sources.jar Error Code: 1 Output: no classfiles specified 我在应用程序的某些地方使用libgdx。 然后安装对话框出现,如果我选择一个设备,我会收到另一个错误: Target device: genymotion-google_nexus_6___5_0_0___api_21___1440x2560-192.168.56.103:5555 Uploading file local path: […]

Crashlytics不会对代码进行反混淆处理

我对Frabric(Crashlytics)服务有神秘的问题。 我发现crashlytics不会自动对崩溃日志进行去模糊处理。 顶级构建文件中的io.fabric.tools版本1.19.1和android.tools版本1.2.3: dependencies { classpath ‘com.android.tools.build:gradle:1.2.3’ classpath ‘io.fabric.tools:gradle:1.19.1’ } BuildTypes配置: buildTypes { debug{ debuggable true jniDebuggable true } release { debuggable false jniDebuggable false minifyEnabled true proguardFiles ‘proguard-coda.txt’, ‘proguard-rules.pro’ } } 和依赖: compile(‘com.crashlytics.sdk.android:crashlytics:2.4.0@aar’) { transitive = true } proguard配置文件包含: -renamesourcefileattribute SourceFile -keepattributes SourceFile,LineNumberTable 从gradle控制台我看到与crashlytics相关的任务是可以的:app:crashlyticsStoreDeobsRelease和:app:crashlyticsUploadDeobsRelease : Executing tasks: [:app:assembleRelease] Configuration on demand is an incubating […]

“testBuildType”可以在Android项目的build.gradle文件中有条件吗?

我有两种构建types的应用程序:调试和发布。 我想对两种构建types执行测试。 但目前只测试了一种Build Type。 默认情况下,它是调试构建types,但可以使用以下命令重新配置:android {… testBuildType“release”} 我想逐个执行connectedDebugAndroidTest和connectedReleaseAndroidTest而不更改gradle文件。 是否有可能使“testBuildType”成为条件? 因此,根据gradle任务中的构建variables(connectedDebugAndroidTest和connectedReleaseAndroidTest),它将对该构建执行测试。

是否可以使用Proguard Android库模块,而不是应用程序模块?

我希望有人可以回答我认为基本的Gradle / Proguard问题。 我有一个非常基本的Android项目。 该项目包含主应用程序模块,名为app ,以及Android支持库的库模块,名为AndroidSupport 。 我希望只在AndroidSupport上运行Proguard(即不在整个应用程序上),因为我在Proguard-ed时在应用程序上运行检测测试时遇到问题。 我希望我可以自己缩小AndroidSupport ,这样我就不需要Proguard我的应用程序代码(因此,避免测试没有运行的问题)。 这是我的app build.gradle 。 请注意,Proguard已禁用: apply plugin: ‘com.android.application’ android { compileSdkVersion 22 buildToolsVersion “22.0.1” defaultConfig { applicationId “com.example.androidsupportlibproject” minSdkVersion 9 targetSdkVersion 22 versionCode 1 versionName “1.0” } buildTypes { debug { minifyEnabled false //Proguard DISABLED proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { compile fileTree(dir: ‘libs’, […]

“您尚未指定要用作popup窗口内容的视图”

所以我一直试图在我的游戏中实现排行榜/成就,并且没有任何实现,游戏运行得很好。 我已经成功导入了google-play-services-lib并复制了BaseGameUtils。 但每当我尝试为GameHelper对象调用setup时,它就会崩溃。 LogCat给出以下错误: getCSCPackageItemText() You have not specified a View to use as content view for popups. Falling back to the Activity content view which may not work properly in future versions of this API. Use setViewForPopups() to set content view. Shutting down VM. 稍差一点,这个错误也给出了: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.packagename.AndroidLauncher}: android.util.AndroidRuntimeException: requestFeature() must […]

创建新项目时android studio中出错

我尝试在Android studio中创建一个新项目时收到此错误消息: Failed to import Gradle project: Error unmarshaling return header; nested exception is: java.net.SocketException: Connection reset

找不到com.android.support:support-v13:19.0.0

自上一轮更新以来,我遇到了这个错误。 Gradle绝对,断然拒绝findv13支持库。 我尝试过以下方法: 安装最新的Android支持存储库以及最新的Android支持库 这里的前两个建议 在构建脚本中指定最新的gradle(0.12。+) 指定v13库的不同版本 我可以在m2repository文件夹中看到它的jar子。 事实上,我可以看到我尝试过的所有替代版本。 这是我的build.gradle: buildscript { repositories { def androidHome = System.getenv(“ANDROID_HOME”) mavenCentral() maven { url “$androidHome/extras/android/m2repository/” } } dependencies { classpath ‘com.android.tools.build:gradle:0.12.+’ classpath ‘org.robolectric.gradle:gradle-android-test-plugin:0.9.4’ } ext.compileSdkVersion = 19 ext.buildToolsVersion = “19.0.3” ext.minSdkVersion = 14 ext.targetSdkVersion = 18 ext.buildVersion = 8 ext.codeVersion = 5 } allprojects { repositories { […]

使用Espresso测试recyclerView,如何执行单击或断言

最近我需要测试RecyclerView,我在使用它时遇到了很多麻烦。 首先,我通过向我们提供位于espresso-contrib中的 RecyclerViewActions来了解Espresso已经“支持”RecyclerViews。 所以我决定使用它,我的依赖关系看起来像这样: dependencies { androidTestCompile ‘junit:junit:4.12’ androidTestCompile ‘com.squareup.spoon:spoon-client:1.2.1’ androidTestCompile ‘com.jraska:falcon-spoon-compat:0.3.1’ androidTestCompile ‘com.android.support:support-annotations:23.1.1’ androidTestCompile ‘com.android.support.test:runner:0.4.1’ androidTestCompile ‘com.android.support.test:rules:0.4.1’ androidTestCompile ‘com.android.support.test.espresso:espresso-contrib:2.2.1’ androidTestCompile “org.mockito:mockito-core:1.10.19” androidTestCompile “com.google.dexmaker:dexmaker:1.2” androidTestCompile “com.google.dexmaker:dexmaker-mockito:1.2” } 但是,只有在尝试将espresso-core更改为espresso-contrib后才尝试运行我的测试。 我可以看到这个错误: Test running failed: Instrumentation run failed due to ‘java.lang.IncompatibleClassChangeError’ 我试着把它谷歌出来。 我看到很多话题,人们都在回答这样的问题 。 所以我排除了appcompat,supportv4和recyclerview-v7。 像那样: androidTestCompile (‘com.android.support.test.espresso:espresso-contrib:2.2.1’) { exclude group: ‘com.android.support’, module: ‘appcompat’ exclude group: ‘com.android.support’, module: […]

对使用Android Studio上的向导生成的签名apks使用不同的命名约定

我的应用程序包含多个buildFlavors和三个不同的buildTypes 。 我从Build -> Generate Signed APK… apks。 (除非没有别的,否则我想继续使用向导而不是创建脚本,因为我有不断增加的应用程序集,并且不希望每次都修改脚本。) 生成的apks以下列模式命名: app- flavorName-buildType .apk 如何将命名模式更改为以下内容: app_ flavorName_buildType_versionCode .apk 我想做的改变: 带有versionCode后缀文件名 用下划线替换连字符 我曾经在使用task ant做到这一点,但不知道如何用gradle做到这gradle 。 试图find一个解决方案,在新模式中立即创建名称,而不是在生成后重命名。 那可能吗? 我尝试在Settings -> Gradle下查找,但没有find任何内容。 我应该看的任何其他地方?

如何让runProguard为android-library Gradle插件工作?

我想在我的Android库的发布版本上运行ProGuard。 下面是我的项目中的build.gradle文件。 buildscript { repositories { mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:0.5.+’ } } apply plugin: ‘android-library’ repositories { mavenCentral() } android { compileSdkVersion 18 buildToolsVersion “18.0.1” defaultConfig { minSdkVersion 10 targetSdkVersion 18 } sourceSets { main { java { srcDir ‘src/main/java’ } resources { srcDir ‘src/../lib’ } } } buildTypes { release { runProguard […]