Articles of android gradle

AAPT错误无休止的gradle建设

我在Ubuntu 16.04 x64上安装了Android Studio。 当开始新项目时,我在setContentView(R.layout.activity_main);得到未解析的’R’ setContentView(R.layout.activity_main); 。 gradle输出也说: Configuration on demand is an incubating feature. Incremental java compilation is an incubating feature. :clean UP-TO-DATE :app:clean :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE :app:checkDebugManifest :app:preReleaseBuild UP-TO-DATE :app:prepareComAndroidSupportAnimatedVectorDrawable2400Library :app:prepareComAndroidSupportAppcompatV72400Library :app:prepareComAndroidSupportSupportV42400Library :app:prepareComAndroidSupportSupportVectorDrawable2400Library :app:prepareDebugDependencies :app:compileDebugAidl :app:compileDebugRenderscript :app:generateDebugBuildConfig :app:mergeDebugShaders :app:compileDebugShaders :app:generateDebugAssets :app:mergeDebugAssets :app:generateDebugResValues UP-TO-DATE :app:generateDebugResources :app:mergeDebugResources AAPT err(Facade for 31820177): /home/nllsdfx/Downloads/build-tools/24.0.0/aapt: 5: /home/nllsdfx/Downloads/build-tools/24.0.0/aapt: […]

Android插孔和jill陷入困境

