Articles of gradle

Gradle Robolectric资源NotFoundException在testing中

我已经知道这个问题已经被问过,但是我不能解决这个问题。 我能够用jUnit,Robolectric和Gradle编译和应用testing。 当我尝试testing活动或获取资源时,会出现问题或错误。 每当我有同样的问题: android.content.res.Resources $ NotFoundException:未知资源 资源$ NotFoundException:没有这样的主题 PageActivity startPageActivity = Robolectric.buildActivity(PageActivity.class).create().get(); Context context = Robolectric.getShadowApplication().getApplicationContext(); ShadowContext shadowContext = shadowOf(context); assertNotNull( " No App name String " ,shadowContext.getString(R.string.app_name) ); 这是项目的结构: . ├── build.gradle ├── settings.gradle └── mainproject ├── build │ ├── classes │ │ └── debug ├── build.gradle └── src └── main │ ├── […]

Android Studio说要使用Gradle 1.10 – 但新版本是1.12?

错误: The project is using an unsupported version of Gradle. Please use version 1.10. My `gradle.build` file says this: dependencies { classpath 'com.android.tools.build:gradle:0.12.+' } 据我所知,以上的说法是正确的。 我的gradle-wrapper文件说: distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip 当我下载最新的Android Studiotesting版(第8版)并尝试导入一个应用程序时,发生了这种情况,我认为这是一个旧版本的Gradle。 另外,当我点击“ Fix Gradle Wrapper and re-import project ”时,没有任何反应。

“zipAlignExe”不存在。“在Android Studio上运行我的项目时出现错误

我在这下面得到错误, Error:A problem was found with the configuration of task ':project1:zipalignDebug'. > File 'D:\Program Files\Android Studio\sdk\tools\zipalign.exe' specified for property 'zipAlignExe' does not exist. 我在sdk下载了所有的软件包,我下载了两次关于zipAlign的软件包,但是并没有解决我的问题。 请帮忙。 谢谢。

Android Studio使用包名称相同的库和项目

我有一个库,我用作所有我的android应用程序的基础,并有以下清单文件: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android" xmlns:tools="http://schemas.android.com/tools" android:versionCode="36" android:versionName="1.b" > <uses-sdk android:minSdkVersion="5" android:targetSdkVersion="21" tools:overrideLibrary="com.facebook.android"/> 然后我尝试在我的一个项目中使用它,具有以下清单: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android" xmlns:tools="http://schemas.android.com/tools" android:versionCode="36" android:versionName="1.6" > <uses-library android:name="com.example.android" android:required="true"/> <uses-sdk android:minSdkVersion="5" android:targetSdkVersion="21" tools:overrideLibrary="com.facebook.android"/> 请注意,使用的包名称相同:com.example.android。 由于该应用程序是在com.example.android下发布的,所以我无法更改它的应用程序。 至于图书馆,由于历史原因,它有相同的名字。 当我构build项目时,出现以下错误: 失败:生成失败,出现exception。 出了什么问题:执行失败的任务':exampleCom:processDebugResources'。 错误:库使用与此项目相同的包:com.example.android您可以使用android.enforceUniquePackageName = false暂时禁用此错误但是,这是临时的,将在1.0 我不想更改库或应用程序的包名称。 我不知道在哪里添加“android.enforceUniquePackageName = false”。 有任何想法吗? 另外,如何解决1.0以上(我已经使用)?

在Android Studio中为unit testingconfigurationtesting文件夹

我在我的android studio项目中添加了unit testing的文件夹。 默认文件夹是andoidTest,但是我在testing中添加了一个新文件夹和名称。 ( 如robolectric抽样testing ) 当我添加testing依赖在我的build.gradle模块下如 testCompile("junit:junit:${junitVersion}") testCompile ("org.robolectric:robolectric:${robolectricVersion}") 他们不会被添加到项目下的外部库中,但是当我使用默认configuration并使用androidTestCompile ,它可以添加外部库。 然后我想也许我应该在gradle中设置root用于testing,所以我在build.gradle中使用了android标签中的以下内容: sourceSets { androidTest.setRoot('src/test') } 但仍然存在问题。 我可以使用gradlew运行testing,但是在test文件夹中的类中的导入不适用,也不会出现用于testing目的的外部库。 任何人有任何解决这个问题?

