Articles of gradle

Gradle sync中的块数据意外结束

我想在Android Studio v0.5.4中启动一个项目,但是我一直收到以下错误: [ 130340] WARN – nal.AbstractExternalSystemTask – Cause: unexpected end of block data com.intellij.openapi.externalSystem.model.ExternalSystemException: Cause: unexpected end of block data at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.execute(GradleExecutionHelper.java:206) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:116) at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:64) at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl$1.produce(RemoteExternalSystemProjectResolverImpl.java:41) at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl$1.produce(RemoteExternalSystemProjectResolverImpl.java:37) at com.intellij.openapi.externalSystem.service.remote.AbstractRemoteExternalSystemService.execute(AbstractRemoteExternalSystemService.java:59) at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.resolveProjectInfo(RemoteExternalSystemProjectResolverImpl.java:37) at com.intellij.openapi.externalSystem.service.remote.wrapper.ExternalSystemProjectResolverWrapper.resolveProjectInfo(ExternalSystemProjectResolverWrapper.java:49) at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.doExecute(ExternalSystemResolveProjectTask.java:48) at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:137) at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:123) at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$3.execute(ExternalSystemUtil.java:467) at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$4$2.run(ExternalSystemUtil.java:546) at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:464) at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178) at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209) at […]

错误:无法find或加载主类org.gradle.wrapper.GradleWrapperMain

我对Android应用程序的build.gradle已经变得非常冗长。 看看这个名为gradle-lint-plugin的插件并正确配置它。 在其文档中说 运行./gradlew fixGradleLint以自动修复构建脚本 但在运行时我得到Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain 。 这与使用自己的Gradle插件的Android Studio有什么关系吗? 我没有在系统范围内安装Gradle。 编辑 :我不想在系统范围内安装Gradle – 有没有办法在Android Studio中执行此操作?

我怎么知道android gradle插件的applicationVariants中的属性?

我正在使用带有gradle插件的Android Studio来开发应用程序。 我在DSL Reference上学习了一些android gradle插件的用法。 但我发现的一件事是doc上的applicationVariants部分很难理解。 它只给出了这样的描述: DomainObjectSet applicationVariants 应用程序变体列表。 由于集合是在评估之后构建的,因此应该与Gradle的all迭代器一起使用来处理未来的项目。 但是ApplicationVariant中的属性是什么? 我不知道。 我没有find任何引用链接来描述ApplicationVariant。 仅在页面底部的Gradle Plugin用户指南中。 它记录了applicationVariants,libraryVariants和testVariants中的可用属性。 但我发现其中一些属性已被弃用了很长时间,而且Android没有更新此页面。 那么我在哪里可以findApplicationVariant中最新的属性?

更新到3.0.0后,Android Studio“错误:无法读取元数据”

我已经将Android Studio更新到v3.0.0,现在我无法构建我的项目。 Android Studio在构建和构建崩溃时将.flat添加到资源文件名,因为它无法识别.flat扩展名。 我试图清理项目并重建它但我仍然得到这个错误。 我不知道是什么原因引起的。 我希望有人可以帮助我解决我的问题,因为Studio无法成功构建,它无法find我的依赖项,我无法工作。 Gradle控制台输出 Executing tasks: [clean, :TP2A:assembleDebug, :TP2B:assembleDebug] Configuration on demand is an incubating feature. Configuration ‘compile’ in project ‘:TP2A’ is deprecated. Use ‘implementation’ instead. Configuration ‘androidTestCompile’ in project ‘:TP2A’ is deprecated. Use ‘androidTestImplementation’ instead. Configuration ‘testCompile’ in project ‘:TP2A’ is deprecated. Use ‘testImplementation’ instead. Configuration ‘compile’ in project ‘:TP2B’ […]

Android Studio:如何获得对齐的签名版APK?

