android

running gradle task assembledebug stuck

Here is solution in my case.

  1. Open your flutter Project directory.
  2. Change directory to android directory in your flutter project directory cd android
  3. clean gradle ./gradlew clean
  4. Build gradle ./gradlew build or you can combine both commands with just ./gradlew clean build (Thanks @daniel for the tip)
  5. Now run your flutter project. If you use vscode, press F5. First time gradle running assembleDebug will take time.

PS: Delete gradle in case of all that steps don’t work

PANIC: Missing emulator engine program for ‘x86’ CPU.

emulator -avd xx

一直报错:

PANIC: Missing emulator engine program for ‘x86’ CPU.

最终找到原因:

在创建虚拟机的时候,AS会默认推荐下载带Google APIs的x86 Images,由于大陆对google的限制,所以会导致报错。

解决办法,下载不带Google APIs的x86 Images, 然后再重启终端,重新输入命令,成功启动安卓虚拟机。

 

远程连接centos打开Androidstudio空白

For me, this issue was an XRDP issue, fixed in CentOS 7.6 by editing /etc/xrdp/xrdp.ini and changing to max_bpp=24.

 

参考连接:

https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000675024-Blank-configuration-window-

macOS命令行创建Android模拟器

  • macOS下不安装Android Studio
  • 使用VSCode来开发Flutter应用
  • 使用命令行创建和管理Android模拟器设备

avdmanager

avdmanager 是一种命令行工具,可让您通过命令行创建和管理 Android 虚拟设备 (AVD)。借助 AVD,您可以定义要在 Android 模拟器中模拟的 Android 手机、Wear OS 手表或 Android TV 设备的特性。

如果您使用 Android Studio,则无需使用此工具,而可以从 IDE 中创建和管理 AVD。

avdmanager 工具在 Android SDK Tools 软件包(25.3.0 及更高版本)中提供,并且可以在 android_sdk/tools/bin/ 中找到。

macOS命令行创建Android模拟器

avdmanager AVD创建Android模拟器语法

创建新的 AVD。您必须为该 AVD 提供名称,并使用引号括住的 sdk_id(即 “sdk_id”)指定要用于该 AVD 的 SDK 软件包的 ID。例如,以下命令会使用 x86 系统映像(API 级别 25)创建一个名为 test 的 AVD:

下面介绍了其他选项的用法:

  • -c {path|size}:此 AVD 的 SD 卡映像的路径,或要为此 AVD 创建的新 SD 卡映像的大小(以 KB 或 MB 为单位,分别以 K 和 M 表示)。例如,-c path/to/sdcard/ 或 -c 1000M
  • -f:强制创建 AVD。如果需要用同名的新 AVD 覆盖现有的 AVD,请使用此选项。
  • -p path:用于存放此 AVD 的文件的目录所在位置的路径。如果您未指定路径,则会在 ~/.android/avd/ 中创建 AVD。

使用avdmanager建立emulator完整步骤

如果你直接使用上面的语法创建模拟器肯定会报下面的错误:

Error: Package path is not valid. Valid system image paths are:ository…
null

原因是没有相应的软件包,按如下步骤来解决:

一:首先,您需要下载必要的软件包。为x86模拟器下载API 23软件包的示例:

二:然后接受许可协议

三:然后创建您的模拟器

更多命令

更多帮助

Warning: File /Users/root/.android/repositories.cfg could not be loaded.

文件不存在,创建即可:

参考

Flutter Android端启动白屏问题的解决

问题描述

Flutter 应用在 Android 端上启动时会有一段很明显的白屏现象,白屏的时长由设备的性能决定,设备性能越差,白屏时间越长。

问题分析

其实启动白屏的问题在Android原生应用上也是一个常见问题,大致是因为从用户点击 Launcher Icon 到应用首页显示之间,Android 系统在完成应用的初始化工作,其流程如下:

在 Flutter Android 端上,白屏的问题会更加严重,因为除了 Android 应用启动耗时外,还增加了 Flutter 初始化耗时。

直到 Flutter 渲染出第一帧内容,用户才能感知到App启动完成。

解决方案

解决方案很简单,Android原生的白屏问题可以通过为 Launcher Activity 设置 windowBackground 解决,而 Flutter 也是基于此办法,同时优化了 Flutter 初始化阶段的白屏问题(覆盖一个launchView),只用两步设置便能解决 Flutter 中白屏问题。

在项目的 android/app/src/main/res/mipmap-xhdpi/ 目录下添加闪屏图片;

打开 android/app/src/main/res/drawable/launch_background.xml 文件,这个文件就是闪屏的背景文件,具体如何设置可以查阅 Android Drawable,我在 demo 中的设置如下:

<!– Modify this file to customize your launch splash screen —

<!– You can insert your own image assets here —
<item
android:bottom=”84dp”
<bitmap
android:src=”@mipmap/launch_image” /
</item
</layer-list

效果对比如下:

白屏

白屏优化

以上就是本文的全部内容,希望对大家的学习有所帮助。

Unable to find method ‘org.gradle.api.file.ProjectLayout.fileProperty

1. 错误描述

Unable to find method ‘org.gradle.api.file.ProjectLayout.fileProperty(Lorg/gradle/api/provider/Provider;)Lorg/gradle/api/file/RegularFileProperty;’
org.gradle.api.file.ProjectLayout.fileProperty(Lorg/gradle/api/provider/Provider;)Lorg/gradle/api/file/RegularFileProperty;

Gradle’s dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)

Re-download dependencies and sync project (requires network)
The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.

Stop Gradle build processes (requires restart)
Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.

In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

 

2. 错误原因:

gradle版本问题,项目中使用的gradle版本没有,下载的时候网络连接出现问题;

3. 解决方案

打开项目根目录下,把gradle版本修改成本地有的版本,然后反正别的项目中gradle/wrapper直接覆盖当前项目的gradle,然后Sync Project;

Studio运行错误报错-Manifest merger failed with multiple errors, see logs

FAQ:
> Manifest merger failed with multiple errors, see logs

解决:

此问题产生原因大概有三个

# 第一,清单文件有错,这种错不会在编译时指出来,当然as中还是可以看到的, 边上的红色就是了

# 第二,引入的三方包存在相同的label icon 等名字
解决:清单文件用tools

manifest头声明tools作用域:
xmlns:tools="http://schemas.android.com/tools"
然后在application中用tools替代报错的节点,如:
解决办法是 到你的「processDebugManifest」module的Mainifest里面加入这样的语句:

    <application
        android:allowBackup="true"
        android:label="@string/app_name"
        tools:replace="label,allowBackup">

意思是如果merge manifest,就用别处的allowBackup和label值替换这里的。


# 第三 也就是上面有人说的sdk版本冲突
解决:一种是修改targetSdkVersion 为一致或者不冲突
第二种,如果因为某些原因不能修改,在清单文件中强制合并

 

Ref:
Android Studio使用心得 – 常见问题集锦 – 大熊的Android开发之旅 – 博客频道 – CSDN.NET
http://blog.csdn.net/codezjx/article/details/38669939

Manifest merger failed with multiple errors, see ? – 知乎
https://www.zhihu.com/question/36645628

Android Studio 多渠道打包遇到的问题总结 – 不正经啊不正经
https://my.oschina.net/u/1995545/blog/404535

android studio使用错误排查记录 – – 博客频道 – CSDN.NET
http://blog.csdn.net/wojiaopanpan/article/details/50151513

Manifest Merger – Android Studio Project Site
http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger