Articles of gradle

在打包APK期间复制文件

我使用的是Android Studio,我在那里使用了几个库。 我有: android-query-full.0.25.10.jar gson-2.2.4-sources.jar slide-menu.jar 我在build.gradle文件中定义了编译整个libs目录,如下所示: dependencies { compile ‘com.android.support:support-v4:13.0.+’ compile fileTree(dir: ‘libs’, include: ‘*.jar’) } 所有这些都很有效。 现在我想添加另一个库“PullToRefresh”我已经将Res和Src文件夹打包到一个带有eclipse源代码的jar文件中(就像我使用SlideMenu.jar一样)并将新创建的jar作为库添加到我的项目中紧挨着所有其他人。 当我尝试构建我的项目时,我从gradle中得到以下错误: Gradle: : duplicate files during packaging of APK C:\Code\TestProject\Test\build\apk\Endilo-debug-unaligned.apk Gradle: Execution failed for task ‘:Endilo:packageDebug’. > Duplicate files copied in APK res/values/attrs.xml File 1: C:\Code\TestProject\Test\libs\PullToRefresh.jar File 2: C:\Code\TestProject\Test\libs\PullToRefresh.jar 这是非常奇怪的,因为我从同一个jar文件中获得重复…这里发生了什么!?

Android Gradle app:connectedCheck从依赖项运行测试

