Articles of gradle

如何创建一个Android库并将其上传到github上?

我在Android Studio中创建了一个新模块,并在其中编写了我的代码。 现在我想将它上传到github并获得一个gradle依赖项,其他人可以包含在他们的项目中并使用我的库。 我怎么才能得到它? PS。 我知道如何使用git,我只是不知道如何只上传库模块并获得gradle依赖。

Android Studio minSdkVersion和targetSdkVersion警告

在我拥有的Android项目中,我在build.gradle文件中有这个部分: android { compileSdkVersion 19 buildToolsVersion “19.0.3” defaultConfig { minSdkVersion 16 targetSdkVersion 19; } } 在’minSdkVersion’和’targetSdkVersion’属性中,有警告: ‘minSdkVersion’ cannot be applied to ‘(java.lang.Integer)’ ‘targetSdkVersion’ cannot be applied to ‘(java.lang.Integer)` 这是一个错误,还是其他什么?

Gradle编译错误“No Signature of Method”

当我尝试从终端运行./gradlew build.gradle时,我遇到了以下错误: > No signature of method: org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.compile() is applicable for argument types: (org.gradle.api.internal.project.DefaultProject_Decorated) values: [project ‘:TestMobile’] Possible solutions: module(java.lang.Object) 我尝试在root build.gradle文件和子项目中应用java插件。 但我仍然得到同样的错误。 我有以下项目结构: ProjectRepos ->build.gradle ->settings.gradle ->TestMobile (Android plugin) ->build.gradle ->ThirdParty/SlidingMenu (Android library) ->build.gradle 顶级build.gradle包含: // Top-level build file where you can add configuration options common to all sub- projects/modules. buildscript { repositories { […]

一个gradlew做什么

我有一个项目,这是一个日食项目。 现在我正在使用带有gradle 2.2.1的Android Studio。 我发现当我使用Android Studio创建项目时,它将生成一个gradlew文件,它可能包含一些CLI函数。 但是当我将项目从eclipse转移到Android Studio时,我没有find我的gradlew文件。 所以,这是我的问题:gradlew文件究竟做了什么? 它可以定制吗?

将依赖项迁移到Android Jetpack

所以我一直在将我的依赖项从支持库迁移到jetpack映射, 如此链接中所述 。 我现在在构建我的应用程序时遇到错误,让我一无所知。 我不知道是什么导致这个错误导致它看起来像生成的资源。 错误是: Android resource linking failed Output: C:\Users\Ruben\Documents\Bowvie\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:8673: error: expected reference but got (raw string) #000000. error: failed linking references. Command: C:\Users\Ruben\.gradle\caches\transforms-1\files-1.1\aapt2-3.2.0-alpha14-4748712-windows.jar\90bbfcfb9476bccff8420ad6f86bed60\aapt2-3.2.0-alpha14-4748712-windows\aapt2.exe link -I\ C:\Users\Ruben\AppData\Local\Android\Sdk\platforms\android-P\android.jar\ –manifest\ C:\Users\Ruben\Documents\Bowvie\app\build\intermediates\merged_manifests\debug\processDebugManifest\merged\AndroidManifest.xml\ -o\ C:\Users\Ruben\Documents\Bowvie\app\build\intermediates\processed_res\debug\processDebugResources\out\resources-debug.ap_\ -R\ @C:\Users\Ruben\Documents\Bowvie\app\build\intermediates\incremental\processDebugResources\resources-list-for-resources-debug.ap_.txt\ –auto-add-overlay\ –java\ C:\Users\Ruben\Documents\Bowvie\app\build\generated\not_namespaced_r_class_sources\debug\processDebugResources\r\ –custom-package\ nl.fdyr.movies\ -0\ apk\ –output-text-symbols\ C:\Users\Ruben\Documents\Bowvie\app\build\intermediates\symbols\debug\R.txt\ –no-version-vectors Daemon: AAPT2 aapt2-3.2.0-alpha14-4748712-windows Daemon #0 错误行(8673)是: #000000 新迁移的依赖项是: implementation ‘com.google.android.material:material:1.0.0-alpha1’ […]

在Gradle for Android应用程序中运行JUnit测试

我想在我的Android应用程序项目中运行简单,简单的JUnit测试,同时使用Gradle编写Activity测试。 花了很长时间配置Gradle并使其工作,但是,无论如何,现在我仍然试图让JUnit测试只是编译。 我检查了这个链接 ,但是当我运行gradle时,我收到以下错误: DummyTest.java:3: error: package junit. framework does not exist import junit.framework.Assert; ^ \DummyTest.java:8: error: cannot find symbol Assert.assertEquals(5,3); ^ symbol: variable Assert location: class DummyTest 所以,找不到junit …… 以下是我的完整gradle.build文件: buildscript { repositories { mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:0.6.+’ } } apply plugin: ‘android’ repositories { mavenCentral() } dependencies { compile files(‘libs/joda-time-2.3.jar’) compile […]

Proguard重复Zip输入

我试图通过Proguard运行我的Android应用程序,但这一直在出现: Warning:Exception while processing task java.io.IOException: Can’t write [C:\Users\Aliaksei\AndroidStudioProjects\SignOutSystem\app\build\intermediates\transforms\proguard\debug\jars\3\1f\main.jar] (Can’t read [D:\Users\Aliaksei\.android\build-cache\f7a6034d02d095f18cc21950f131d07fa78b41c0\output\jars\classes.jar(;;;;;;**.class)] (Duplicate zip entry [android/support/v4/os/j.class == classes.jar:android/support/v4/os/ResultReceiver$MyResultReceiver.class])) 我知道这意味着android.support.v4在某个地方被声明两次,所以我尝试将exclude group: ‘com.android.support’, module: ‘support-v4’到可能有它的任何可能的依赖项中包括在内,但是即使经过干净和重建之后也没有用。 我想我一定错过了某个地方的依赖,我继续把它添加到所有东西(Overkill),但那仍然没有奏效。 搜索周围,我在类似的post中find了这个片段,并在android部分添加了这个: packagingOptions { exclude ‘META-INF/DEPENDENCIES’ exclude ‘META-INF/NOTICE’ exclude ‘META-INF/LICENSE’ exclude ‘META-INF/LICENSE.txt’ exclude ‘META-INF/NOTICE.txt’ } 我已经没有想法了,寻找答案似乎把我带到了我已经尝试过的事情上。 我错过了什么? app build.gradle(乱七八糟,上面有所有黑客攻击): apply plugin: ‘com.android.application’ apply plugin: ‘realm-android’ //apply plugin: ‘com.getkeepsafe.dexcount’ android { compileSdkVersion 23 […]

具有特定Product Flavors依赖性的android-library

我正在寻找类似的东西 apply plugin: ‘android-library’ dependencies { flavor1Compile files(‘utility.aar’) } 一切都失败了: 无法在根项目“SampleProject”上find参数[文件集合]的方法flavor1Compile()。

在Android Gradle构建中,如何从包含的jar文件中排除依赖项?

在我的Android项目中,我使用了一个jar作为库。 我将它包含在依赖项部分中,如下所示: dependencies { … compile files(‘libs/thethirdpartylibrary.jar’) … } 我也想使用okhttp库,我包括这样的: compile (‘com.squareup.okhttp:okhttp:2.7.5’) (这个特定版本的okhttp取决于okio 1.6.0。) 问题是第三方jar库依赖于okio v0.9.0而更糟糕的是捆绑它。 结果,我在构建时遇到了一个dex冲突错误。 我能够通过手动从jar文件中删除okio来解决这个问题,这似乎有效。 但我想知道是否有办法在gradle中做到这一点。 我的问题:我可以在构建时使用gradle从包含的jar中删除捆绑的,可传递的(< – 我希望我正确地使用这个词)依赖关系吗?

Android / Gradle:根据构建types有条件地应用插件

我想做一些像(伪代码)的东西: if (BuildType == “release”){ apply plugin: ‘testfairy’ } else if (BuildType == “debug”){ apply plugin: ‘io.fabric’ } 这个想法是基于构建types,应用(或不应用)插件。 怎么做 ?