Articles of 机器人工作室

Android工作室在更改project.archivesBaseName时上传旧apk

我已经配置了build.gradle,因此每次创建发布版本时它都会在version.properties中增加版本代码。 我还使用apk文件的版本代码。 然而Android工作室似乎忽略了版本更改,因此当我从ide运行调试版本然后使用控制台(增加版本号)组装版本构建然后再次从IDE运行调试时,它正确地构建了一个带有增加版本的apk filename BUT将旧apk上传到设备。 因此,对于例如,我们有一个版本代码= 377。 从IDE-> builds运行调试版本并上传GradleTestApp-v1.5( 377 )-debug-unaligned.apk do gradle assambleRelease – > build GradleTestApp-v1.5( 377 )-release-unsigned.apk然后将versionCode增加到378 再次从IDE运行调试版本 – >构建GradleTestApp-v1.5( 378 )-debug-unaligned.apk(正确的行为)但是将旧的GradleTestApp-v1.5( 377 )-debug-unaligned.apk上传到设备 我错过了什么? 这是我的gradle脚本: ext{ versionPropFile = ‘version.properties’ Properties versionProps = getVersionProps() } project.archivesBaseName=project.archivesBaseName+”-v”+versionProps[‘name’] + “(” + versionProps[‘code’]+”)” def Properties getVersionProps(){ def Properties versionProps = new Properties() versionProps.load(new FileInputStream(file(versionPropFile))) return […]

错误:任务’:lib:compileReleaseAidl’的执行失败。 > Executor Singleton没有启动

当我从Github将一个项目导入我的Android Studio时,会发生这种情况。 怎么解决? Information:Gradle tasks [:app:generateDebugSources, :app:generateDebugTestSources, :lib:generateDebugSources, :lib:generateDebugTestSources] :app:preBuild :app:preDebugBuild :app:checkDebugManifest :app:preReleaseBuild :lib:compileLint :lib:copyReleaseLint UP-TO-DATE :lib:preBuild :lib:preReleaseBuild :lib:checkReleaseManifest :lib:preDebugBuild :lib:preDebugTestBuild :lib:prepareComAndroidSupportAppcompatV72102Library UP-TO-DATE :lib:prepareComAndroidSupportCardviewV72102Library UP-TO-DATE :lib:prepareComAndroidSupportSupportV42102Library UP-TO-DATE :lib:prepareReleaseDependencies :lib:compileReleaseAidl FAILED Error:Execution failed for task ‘:lib:compileReleaseAidl’. > Executor Singleton not started

模块库Jar未在Android Studio的外部库中显示

我无法在Android Studio的External Libraries下显示jar库。 我正在尝试为这个库添加javadoc,我在网上find的唯一方法是右键单击External Libraries并选择Library Properties… 项目结构是一个包含许多模块的树: rootsdk / main.jar main-javadoc.jar plugins / plugin1 / build.gradle … plugin2 / build.gradle … … 依赖项在build.gradle文件中声明,如: compileOnly files(‘../../main.jar’) 如果我打开单个目录plugin1 ,那么依赖项将正确显示在External Libraries 。 但是,如果我打开rootsdk项目,它就不会出现。 所有模块都是从根项目中列出和编译的,我可以使用库中定义的类,但它不会出现在External Libraries ,所以我不能为它添加javadoc。 奇怪的是一些插件使用其他库,但定义不同: repositories { flatDir { dirs ‘libs’ } } … implementation(name: ‘core-debug’, ext: ‘aar’) 这些库按预期显示在External Libraries下。 是否缺少强制main.jar显示在External Libraries ,或者这是AS中的错误?

Android Studio本机代码编译速度很慢

我最近从Eclipse + ADT切换到Android Studio。 我的应用程序是完整的本机C ++应用程序。 我使用Android Studio 2.0 Beta 5和Gradle Experimental 0.6.0-beta4。 Android Studio的构建过程对于本机代码来说非常慢。 我阅读了有关Stackoverflow和Internet的所有问题。 我应用了所有建议的方法(–offline, – damon, – parallel,-XmxSize等)。 它们主要用于加速Java代码的构建。 本机C ++文件(ndk-build)的编译过程仍然很慢。 即使我编写一行C ++代码,每次单击“运行”按钮时,我等待5-7分钟,其中Eclipse的编译时间大约为15-20秒,用于同一作业。 您有什么建议加快Android Studio上本机代码(C / C ++)的编译过程吗?

Android Debug:Frame不可用

我正在尝试调试我的Android应用程序。 但每次在特定点,调试器都会在没有对话框的情况下停止和关闭应用程序。 在没有调试的情况下正常运行应用程序没有问题,应用程序按照必须的方式运行代码。 我是否需要对调试器进行一些不同的设置,还是我会错过其他内容?

多个模块的unit testing配置

在Android Studio中,创建一个运行特定模块的unit testing的配置非常容易。 但有没有办法创建一个运行所有模块的unit testing的配置? 我的特定项目有多个模块(例如“主”模块和“库”模块)。 我目前有两种配置:主机测试和库unit testing。 这有效,但让unit testing运行我的所有测试都很好。 从命令行,这是微不足道的 – 只需运行./gradlew testDebug,一切都很开心。 但我似乎无法从Android Studio中弄明白。 我在这里想念的是什么? 编辑: cricket-007指出Android Studio中的gradle命令栏可以让你运行testDebug命令。 这可行,但不像真正的配置那样function齐全。 实际上,问题是如何创建一个配置unit testing,它运行所有模块的所有unit testing。

Android L:与以前的Android版本的兼容性

我今天向Play商店推出了更新,为Android L添加了材料设计布局以及其他一些不同的错误修复,但是,未使用Android L的用户无法更新。 尝试更新应用程序时,会显示“应用程序需要更新的SDK版本”。 我用“android-L”编译了应用程序,我的最低SDK要求是14,我的目标SDK是“L”。 我创建了一个新的值文件夹(values-v21),它使用与以前版本的Android相同的主题名称作为其他值文件夹。 但是,v21文件夹不使用Theme.Holo.Light,而是使用: 有没有什么方法可以为Android L用户实现材料布局,同时保持与Android 4.0 – 4.4的兼容性? 编辑:我使用的是Android API 20,L Preview支持库。 恢复为19会破坏与材质布局的兼容性。

如何在Android Studio 3.0.0中使用数据绑定和Kotlin

我刚刚开始使用Android Studio 3.0.0,但每次我尝试构建我的项目时都会收到此错误: Error:Circular dependency between the following tasks: :app:compileDebugKotlin +— :app:dataBindingExportBuildInfoDebug | \— :app:compileDebugKotlin (*) \— :app:kaptDebugKotlin \— :app:dataBindingExportBuildInfoDebug (*) (*) – details omitted (listed previously) 我在用 kapt “com.android.databinding:compiler:2.2.0” 在我使用之前 androidProcessor “com.android.databinding:compiler:2.2.0” 它工作得很好……我做错了什么? 谢谢!

Gradle:Multi-Dimension Flavor ApplicationId

我有一个相对复杂的项目,每个应用程序需要两个风味维度。 我在下面的例子中简单地重写了它: flavorDimensions “shape”, “color” productFlavors { blue { flavorDimension “color” } red { flavorDimension “color” } green { flavorDimension “color” } square { flavorDimension “shape” } circle { flavorDimension “shape” } 我希望能够为每个变体设置不同的applicationId,例如:squareblue将具有与circleblue不同的applicationId。 我无法在颜色维度中设置applicationId,因为它对于每个形状都是相同的。 在上面的例子中我需要有6个不同的applicationIds。 这些ID也不遵循任何模式,它们可以是任何东西。 我在这里看到了答案: 如何使用flavorDimensions为每个风味组合设置不同的applicationId? 但这意味着我需要手动设置它,这对我的项目来说是不可行的,因为变种的数量(1000s)。 我真正想要做的是在颜色维度上设置两个应用程序,然后在构建时根据形状维度选择正确的一个。 我已经尝试过定义variables但是没有取得任何成功,它们只是被最后一个variables覆盖了。

Android Studio – Facebook登录按钮呈现错误

我有关于Facebook SDK和登录按钮的问题。 当我尝试放入登录按钮时,我收到此消息 Rendering Problems The following classes could not be found: com.facebook.widget.LoginButton (Fix Build Path, Create Class) Tip: Try to build the project 我不知道为什么Android Studio没有渲染按钮。 我成功添加了模块,我可以使用像Session这样的Facebook SDK类…… 你知道可能是什么问题吗? 提前致谢!