Articles of gradle

Android ID资源可以转发吗?

id资源可以在文件后面引用一个元素吗? 这里我有两个字段,一个用于用户名,另一个用于密码。 我为密码字段创建了一个新的ID资源(带有@+id/语法),但是用户android:nextFocusDown段在android:nextFocusDown字段中找不到它。 我已经从布局xml中省略了其他字段,因为它们不相关。 在这种情况下,我如何申报身份证? 使用gradle构建,我收到的错误如下所示: Error:(41, 32) No resource found that matches the given name (at ‘nextFocusDown’ with value ‘@id/login_password’). 41,32 Error:(41, 32) No resource found that matches the given name (at ‘nextFocusDown’ with value ‘@id/login_password’). 我没有得到android:nextFocusUp=”@id/login_username”的错误android:nextFocusUp=”@id/login_username”字段,这使我相信你必须在使用之前声明id。 我的代码中也出现编译错误,因为没有生成R.java文件,很可能是因为它构建的资源也没有构建。 有了android中所有花哨的构建工具,我很惊讶这是一个问题。 这是一个已知的问题或期望的行为吗?

为什么CardView和RecyclerView需要minSdkVersion L?

当使用新的Android小部件CardView和RecyclerView我注意到它们需要minSdkVersion L 因此,如果您的项目使用例如minSdkVersion 14 ,您将收到如下错误: > Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version L declared in library com.android.support:cardview-v7:21.0.0-rc1 我知道有一种解决方法告诉Gradle忽略库的minSdkVersion并使用项目中的一个。 但是,如果库需要Android L,是否可以安全地忽略此错误并使用旧版本? 为什么Google决定不让它们与pre-L版本一起使用? 我认为这是因为它不是最终版本?

Gradle Android插件:适用于所有产品风格的后编译任务

我需要执行我自己的代码(通过javaexec),在我的android项目由gradle编译之后但是在它被打包到apk之前(事实上,在资源被移动到它们的最终目的地之前)。 所以我用过: gradlew tasks –all 获取可用任务列表。 我正在使用产品口味,所以几乎所有的任务都有一个介于两者之间的味道的名称,如: assembleFlavorA 要么 installFlavorB 等等… 我现在可以做的是,在编译开始之前通过挂钩到preBuild任务来执行我自己的任务: preBuild <<{ //Do some stuff } 每个构建变体都会调用上面的内容,这正是我想要的。 但是,当我尝试使用汇编任务或构建任务时: assemble <<{ //Get's never executed } build <<{ //Get's never executed } 无论我正在构建哪种产品风格,上述代码都不会执行。 查看releaseFlavorA的依赖项列表: myapp:assembleFlavorARelease – Assembles the Release build for flavor FlavorA [library:bundleRelease] myapp:checkFlavorAReleaseManifest myapp:compileFlavorAReleaseAidl myapp:compileFlavorAReleaseJava myapp:compileFlavorAReleaseNdk myapp:compileFlavorAReleaseRenderscript myapp:dexFlavorARelease myapp:generateFlavorAReleaseAssets myapp:generateFlavorAReleaseBuildConfig myapp:generateFlavorAReleaseResValues myapp:generateFlavorAReleaseResources myapp:generateFlavorAReleaseSources […]

Android Studio Gradle – 设置模块构建变体

我正在设置一个依赖于一个模块的项目,我可以成功制作APK文件。 我所做的只是补充 编译项目(’:ModuleName’) 但是我想知道我是否可以通过构建差异来获得模块依赖性。 因此, [Project: debug ]取决于[Module: debug ] , [Project: release ]取决于[Module: release ] 谢谢!

Gradle在发布模式下生成可调试的APK

我的build.gradle上有以下代码: productFlavors { juridico { applicationId “br.com.eit.appprovaconcursos” } enem { applicationId “com.ioasys.appprova” } } buildTypes { defaultConfig { debuggable false minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } debug { debuggable true testCoverageEnabled true } release { debuggable false testCoverageEnabled true //noinspection GroovyAssignabilityCheck signingConfig signingConfigs.release } } 要生成de release APK,请使用以下命令: ./gradlew assembleEnemRelease 在Google Play上传生成的APK( app-enem-release.apk )时出现以下错误: 您上传了可调试的APK。 […]

applicationId显示占位符,表示多个构建版本无法正常工作

我正在修改当前的android项目,因此它可以安装在同一设备上,用于多种口味并构建配置。 的build.gradle: { // … defaultConfig { applicationId “com.myapp” manifestPlaceholders = [ manifestApplicationId: “${applicationId}”, onesignal_app_id: “xxxx”, onesignal_google_project_number: “xxxx” ] // … } productFlavors { production { applicationId “com.myapp” // … } dev { applicationId “com.myapp.dev” // … } // … } buildTypes { release { // … } debug { applicationIdSuffix “.debug” // … } […]

更新的gradle依赖项后呈现问题

我刚刚更新了build.gradle(Module:app)dependecies,之后在Android Studio上出现了渲染问题。 有什么不对,在更新依赖关系之前,everythink工作正常 现在是这样的: dependencies { compile fileTree(include: [‘*.jar’], dir: ‘libs’) compile ‘com.android.support:design:23.0.0’ compile ‘com.android.support:appcompat-v7:23.0.0’ compile ‘com.google.android.gms:play-services:7.8.0’ compile ‘com.android.support:support-v4:23.0.0’ compile ‘com.android.support:recyclerview-v7:23.0.0’ } my_activity.xml 并得到这个错误: Rendering Problems Missing styles. Is the correct theme chosen for this layout? Use the Theme combo box above the layout to choose a different layout, or fix the theme style references. […]

使用属性文件Gradle Android Studio签名

我正在尝试使用gradle构建文件来签署我的应用程序。 当我使用普通的signedConfigs时,它可以工作(signingConfigs.release)! 但是,如果我试图从属性文件中读取属性,它将无法工作。 (signingConfigs.config) Properties props = new Properties(); props.load(new FileInputStream(file(rootProject.file(“signing.properties”)))) android { signingConfigs { config { storeFile file(props[“storeFile”]) storePassword props[“storePassword”] keyAlias props[“keyAlias”] keyPassword props[“KeyPassword”] } release { storeFile file(“..\\xyz.jks”) storePassword “****” keyAlias “****” keyPassword “****” } } . . . buildTypes { release { runProguard false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.txt’ signingConfig signingConfigs.release } debug { […]

在我的应用程序中运行不同的App类(用于调试)

我想在我的应用程序中解决一些依赖项,只有在我调试我的应用程序时,例如我想仅使用Stetho进行调试,而不是在最终版本中,我该如何实现? 我尝试创建另一个名为debug的文件夹并创建从我的App扩展的DebugApp ,但我不知道如何运行这个DebugApp ,也许我应该在Gradle中添加一些内容? public class DebugApp extends App { @Override protected void init() { super.init(); DebugAppInitializer.initStetho(this); DebugAppInitializer.initCrashczyk(this); } } 如果我可以将它链接到我的productFlavors,那将是非常棒的

在Android Studio 0.8.1上找不到神器’com.android.tools.build:grad:0.12.1:gradle.jar’

我已升级到Android Studio 0.8.1,当我尝试编译任何应用程序时,它失败并出现以下错误: Error:Artifact ‘com.android.tools.build:gradle:0.12.1:gradle.jar’ not found on Android Studio 0.8.1 我试图从gradle.org手动更新插件,它不包含任何gradle.jar二进制文件。 如何解决此错误?