草庐IT

android - 将版本号附加到 proguard 映射文件夹

我可以使用gradle.build自动重命名我的apk文件setProperty("archivesBaseName","MyAppName-$versionName")有没有类似的方法自动给proguard映射文件夹名加上版本号?目前文件夹默认为...\app\build\outputs\mapping\releaseordebug我想知道是否可以创建映射文件夹到类似release-1.0.1或debug-1.0.1的文件夹。 最佳答案 正在关注¹将在同一文件夹中将mapping.txt重命名为mapping-release-1.

android - 根据 app Build Variants 的不同 string.xml 文件

我想根据BuildVariant/buildType为string.xml中的字符串分配不同的值。我想象这样的事情:res/values-debug/string.xmlsomedebugvalueres/values-release/string.xmlsomereleasevalue但我在外面看不到这样的东西。这可能吗? 最佳答案 可以通过你的build.gradle文件buildTypes{release{resValue"string","my_string","somereleasevalue"}debug{resValu

无法更改模块build variant

我有一个带有主应用程序和3个模块的项目。他们彼此依赖app(androidapplication)|---module1(androidlibrary)|---module2(androidlibrary)|---module3(androidlibrary)我将AS3.0与BuildTool3.0.0-Alpha5一起使用。我应用了文档中描述的更改:https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#variant_dependencies这是我的build.gradle(应用程序)app

android - 运行连接的 Android 测试时如何启用读/写联系人权限?

任务:让连接的Android测试在AndroidM上运行良好。问题:如何在运行连接的Android测试时启用读/写联系人权限?问题:我知道pm命令可以开启apk的权限。adbshellpmgrant我想运行可以在真实API和模拟API上运行的测试。如果我无法在gradleDSL中触发pm命令,出于安全原因,测试代码将无法触及真实的api。我尝试将步骤添加为connectedAndroidTest(connectedInstrumentTest)任务的第一步。它不适用于目标apk尚未安装。使用错误代码调用命令行。android.testVariants.all{variant->vari

android - Gradle + AndroidAnnotations 生成重复的类错误 - 需要在每次构建之前清理项目

我在使用gradle构建将我的IntelliJIDEA项目迁移到AndroidStudio时遇到问题。我已经像其他帖子中推荐的那样设置了AndroidAnnotations库,它工作得很好。但是,当多次编译我的项目而不执行:clean任务时,我收到以下错误消息:/project-dir/build/source/apt_generated/flavor1/release/com/example/app/MyActivity_.java:15:error:duplicateclass:com.example.app.MyActivity_[moreerrorshere...]我相信多个系

android - 基于buildtype android gradle启用dexoptions

我想使用增量dex选项,但因为它仍处于试验阶段,所以我只希望在进行调试构建时启用它。但是,我找不到在dex选项的上下文中引用当前buildType的方法。这样的事情,有可能吗?android{....dexOptions{if(buildType.name=='debug')incremental=true}} 最佳答案 我相信我找到了解决方案。构建似乎更快,但我没有看到任何表明增量dex正在运行的日志消息。applicationVariants.all{variant->if(variant.buildType.name=='de

android - 跳过 Android+Gradle 中特定构建变体的测试?

我有一个特定的构建变体,仅用于模拟测试。我不想针对此变体运行单元测试(但想针对其他变体运行它们)。有什么方法可以通知gradle跳过针对这个特定变体的单元测试吗? 最佳答案 在我的例子中,我想跳过发布变体的所有单元测试。这样做可以实现:gradle.taskGraph.useFilter{task->if(task.name.startsWith("test")&&task.name.contains("ReleaseUnitTest")){returnfalse;}returntrue;}

android - Gradle 插件 3.0 重写 versionName

我迁移到Androidstudio3并使用gradle插件v3.0.0-beta6。我想重写输出.apk文件的versionName/vesionCode。我在我的Android应用程序模块的build.gradle中为gradle插件2.x使用了以下代码applicationVariants.all{variant->defflavor=variant.mergedFlavorflavor.versionName="${VERSION_NAME}"if(variant.buildType.isDebuggable()){flavor.versionCode=9999}else{fla

android - 基于Build Variant修改App名称的Gradle-only解决方案

我正在尝试修改我的gradle文件,以允许我的应用程序根据Flavor和BuildType使用不同的名称。到目前为止,我已经通过AndroidGradlePluginDocs使用ManifestMerging技术在基于Flavor的命名方面取得了成功。当前这些是我的主屏幕上的应用程序名称,用于我的debug和release构建。FlavorDebugAppNameReleaseAppName--------------------------------------entity_1AppNameAppNameentity_2AppNameAppName.........entity_2

android - 缺少变体的 javaCompileTask

尝试使用AndroidStudio3.0构建在以前的版本中运行良好的东西。现在我看到:错误:任务“:mobile-app:transformClassesWithRetrolambdaForDevDebug”执行失败。MissingjavaCompileTaskforvariant:dev/debug/0fromoutputdir:/Users/myname/mycompany-android-app/MyProject/mobile-app/build/intermediates/transforms/retrolambda/dev/debug/0我之前有一个编译问题,我通过将以下内