Articles of android gradle

在XML中使用包名

我正在使用Android Studio构build我的应用程序。 我想使用gradle buildTypes。 我使用applicationIdSuffix为包名添加后缀,以修改testing生成types的包名。 buildTypes { debug { runProguard false proguardFile 'proguard-rules.txt' applicationIdSuffix '.dev' versionNameSuffix '-dev' } } 是否有可能在xml文件中使用这些信息。 我的计划是修改账户types: <account-authenticator xmlns:android="http://schemas.android.com/apk/res/android" android:accountType=<<PACKAGE NAME HERE ??>> android:icon="@drawable/icon" android:label="@string/app_name"/> 谢谢!

错误:访问后无法configuration“发布”扩展名

错误:访问后无法configuration“发布”扩展名。 更新我的android studio后,我得到这个错误。 这是我的app.gradle apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion '23.0.2' defaultConfig { minSdkVersion 14 targetSdkVersion 23 versionCode 1 versionName "1.0" vectorDrawables.useSupportLibrary = true generatedDensities = [] } aaptOptions { additionalParameters "–no-version-vectors" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), proguard-rules.pro' } } dexOptions { preDexLibraries = false javaMaxHeapSize "4g" } } […]

Appcompat v7没有被拉入项目

我inheritance了一个使用appcompat-v7:20.0.0的项目 我无法构build项目,因为似乎在同步/构build时,gradle不包含appcompat库。 我的依赖在build.gradle: dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:20.0.0' compile 'com.nineoldandroids:library:2.4.0' compile 'com.google.android.gms:play-services:+' } 也没有播放服务被拉入项目,但九个老机器人(我试图包括不同的图书馆,似乎从jcenter的一切都下载)正如你可以看到在下面的截图: gradle插件是1.0.0,在同步过程中没有问题。 有这种types的问题的任何已知的解决scheme? 编辑1: Android支持信息库 Android支持库 Google Play服务 都安装好了。 但是,它也适用于新创build的项目。 编辑2: ./gradlew build输出: Caused by: org.gradle.internal.UncheckedException: com.android.ide.common.internal.LoggedErrorException: Failed to run command: /Users/stephan/Library/Android/sdk/build-tools/20.0.0/aapt package -f –no-crunch -I /Users/stephan/Library/Android/sdk/platforms/android-21/android.jar -M /Users/project-path/build/intermediates/manifests/full/flavor/beta/AndroidManifest.xml -S /Users/project-path/build/intermediates/res/flavor/beta -A /Users/project-path/build/intermediates/assets/flavor/beta -m -J /Users/project-path/build/generated/source/r/flavor/beta -F /Users/project-path/build/intermediates/res/resources-flavor-beta.ap_ […]

如何为manifestPlaceholder设置默认值

我在库项目的build.gradle文件中使用manifestPlaceholder标记。 使用图书馆的人应该适当地定义它。 库中的AndroidManifest.xml: <meta-data android:name="library_id" android:value="${libraryId}"/> 应用程序端的Build.gradle文件: manifestPlaceholders = [libraryId: "example"] 是否有任何选项来重写库侧的manifestPlaceholder标记? 我只想定义一个默认值,如果用户想改变它,用户应该可以自由提供一个值。

如何从Git导入Android Studio项目

我有和Android工作室项目,我检查了混帐。 我的git忽略文件如下所示: # built application files *.apk *.ap_ # files for the dex VM *.dex # Java class files *.class # generated files bin/ gen/ # Local configuration file (sdk path, etc) local.properties # Eclipse project files .classpath .project # Proguard folder generated by Eclipse proguard/ # Intellij project files *.iws .idea/workspace.xml .idea/tasks.xml /gradle 当我去我的笔记本电脑下拉项目,我不知道是否应该打开或导入android工作室内正确地在项目中。 […]

Android Studio如何知道新的依赖版本?

Android Studio似乎知道何时有更新版本的依赖关系。 Maven仓库有所有的版本,所以它当然可以在那里检查,但是并不是所有的依赖项都这么做。 注意到它适用于com.google和com.android依赖项,但不适用于其他项目。 这是为什么? 可以configuration吗? 任何有关这方面的见解,赞赏。

在0.4.6升级后,Gradle Sync不会完成

在我将Android Studio升级到0.4.6之后,它似乎陷入了Gradle Sync的困境。 黄色的带子一直在“Gradle Project Synch in Progress”上面。 但是,没有任何迹象表明从底部的酒吧运行任何进程。 当我尝试运行我的应用程序时,出现在气球中的“Gradle Project Sync失败,请修复您的项目并再试一次”失败。 但是,没有更多的信息。 在升级到0.4.6之前,我正在成功完成这个项目。 而且由于0.4.5从0.4.5快速更新(在5天内),修复了一些与gradle相关的bug,我开始怀疑这是否是他们介绍的新东西。

带时间戳的Android Gradle构build文件,运行昨天的版本

下面我有我的生成Gradle的文件。 问题。 它运行昨天的APK,而不是今天的。 根本原因。 我dynamic地将date放在apks名称中 – 用于debugging版本。 当我运行应用程序时,它会看到旧的APK,并看到它与Gradle预期的相匹配,因为Gradle没有刷新并注意到date更改。 我需要强制gradle刷新每一次运行。 buildTypes { debug { debuggable true minifyEnabled false proguardFiles 'proguard-rules.pro' applicationVariants.all { variant -> variant.outputs.each { output -> def formattedDate = new Date().format('yyyyMMdd') def newName = output.outputFile.name newName = newName.replace("app-", "myappname-") //"MyAppName" -> I set my app variables in the root project newName = newName.replace("-release", "-" […]

如何从gradle构build口味排除res文件夹?

我有一个要求从味道中删除特定的res文件夹。 sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] aidl.srcDirs = ['src'] assets.srcDirs = ['assets'] } } productFlavors { flavor1 { sourceSets { flavor1 { resources { exclude 'res/drawable-mdpi/*' } } } } flavorDimensions "flavor" } 但仍然drawable-mdpi文件夹来到apk。 那么请有人指出我犯了什么错误。 感谢Vivek

Gradle:如何在Android构build中包含来自依赖java项目的本地jar?

在我的Android应用程序中,当执行引用依赖.jar中代码的代码时,我得到一个java.lang.NoClassDefFoundError 。 我的项目包括一个Android模块以及一个纯Java库模块,这是jar依赖项的位置。 我使用gradle 1.10来构build项目。 这是我的项目布局: myProject – app (Android) – src – build.gradle – lib (java) – src – libs – local-dependency.jar – build.gradle – build.gradle – settings.gradle 主项目build.gradle为空,而主项目settings.gradle看起来像: include ':app', ':lib' Android应用程序build.gradle看起来像: buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.8.+' } } apply plugin: 'android' repositories { mavenCentral() } android { […]