Articles of gradle

Android Studio 0.5.0 – 升级后无自动代码完成和错误语法识别器

在我开始编写代码之前,我将Android Studio升级到0.5.0没有任何问题。 这太奇怪了。 自动代码完成不再起作用。 没有显示下拉列表。 更糟糕的是,我故意写错了语法,但IDE无法自动警告,因为它仍然在滚动线(右侧)。 我确定我已经改成’com.android.tools.build:gradle:0.9.+’ 。 有帮助吗? 更新: 我想通了。 原因是,我不小心打开了File> Power Save Mode ,它阻止了自动完成,而不是因为Android Studio 0.5.0本身。

Android Studio – Gradle 1.5 – 核心库选项

我的Android项目和Gradle 1.5有问题。 我无法编译我添加的依赖项。 目前我正在开发一个Java EE应用程序,我想从我的Android设备执行EJB查find我运行的Wildfly10。 我知道,从Android设备进行查找可能不是最好的选择,REST Web服务会更好,但这不是重点。 在我的项目中,我添加了一个包含所有外部库的新模块,并将此模块添加到我的:app作为依赖于“编译”级别。 一切正常,直到我想添加jboss-client.jar。 在dex期间,他正在抱怨javax.transaction。*。 我现在做了什么 添加了multiDexEnabled为true 添加了preDexLibraries false 玩弄所有其他dex选项 我也试过这个: Android dx工具 这个: Android Studio忽略–core-library标志 并在Android Studio设置中设置–core-library标志 他们为什么不工作 解决方案:我在每个构建工具中修改了我的dx.bat ..没有改变。 它只是不起作用 解决方案:com.android.build.gradle.tasks.Dex未知(我不知道如何添加),Gradle 1.5不支持coreLibrary 解决方案:gradle完全忽略了 项目minSDK是19,targetSDK是23,使用构建工具23.0.2我从命令行调用了dx.bat,其参数与gradle相同,我只添加了–core-library arg,它可以工作! 但这并没有解决Android Studio和Gradle中的问题。 谁能帮帮我吗? 更新:好的,我看了一下com.android.dx.command.Main的源代码。 有一个公共内部类“Arguments”,它包含(显然)可以使用的参数,也包含coreLibrary = false。 现在我只需要知道如何修改它。 有人知道吗? 最好的问候,克里斯

将Android Studio Gradle插件更新为上一版本

我是Android开发的新手,我试图在我的Android Studio项目中安装Facebook SDK。 然后,我在build.gradle中有一个错误: Error:(111, 0) Cannot call getBootClasspath() before setTargetInfo() is called. 所以我搜索了一个解决方案,我在堆栈中find了这个: 这是一个已知问题,可以通过将gradle更新为: dependencies { classpath ‘com.android.tools.build:gradle:1.1.2’ } 所以我尝试了这个,但后来我得到了错误: Error:Could not find com.android.tools.build:gradle:1.1.2. Searched in the following locations: file:/home/roman/Documents/softs/android-studio/gradle/m2repository/com/android/tools/build/gradle/1.1.2/gradle-1.1.2.pom file:/home/roman/Documents/softs/android-studio/gradle/m2repository/com/android/tools/build/gradle/1.1.2/gradle-1.1.2.jar Required by: Yoki:facebook:unspecified 所以我移动到指定的目录,然后只有这个: $> ls 1.0.0 1.1.0 $> pwd /home/roman/Documents/softs/android-studio/gradle/m2repository/com/android/tools/build/gradle 如何更新gradle插件?

shrinkResources设置为true,但未删除所有未使用的资源(特别是drawable)

我将shrinkResources设置为true,如下所示: releasepro { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ applicationIdSuffix “.pro” } 但这只是删除了一些未使用的资源。 我知道gradle做了一些猜测,并留下了不确定未使用的资源。 有没有办法100%删除所有未使用的资源? 我读到在另一个线程中将shrinkMode设置为strict。 这会有帮助吗? 我无法尝试,因为我无法确定设置它的位置。 查看示例和文档,但遗憾的是无法访问正确的页面。 有没有办法确保100%删除未使用的资源?

Robolectric测试在Android Studio中运行,但不在命令行上运行