我正在使用Android Studio,而对于其他项目,当我尝试生成已签名的APK时,我会得到app-release.apk文件, app-release.apk会有任何进一步的麻烦。 但是在这个特定的项目中,我只能得到一个app-release-unaligned.apk文件。 与我的其他项目的主要区别在于使用transloadit jar和org.apache.httpcomponents库,我必须在我的graddle文件中写下packagingOptions字段。 这是我的build.grade文件 apply plugin: ‘com.android.application’ android { signingConfigs { } compileSdkVersion 22 buildToolsVersion “22.0.1” defaultConfig { applicationId “com.bambinotes.bambinotessnap” minSdkVersion 16 targetSdkVersion 22 versionCode 1 versionName “1.0” } buildTypes { release { proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ zipAlignEnabled true } } packagingOptions { exclude ‘META-INF/DEPENDENCIES’ exclude ‘META-INF/NOTICE’ exclude ‘META-INF/LICENCE’ exclude ‘META-INF/LICENSE’ exclude ‘META-INF/DEPENDENCIES’ […]

如何使用Android Studio Gradle构建复制或使用本机库?

我有一个本地库 / libs / armeabi文件夹名为libparser.so和一个关联的jar文件。 我更改了gradle构建文件以包含jar文件,这似乎很容易(MYNEWJAR): dependencies { compile files(‘libs/android-support-v4.jar’, ‘libs/MYNEWJAR.jar’) } 但是当我运行应用程序时,我认为它无法find本机库: E/AndroidRuntime(22569): Caused by: java.lang.UnsatisfiedLinkError: Couldn’t load parser from loader dalvik.system.PathClassLoader[dexPath=/data/app/com.hybris.mobile.history-1.apk,libraryPath=/data/app-lib/com.hybris.mobile.history-1]: findLibrary returned null E/AndroidRuntime(22569): at java.lang.Runtime.loadLibrary(Runtime.java:365) E/AndroidRuntime(22569): at java.lang.System.loadLibrary(System.java:535) E/AndroidRuntime(22569): at com.senstation.android.pincast.Pincast.(Pincast.java:1299) E/AndroidRuntime(22569): … 17 more 你能帮我直接获取构建文件所以它将包含本机库吗? 这似乎是在Eclipse上自动发生的,但我真的想使用android studio。 谢谢! 斯文

在清单中使用flavor的包

鉴于以下应用程序的风格: productFlavors { pro { applicationId = “com.example.my.pkg.pro” } free { applicationId = “com.example.my.pkg.free” } } 我需要声明GCM权限: com.example.gcm´必须替换为com.example.my.pkg.pro或com.example.my.pkg.free具体取决于当前的风味。 如何配置清单以自动选择applicationId字段中定义的包?

构建脚本错误,发现不支持的Gradle DSL方法:’android()’!

我正在使用Android Studio 0.4.5并且无法同步gradle。 当我尝试这样做时,我收到此错误: Gradle ‘MyApp’ project refresh failed: Build script error, unsupported Gradle DSL method found: ‘android()’! 我的解决方案包含4个模块 这是我的root build.graddle : buildscript { repositories { mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:0.8.+’ } } android { packagingOptions { exclude ‘META-INF/LICENSE.txt’ } } allprojects { repositories { mavenCentral() } } 和其他人(为了简单起见,我删除了依赖项) 第1单元 apply plugin: ‘android’ buildscript […]

用gradle重命名apk – >获取相同的apk两次

我有一个具有不同风格的应用程序 – 每种风格都有两个buildTypes。 重命名我的清单中的一些行后,我也重命名了apk。 一切正常 – 我只是想知道为什么我两次得到相同的apks? 一旦没有重命名,一旦重命名…… 具有不同名称的相同应用的简短示例: “myApp-flavor-buildType.apk”(未重命名) “myApp-appName-buildType-version.apk”(重命名为apk) 这是我的build.gradle文件的代码: // *** OVERRIDE data in MANIFEST *** android.applicationVariants.each { variant -> variant.processManifest.doLast { overrideDataInManifest(variant) } } def overrideMapsKey(buildVariant){ def appName = getAppName(buildVariant) // override line … this is not necessary to this question renameAPK(buildVariant, appName) } // *** RENAME APK *** def renameAPK(buildVariant, […]

“已添加”与ormlite和gradle的exception

我正在使用带有gradle 0.5的android studio 0.2.3并将ormlite依赖项添加到build.gradle文件中,如下所示: compile ‘com.j256.ormlite:ormlite-android:4.9’ Gradle下载了两个jar文件: ormlite-android.jar和ormlite-core.jar 。 问题是,jar文件包含具有相同名称的类。 所以我得到以下众所周知的exception: UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already added: Lcom/j256/ormlite/dao/BaseDaoImpl$1; 存在与maven相同问题的其他解决方案,建议排除ormlite-core.jar 。 如果ormlite-core.jar中的所有类都包含在ormlite-android.jar这应该有效 – 我没有检查这个btw。 在这种情况下,我不明白为什么ormlite-core在这个ormlite android依赖包中……我明确地添加了ormlite-android,正如你在上面的代码片段中看到的那样。 但是如何在gradle中排除ormlite-core.jar。 我find的所有东西都是gradle 1.6,但android studio使用gradle 0.5 – 或者这只是android gradle包装的版本? 。:编辑:。 为了使依赖关系更清晰,我添加了build.gradle文件: buildscript { repositories { mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:0.5.+’ } } apply plugin: ‘android’ repositories { mavenCentral() } dependencies […]