切换到3.0金丝雀5后,Gradle同步失败

切换到Android Studio 3.0金丝雀5后,我不能build立我的gradle一些search后,我发现错误是由于过时的番石榴库,但我没有在我的项目中使用番石榴。 项目Gradle buildscript { ext.kotlin_version = '1.1.3' repositories { jcenter() maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha5' classpath 'com.google.gms:google-services:3.1.0' classpath 'io.fabric.tools:gradle:1.22.2' classpath 'com.google.firebase:firebase-plugins:1.1.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() […]

Android Studio 0.4。+自定义debugging密钥库

在Android Studio 0.4之前,我可以通过设置自定义debugging密钥库 File -> Project Structure -> Facets -> Compiler Tab 这个选项至less在Android Studio 0.4.2中已经有了。 我可以在哪里设置自定义密钥库,以便能够通过不同的PC共享,例如通过VCS?

添加来自Maven的Facebook sdk后,“Error:Attribute”样式“已经被定义”错误

我通过以下方式通过maven添加了Facebook SDK: compile 'com.facebook.android:facebook-android-sdk:3.21.1' 当我编译时,我得到\app\src\main\res\values\colors.xml文件中的错误 Error:Attribute "style" has already been defined 有什么build议么? 这是非常令人费解的。 摇篮: apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion '21.1.1' defaultConfig { applicationId 'com.rayat.pricewiz' minSdkVersion 17 targetSdkVersion 21 versionCode 1 versionName '1.0' } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } productFlavors { } } dependencies { compile fileTree(include: […]

无法build立库项目Bintray Gradle – ClassNotFoundException

我仍然试图让我的gradle脚本工作,我expolered所有日志,似乎有一些类是失踪。 这里是消息。 org.gradle.api.GradleScriptException: A problem occurred evaluating project ':horizontalrecyclerview'. Caused by: java.lang.NoClassDefFoundError: org/gradle/api/publication/maven/internal/DefaultMavenFactory at org.gradle.api.plugins.AndroidMavenPlugin.apply(AndroidMavenPlugin.java:88) at org.gradle.api.plugins.AndroidMavenPlugin.apply(AndroidMavenPlugin.java:57) at org.gradle.api.internal.plugins.ImperativeOnlyPluginApplicator.applyImperative(Imper Caused by: java.lang.ClassNotFoundException: org.gradle.api.publication.maven.internal.DefaultMavenFactory … 51 more 这是我的build.gradle 。 apply plugin: 'com.android.library' apply plugin: 'com.github.dcendents.android-maven' apply plugin: 'com.jfrog.bintray' version = "1.0.0" android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { minSdkVersion 8 targetSdkVersion 21 versionCode 1 versionName […]

在Android Studio中生成签名APK

有几个问题与我在Stackoverflow中的问题有关,比如: 如何在Android工作室中导出项目? 如何使用Gradle创build一个发行版签名的apk文件 他们很好。 但还是让我困惑。 当我在Android Studio中selectBuild-> Generate signed APK时,我收到了以下警告消息: 这是什么意思? 这是否意味着我必须通过configurationbuild.gradle来使用gradle命令行? 那么该向导是什么? 如果我通过点击ok忽略警告,然后按照向导生成apk文件,当我将apk上传到Google Play时,我会收到错误消息,说明apk处于debugging模式。 如果我按照说明来设置build.gradle,像这样: signingConfigs { debug { storeFile file("debug.keystore") } release { storeFile file("../key/test.keystore") storePassword "password" keyAlias "key" keyPassword "password" } } buildTypes { release { debuggable false signingConfig signingConfigs.release } } 当我在terminal运行./gradlew assembleRelease时,一切都是文件。 总之,我很困惑: 如果必须设置build.gradle,“生成签名的APK”向导的目的是什么? 当我运行“生成签名的APK”时,如何在发布模式下构build我的应用程序 谢谢你的任何build议。