我正在尝试将Jack-Jill和Java8用于我的Android应用程序。 我的笔记本电脑上的一切都很好但是当我试图在CircleCI上运行项目时,它会被困在transformClassesWithPreJackPackagedLibrariesForDebug 这是我的build.gradle apply plugin: ‘com.android.application’ apply plugin: ‘io.fabric’ apply from: ‘test-environment.gradle’ buildscript { repositories { maven { url ‘https://maven.fabric.io/public’ } } dependencies { classpath ‘io.fabric.tools:gradle:1.+’ } } repositories { maven { url ‘https://maven.fabric.io/public’ } maven { url “https://jitpack.io” } mavenCentral() } allprojects { repositories { jcenter() } } android { dexOptions { jumboMode = […]

Google Map Api v2显示找不到本地模块描述符类

今天我在模拟器上开始应用程序后遇到了这个问题,但昨天一切正常,我没有在前一天编辑任何更改。 API密钥在调查后也有效。 我尝试过的事情: 降级com.google.android.gms服务的版本 将所有服务更新到最新版本 重建/清洁项目 无效/重新启动Android Studio 但错误仍然存​​在。 Logcat显示模拟器何时打开应用程序: 09-20 09:49:09.261 25985-25985/com.abc.abc I/c: Token loaded from file. Expires in: 174900321 ms. 09-20 09:49:11.339 25985-26088/com.abc.abc W/DynamiteModule: Local module descriptor class for com.google.android.gms.googlecertificates not found. 09-20 09:49:11.341 25985-26088/com.abc.abc I/DynamiteModule: Considering local module com.google.android.gms.googlecertificates:0 and remote module com.google.android.gms.googlecertificates:1 09-20 09:49:11.341 25985-26088/com.abc.abc I/DynamiteModule: Selected remote version of com.google.android.gms.googlecertificates, […]

当两个依赖项对同一个库具有内部依赖性但在Android中具有不同版本时,gradle如何解决冲突?

我的应用依赖于两个库。 它们都使用相同的库’ org.hamcrest:hamcrest-core ‘,但内部使用不同的版本。 androidTestCompile ‘junit:junit:4.12’ //(Depends on version 1.3) androidTestCompile ‘org.mockito:mockito-core:1.10.19’ //(Depends on version 1.1) 由于这两个依赖项都与Android instrumentation tests相关,因此应用程序构建成功,并在构建中包含更高版本 – 在本例中为1.3版。 但是,如果我将一个库用于主应用程序,而其他库用于Android Instrumentation测试,如下所示: compile ‘junit:junit:4.12’ androidTCompile ‘org.mockito:mockito-core:1.10.19’ 我收到以下错误。 :app:prepareDebugAndroidTestDependencies Conflict with dependency ‘org.hamcrest:hamcrest-core’. Resolved versions for app (1.3) and test app (1.1) differ. See http://g.co/androidstudio/app-test-app-conflict for details. FAILED FAILURE: Build failed with an exception. * […]

如何在Android Studio 2.3.2上解决“无法find所请求目标的有效证书路径”的问题

当我尝试创建空活动项目时,我在Android Studio 2.3.2中遇到以下错误。 当我尝试导入项目时,我也得到了这个。 Error:Cause: unable to find valid certification path to requested target 在这里,我的gradle buildscript { repositories { jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:2.3.2’ // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) […]

即使没有任何更改,Android多模块Gradle构建速度也很慢

我有一个包含多个模块的Android项目,即使我尝试重建它而不改变任何东西,构建时间也很慢。 其结构类似于: 有更多的“父”(和独立的父兄弟姐妹)和“function”模块,但设置是图片的设置。 我的gradle.properties文件如下: org.gradle.jvmargs=-Xmx4096m -Xms2048m org.gradle.parallel=true org.gradle.daemon=true org.gradle.configureondemand=true 我使用的是Gradle版本3.5和插件版本2.4.0-alpha7。 该项目还使用multidex( javaMaxHeapSize “4g”和jumboMode true ),数据绑定,kotlin和java以及几个注释处理器。 在构建时,我可以看到多个线程在大多数项目中并行运行不同的任务,除了主要用于最终的“app”模块(我认为这是正常的)。 但是很多时间似乎花在了不同的:: compileJavaWithJavac任务上。 即使没有改变任何东西,在具有16 Gb RAM的MacBook Pro i7上构建大约需要30秒。 如果我在function模块的方法中更改了一行代码(甚至没有更改方法的签名),则构建时间超过1:30分钟。 这些正常时期? 有什么我可以进一步优化以改善构建时间吗? 我还检查了一些其他答案: 从这一个 ,设置preDexLibraries = false没有帮助,我已经使用assembleDebug 这里建议的incremental = true不起作用, 不推荐使用 禁用即时运行似乎有所帮助但不多 上面讨论的项目的构建风格已经设置了minSdkVersion 21

在没有google_play_services.json或gradle的情况下设置google_app_id

02-17 18:16:09.870:E / GMPM(12680):GoogleService初始化失败,状态:10,缺少预期资源:’R.string.google_app_id’用于初始化Google服务。 可能的原因是缺少google-services.json或com.google.gms.google-services gradle插件。 我正在尝试删除此错误日志。 我可以使用google_play_services.json这样的链接find一些解决此类问题的建议: GoogleService无法初始化 但我的项目不使用gradle,所以我将在strings.xml中添加google_app_id。 现在我很困惑。 究竟是什么google_app_id? 有人说它是项目编号,有人说它是项目ID …即使在google_play_services.json文件中也有一些名为“project_id”,“project_number”,“mobilesdk_app_id”,“client_id”以及仍然没有“google_app_id”属性的属性。 每个应用程序的独特价值都可以吗? 如果是这样,它将使用项目ID或号码,但我不确定。 先谢谢你。

Android Studio 1.4(RC1,RC2)中的本机调试器未触及断点

我的项目中有一个PDFViewer模块,具体取决于android库模块libPDF 。 本机代码包含在库模块(在jni文件夹中)以及相应的android代码中。 我正在使用Gradle实验0.3.0-alpha4(与0.2.0和0.2.1相同的问题)。 有来自jni文件夹之外的库的本机文件 – 它们包含在android.ndk使用android.sources和带有CFlags的头文件。 该库被编译成.so文件并包含在apk中。 该项目使用PDFViewer的默认调试本机配置进行编译和运行,调试器以警告启动: 注意! 找不到符号目录 – 请检查您的本机调试配置。 调试时,本机代码(和Java代码)中没有断点。 如果我暂停调试器,则执行在一个名为epoll_wait的函数中。 我不知道这是否重要,但在Android Studio 1.3.2中我得到了 Throwable:找不到LLDB服务器 在事件日志中。 如果我尝试使用GDB,它也会引发exception。 我只建造了armae​​bi-v7a版本。 在给定的示例中,我没有看到任何特殊的gradle代码来包含本机代码的调试信息。 或者我错过了什么? 我是否需要自己从本机配置选项添加符号目录? 这些目录是什么以及如何find它们? 调试时示例示例不显示此警告,并且在其本机配置选项中未设置符号目录。 debuggable , jniDebuggable , ndk.debuggable标志设置为true, android:debuggable = true在清单中, CFlags += “-g”在ndk块中,这些都不起作用。 有任何想法吗? 提前致谢。 编辑:这是一个Github链接,其中包含我编写的示例示例以向您显示问题。 如果您尝试使用本机配置调试库中的本机代码,则不会触发任何断点。 新的Gradle实验0.3.0-alpha6无法解决问题。 其他人也有这个问题。 gradle插件仍然是alpha版本,因此库的原生调试仍然没有实现?

如何使用工具:overrideLibrary具有多个库

我想创建一个与API级别4兼容的Android项目,但仍希望使用UiAutomator测试它,在新设备上需要API级别18。 因此,应用程序也可以在旧设备上运行,但自动测试将在新设备上执行。 因此,我使用Android Studio创建了一个新项目,并添加了UiAutomator测试库: dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) testCompile ‘junit:junit:4.12’ compile ‘com.android.support:appcompat-v7:23.0.1’ androidTestCompile ‘com.android.support:support-annotations:23.0.1’ androidTestCompile ‘com.android.support.test:runner:0.3’ androidTestCompile ‘com.android.support.test:rules:0.3’ androidTestCompile ‘com.android.support.test.uiautomator:uiautomator-v18:2.1.1’ } 编译时我得到错误 Error:Execution failed for task ‘:app:processDebugAndroidTestManifest’. > java.lang.RuntimeException: Manifest merger failed : uses-sdk:minSdkVersion 4 cannot be smaller than version 8 declared in library [com.android.support.test:runner:0.3] /Users/dom/Entwicklung/MacBookPro/git/GradleTest/app/build/intermediates/exploded-aar/com.android.support.test/runner/0.3/AndroidManifest.xml Suggestion: use tools:overrideLibrary=”android.support.test” to force usage […]

./gradlew构建因TypeSystem.getUnannotatedType而失败

我的项目工作正常,但是当我从终端尝试.gradlew构建时,最终会出现此错误。 我不确定我说实话,这有什么帮助吗? Unexpected failure during lint analysis of DatabaseHandler.java (this is a bug in lint or one of the libraries it depends on) TypeSystem.getUnannotatedType(TypeSystem.java:180) ->TypeSystem.getParameterizedType(TypeSystem.java:238) ->TypeSystem.getParameterizedType(TypeSystem.java:261) ->LookupEnvironment.createParameterizedType(LookupEnvironment.java:949) Unexpected failure during lint analysis of DatabaseHandler.java (this is a bug in lint or one of the libraries it depends on) TypeSystem.getUnannotatedType(TypeSystem.java:180) ->TypeSystem.getParameterizedType(TypeSystem.java:238) ->TypeSystem.getParameterizedType(TypeSystem.java:261) ->LookupEnvironment.createParameterizedType(LookupEnvironment.java:949)