Articles of gradle

由于重叠的abis,在Play开发者控制台上完全隐藏了APK

我正在尝试使用以下代码在我的gradle中进行abi分割 splits { abi { enable true reset() include ‘x86’, ‘armeabi-v7a’/*, ‘arm64-v8a’, ‘x86_64’*/ universalApk true } } def abiVersionCodes = [‘armeabi-v7a’: 1, ‘x86′: 2, /*’arm64-v8a’: 2,’x86_64′: 4*/] android.applicationVariants.all { variant -> // assign different version code for each output variant.outputs.each { output -> def filter = output.getFilter(OutputFile.ABI) if (filter != null) { output.versionCodeOverride = abiVersionCodes.get(output.getFilter(OutputFile.ABI)) […]

Android Studio:如何将IntelliJ项目迁移到Gradle?

我有一个最初来自IntelliJ的项目。 我按照下面的说明操作。 http://tools.android.com/tech-docs/new-build-system/migrating-from-intellij-projects 我不知道下一步该做什么。 当我在Android Studio中加载项目时,它仍然会询问我是否要迁移到gradle。 我错过了什么? 我能够在命令提示符下使用Gradle来构建我的项目,所以我假设我只需要告诉Android Studio使用Gradle而不是Ant。

由于.fuse_hidden,Gradle无法删除目录

当我在Android studio中重建Gradle项目时,它给出了以下错误: Gradle:任务’:lib:clean’的执行失败。 无法删除目录:/path/to/project/lib/build/exploded-bundles/ComAndroidSupportAppcompatV71901.aar 原来,文件夹ComAndroidSupportAppcompatV71901.aar包含一个名为.fuse_hidden0000175300000012 (或其他一些随机文件)的文件。 我已经google了,似乎它是一种文件系统链接到一个标记为删除但仍被某些进程使用的文件。 正如我对该文件所做的那样,它表明它确实在使用…由Android Studio。 是否有可能告诉Android Studio发布该文件以便删除? 我在Ubuntu 13.10下使用Android Studio 0.4.2 ,文件系统是NTFS。

Context.getPackageName()vs BuildConfig.APPLICATION_ID

我可以使用以下方法检索包名: Context.getPackageName() 要么 BuildConfig.APPLICATION_ID 这两种方式有什么区别吗? 在特定情况下,是否优先考虑另一个? 假设他们总是给出相同的结果是否安全? 基本上哪一个更好 ?

无法为Linux amd64加载本机库’libnative-platform.so’

首先,如果这属于Ask Ubuntu,我很抱歉……我不确定这个论坛是什么。 我正在尝试使用PHP和shell脚本从Github派生并构建一个Android项目。 基本上,我是从我写入网站的shell脚本中打印出一些输出。 当您访问该页面并按下某些按钮时,该项目将使用Gradle进行分叉和构建。 PHP代码运行shell脚本,然后在命令运行时将输出打印到浏览器中。 但是,我收到此错误作为我的脚本的输出: FAILURE: Build failed with an exception. * What went wrong: Failed to load native library ‘libnative-platform.so’ for Linux amd64. 该脚本现在只是运行gradle build ,但我打算稍后更改…现在,我正在构建根项目并输出结果。 如果我使用–stacktrace标志运行命令,这是输出: * Exception is: net.rubygrapefruit.platform.NativeException: Failed to load native library ‘libnative-platform.so’ for Linux amd64. at net.rubygrapefruit.platform.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:49) at net.rubygrapefruit.platform.Native.init(Native.java:55) at org.gradle.internal.nativeintegration.services.NativeServices.initialize(NativeServices.java:74) at org.gradle.internal.nativeintegration.services.NativeServices.initialize(NativeServices.java:60) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:203) at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169) […]

file:/// android_res / drawable在使用flavor与其他包名称时不起作用

我的问题是,在我向我的项目添加了flavor之后,使用与实际源不同的包名称的风味似乎在访问android_res/drawable的文件时出现问题。 更具体地说,我有一个调用下图的html视图。 该图像显示在生产flavor中,其包名称与java文件的目录相同,但它不适用于beta版本: productFlavors { production { packageName “com.company.myapp” } beta { packageName “com.company.beta” } } 其中包含java文件的实际目录 java/com/company/myapp 这很奇怪,因为资源甚至不在该文件夹中。

Gradle buildType / productFlavor使用意外的buildConfigField

鉴于以下配置: productFlavors { normal { applicationId “com.app” } mock { applicationId “com.app.mock” } } buildTypes { debug { productFlavors.normal.buildConfigField “boolean”, “mockMode”, “false” productFlavors.mock.buildConfigField “boolean”, “mockMode”, “true” } release { productFlavors.normal.buildConfigField “boolean”, “mockMode”, “false” // Release should never point to mocks. Ever. productFlavors.mock.buildConfigField “boolean”, “mockMode”, “false” } } 我原以为BuildConfig.mockMode = true; 但是,这是生成的构建配置: public final class BuildConfig […]

粘性网格标题不适用于某些Android版本

我正在使用Sticky网格标题与下面的应用程序Gradle依赖项。 dependencies { compile fileTree(include: [‘*.jar’], dir: ‘libs’) compile ‘com.android.support:appcompat-v7:25.3.1’ compile ‘com.android.support:design:25.3.1’ compile ‘com.android.support:support-v4:25.3.1’ compile ‘com.tonicartos:stickygridheaders:1.0.1’ testCompile ‘junit:junit:4.12’ } 并且构建工具版本 android { compileSdkVersion 25 buildToolsVersion “25.0.2” defaultConfig { applicationId “com.example.stickyheader” minSdkVersion 16 targetSdkVersion 25 versionCode 8 versionName ‘3’ multiDexEnabled true } } Curruntly使用android studio 2.2.3。 在我更新Android studio之前,它适用于所有设备,也适用于kitkat版本。 在某些设备中特别是在kitkat下面崩溃,以及kitkat版本代码以上工作正常。 在以下版本的kitkat设备中,我收到了此错误, 堆栈跟踪 04-14 10:32:13.520 24869-24869 / com.example.stickyheader […]

兄弟子模块上的资源,Gradle项目

我正在尝试将我公司的项目从Maven迁移到Gradle,到目前为止我已经能够将所有POM转换为相应的build.gradle文件,但是在构建时我在子模块中遇到了一个问题。 – Core-UI —- Utils —- FieldPanels 子模块FieldPanel使用Utils中定义的颜色和其他资源。 我尝试添加Utils项目作为依赖项,但它不起作用,我错过了什么? /home/development/AndroidStudioProjects/com.project/core-ui/common.android.fieldpanels/build/bundles/debug/res/layout/base_summary_step_layout.xml:2: error: Error: No resource found that matches the given name (at ‘background’ with value ‘@color/wizard_summary_bg’). Utils gradle.build buildscript { repositories { mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:0.5.2’ } } apply plugin: ‘android-library’ android { sourceSets { main { manifest { srcFile ‘AndroidManifest.xml’ } res { […]

如何发布Android .aar源码以使Android Studio自动find它们?

我正在将库发布到内部Sonatype Nexus存储库。 Android Studio具有自动查找通过gradle引用的库的正确来源的function。 我将aar的来源作为一个单独的jar发布到nexus。 但Android Studio并没有把它们搞砸。 如何发布源代码以使其在Android Studio中可用?