我正在尝试使用Robolectric进行unit testing; 它们在Android Studio下运行正常,但在命令行中运行时完全相同的测试失败 – 这是一个大问题,我需要能够从我的持续集成平台运行它们,而不仅仅是从IDE运行它们。 我怀疑我缺少一些命令行参数(例如,类路径或类似的东西)或调用错误的任务 – 否则测试将无法从Android Studio运行。 一些相关细节; 测试看起来像这样: @RunWith(RobolectricTestRunner.class) @Config(manifest = “app/src/main/AndroidManifest.xml”, resourceDir = “res”, emulateSdk = 19) public class SplashActivityTest { @Test public void testActivity() { SplashActivity splashActivity = new SplashActivity(); String appName = splashActivity.getString(R.string.app_name); // HERE, line 20 assertEquals(appName, “App”); } } 如上所述,它在Android Studio中正常运行(通过右键单击测试文件并选择Run ‘SplashActivityTest’ )但是当从命令行运行它时,它会在标有HERE的行中失败,并显示以下堆栈跟踪: android.content.res.Resources$NotFoundException: unknown resource […]

如何将依赖项包含到.aar库中?

我正在使用Android Studio 1.4 我的项目中有一个模块,它在build.gradle中有下一个依赖项: dependencies { provided fileTree(dir: ‘libs’, include: [‘*.jar’]) provided ‘junit:junit:4.12’ apply plugin: ‘com.google.gms.google-services’ provided ‘org.apache.directory.studio:org.apache.commons.io:2.4’ provided ‘com.google.android.gms:play-services:8.1.0’ provided ‘com.fasterxml.jackson.core:jackson-databind:2.2.0’ provided ‘com.fasterxml.jackson.core:jackson-core:2.2.0’ provided ‘com.fasterxml.jackson.core:jackson-annotations:2.2.0’ } 在构建projectn并同步gradle之后,我在我的module / build / ouputs / aar文件夹中获取了lib-release.aar。 比我尝试文件>新模块>导入JAR \ AAR它。 然后,添加后 compile project(‘:mylib-release’) 我在“外部库”树中只获得了没有声明依赖关系的包。 如何通过仅填写我的库来启用这些软件包的自动安装?

在android studio中执行自定义独立gradle任务

我有一个包含多个模块的android项目。 我正在尝试从其中一个模块运行自定义gradle任务,但每次我在模块以及其他模块中运行任务所有其他gradle任务。 我的任务不依赖于任何其他任务。 任务 : task helloTask{ println “Hello task” } 我尝试通过工作室和命令行中的终端窗口运行此任务。

如何在打包文件时使用Gradle删除原始XML文件中的注释

我的项目在我的Android项目的原始资源目录中有XML文件: 当我们将这些文件打包在.apk文件中时,我想从这些文件中删除注释( ): 原始文件样本: 预期的过滤文件: 我在这里find了一些有趣的类似解决方案,但我无法管理它。 在我的app build.gradle添加这些行 processResources { filesMatching(‘**/myxmlfiletobestrippedfromcomments.xml’) { filter { String line -> line.replaceAll(”, ”) } } } 生成以下错误: Error:(86, 0) Gradle DSL method not found: ‘processResources()’ 要从java代码打开和解析XML文件,我使用以下方法: InputStream definition = context.getResources().openRawResource(resId); … try { XmlPullParser parser = Xml.newPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false); parser.setInput(definition, null); parser.nextTag(); return parseCelebrations(parser); } finally { definition.close(); }

connectedAndroidTest和release构建types

我正在使用gradle:1.2.3 我想在发布(签名,缩小)配置上运行我的androidConntectTests(检测测试),但我不能。 我的构建types: buildTypes { debug { minifyEnabled false debuggable true } robotium { debuggable true minifyEnabled true signingConfig signingConfigs.release proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } release { minifyEnabled true debuggable false signingConfig signingConfigs.release proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } 我已经读过,那些测试只能在debbugable配置上运行,所以我制作了“robotium”构建types(见上文),但它仍然不起作用。 当我尝试调用“gradle tasks”时,它只显示connectedAndroidTest-Flavor-Debug,并且调用“connectedAndroidTest-Flavor-Release / Robobium”只会失败并显示“在根项目中找不到任务XXX”。 有没有办法让不同的构建types运行检测测试?

Android Studio中的原生预建共享库,带有实验性Gradle插件

我试图在Android Studio中为我的项目添加一个原生的预建共享库。 我正在使用gradle-experimental:0.6.0-alpha5 。 但是,每当我尝试将预构建的共享库添加到我的应用程序模型时,我都会收到以下错误: 错误:原因:org.gradle.api.internal.PolymorphicDomainObjectContainerConfigureDelegate 该库将添加到应用程序模型中,以供Google Gradle实验指南描述: repositories { prebuilt(PrebuiltLibraries) { binaries.withType(SharedLibraryBinary) { sharedLibraryFile = file(“/path_to_libs/${targetPlatform.getName()}/shared_lib.so”) } } } android.sources { main { jniLibs { dependencies { library “shared_lib” } } } } 关键的一行是库“shared_lib” 。 如果我取消注释此行,则没有错误。 由于这不起作用,我也尝试使用ph0b.com的指南。 他们使用不同的语法来添加本机共享库(我只是遗漏了标题,因为我没有包含所有标题的单个目录): repositories { libs(PrebuiltLibraries) { shared_lib { binaries.withType(SharedLibraryBinary) { sharedLibraryFile = file(“/path_to_libs/${targetPlatform.getName()}/shared_lib.so”) } } } } android.sources […]