我有一些库项目有自己的测试。 我不负责这个库项目并且不关心它的测试,但是,当我运行gradle :app:connectedCheck它运行我的测试,但它也运行依赖项的测试。 有什么办法可以阻止这个吗? 我应该提一下,我的依赖项不在我所说的app模块中。 编辑:更具体地说,我依赖的图书馆项目有非常长的测试,因为他们打算在凌晨2点在构建服务器上运行,所以我坐在这里等待油漆干燥只是为了让我真的很短试验。 EDIT2:我也尝试过使用Spoon。 我现在已经安装它并可以运行单个类,但我想在一个包中运行所有内容。 那可能吗? 编辑3:文件夹结构是无关紧要的,但这是一个非常非常详细的外观: root -some_library_project -main_project -settings.gradle main_project build.gradle看起来像这样。 我应该提一下勺子目前什么都不做,但我的选择是开放的: buildscript{ repositories { jcenter() } dependencies{ classpath ‘com.stanfy.spoon:spoon-gradle-plugin:0.10.+’ } } apply plugin: ‘com.android.application’ apply plugin: ‘spoon’ android { compileSdkVersion 20 buildToolsVersion ‘20.0.0’ defaultConfig { applicationId “com.something.main_project” minSdkVersion 17 targetSdkVersion 20 versionCode 1 versionName “1.0” testPackageName “com.something.main_project.test” testInstrumentationRunner “android.test.InstrumentationTestRunner” […]

产品味道是另一个孩子的孩子

我在我的应用程序中设置了产品风格并遇到了一个问题。 我的两种产品口味彼此非常相似,只是有一些资源不同,我们称之为FlavorA和FlavorB。 我想设置它以使FlavorA成为FlavorB的父级,这样FlavorB可以覆盖FlavorA的一些资源,然后FlavorA覆盖来自main的一堆资源。 有没有办法设置像这样的风格层次结构? 现在我需要在两者之间复制大量资源才能使它工作,我想消除这种重复。 编辑:好的。 到目前为止,我有几个答案(都已删除)与我的问题无关,所以让我澄清一下。 这与Java OOP没有关系,我已经很清楚了。 🙂 我遇到的问题是我的应用程序的免费/付费版本,以及几个仅包含主题更改的白色标签。 付费版本仅更改免费版本中的一些资产(除了代码更改)。 这就是我的productFlavors样子: productFlavors { whiteLabelA { applicationId “com.whiteLabelA.android” } whiteLabelB { applicationId “com.whiteLabelB.android” } mainFree { applicationId “com.mainFree.android” } mainPaid { applicationId “com.mainFree.android.paid” } } 我希望mainPaid覆盖mainFree因为它只更改了一些资源。 我想这样做而不是免费/付费的构建types,因为白色标签没有付费版本,并且更容易拥有类似的风格层次结构: mainPaid extends mainFree { applicationId “com.mainFree.android.paid” }

使用Android Studio 2.2和CMake在Android中编译和使用依赖于ABI的可执行二进制文件

我正在通过CMake通过stable gradle( http://tools.android.com/tech-docs/external-c-builds )测试新的Android Studio C / C ++构建。 在我的应用程序中,已经植根的设备需要使用我在Android Studio中编译的依赖于ABI的二进制文件。 当我尝试编译标准库时 add_library(mylib SHARED mylib.c) 它会自动编译并复制到APK的lib / [ABI]文件夹中(例如/lib/armeabi/mylib.so),但如果我编译可执行二进制文件: add_executable(mybinary mybinary.cpp) 在构建文件夹中核心生成二进制文件: app/build/intermediates/cmake/debug/lib/armeabi/mybinary app/build/intermediates/cmake/debug/lib/x86_64/mybinary … 但它们似乎没有被复制到apk内的任何地方。 哪种方法可以满足这种需求? gradle-task是要走的路吗? 的build.gradle: apply plugin: ‘com.android.application’ android { compileSdkVersion 24 buildToolsVersion “24.0.1” defaultConfig { applicationId “com.my.app” minSdkVersion 10 targetSdkVersion 24 versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” externalNativeBuild { cmake { […]

尝试创建gradle构建时出现问题

我们最近迁移到Android Studio(来自Intellij)。 我目前正在尝试迁移我们的项目以使用gradle进行构建。 我已经尝试将它安装在我们当前的文件夹结构周围,并且我已经尝试迁移我们的文件以匹配gradle文件结构。 我每次都有错误,我一直在寻找答案,但找不到任何与我们得到的相匹配的东西。 我尝试迁移到gradle文件结构时遇到的错误是: 什么地方出了错: 配置项目’:’时出现问题。 无法通知项目评估监听器。 未find名称“default”的配置 我使用旧文件结构得到的错误是: ::processDebugResources /Users/kbrown/dev/AndroidClient//build/res/all/debug/values/values.xml:311: error: Error retrieving parent for item: No resource found that matches the given name ‘@style/Widget.Sherlock.ActionBar.Solid’. /Users/kbrown/dev/AndroidClient//build/res/all/debug/values/values.xml:312: error: Error: No resource found that matches the given name: attr ‘background’. /Users/kbrown/dev/AndroidClient//build/res/all/debug/values/values.xml:314: error: Error: No resource found that matches the given name: attr ‘backgroundSplit’. 关于在哪里看的任何想法。 […]

在iOS中,我们在Android上有类似Gradle Build Flavors的东西

在iOS中,我们在Android上有类似Gradle Build Flavors的东西。 基本上我想将Applause SDK与我的应用程序集成,但我不希望该代码成为发布版本的一部分。 我只想使用applause sdk来内部分发应用程序并进行错误报告。 如果没有什么比味道更好的话,那么最好的方法是什么。

如何在Android上运行JavaFX

我尝试在Android上运行一个简单的JavaFX应用程序。 因此,我使用gradle来阅读javafxports入门指南来构建应用程序,但我被困在某个地方。 我可以使用Eclipse中的gradle的installDebug任务在Android设备上构建和安装应用程序,但是,当我启动应用程序时,我得到一个黑屏。 当我提取.apk文件时,它不包含JavaFX应用程序的jar文件。 我假设apk应该包含JavaFX应用程序jar文件,但我不知道如何将它包含在.apk 。 我还尝试使用gradle来构建JavaFX应用程序本身(jar文件),它工作正常。 但是,我不知道在哪里放这个jar文件,它可以包含在apk文件中。 我读过我要将它放入dist目录,但我认为这只会在Netbeans中使用吗? 我正在使用Eclipse gradle集成来构建项目。 这是我尝试过的。 由于JavaFX应用程序就像HelloWorld示例应用程序一样简单,并且像魅力一样,我希望在我的gradle构建文件中进行配置错误。 build.gradle – 构建apk apply plugin: ‘me.tatarka.retrolambda’ apply plugin: ‘android’ buildscript { repositories { jcenter() } dependencies { classpath ‘me.tatarka:gradle-retrolambda:2.5.0’ classpath ‘com.android.tools.build:gradle:1.0.1’ } } repositories { jcenter() } ext { dalvikSdkHome = getProjectProperty(‘dalvikSDK’) dalvikSdkLib = dalvikSdkHome + ‘/rt/lib’ } android { compileSdkVersion 21 […]

在Android Studio中删除.gradle文件夹是否安全?

我有一个正在工作的旧项目,我注意到.gradle文件夹有太多子文件夹用于我过去更改过的每个gradle分发版,删除旧版本的子文件夹是否安全?

Android Studio:在资源sourceSets下排除资源文件

我正在使用android studio作为IDE开发一个Android应用程序。 我的问题是: 如何在构建APK的过程中排除某些目录下的某些文件? 在我的情况下,我想从构建中排除一些图像,因为我的项目中使用的那些文件被指定为从应用程序中的网络下载,而在开发期间我希望在布局中引用它们。 谷歌搜索后,我find了一些解决方案: Gradle 1.2:排除资源sourceSets下的目录 如何使用Gradle和Android Studio从资源中排除文件? 并参考 gradle.org 然后我在build.gradle中提出了我的解决方案: sourceSets { main { resources.exclude ‘**/drawable/*’ res.exclude ‘**/drawable/*’ } } 但它不起作用,res / drawable /下的图像仍然显示(下载前)。 Android Studio版本目前为0.8.4。 任何想法将不胜感激。

添加依赖项到Android Cordova插件

我正在构建一个Cordova Android插件 。 我想在插件 (特别是剪刀 ) 创建的Intent中使用第三方View 。 通常(在非Cordova项目中)我会转到我的项目的build.gradle文件并添加如下: dependencies { compile ‘com.lyft:scissors:1.0.1’ } 但似乎我的插件项目中的build.gradle文件似乎没有被触及? 向插件项目添加依赖项的正确方法是什么,通过Cordova支持构建并通过Android Studio构建? 同样的问题,但对于本地项目(不在GitHub上托管)。