首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android Studio 遇到问题集锦

目录下后发现一直提示 key 校验失败,也就是没有使用我拷贝到 HOME/.android 目录下的 debug.keystore 来做 debug 签名。...SDK 后编译报错,疑是 Umeng 包里的 values-zh 导致。...情况是有一个叫 internal 的 project 依赖一个叫 commonlib 的 module,最后查到原因如下: internal project 的 build.gradle 文件里写了这么一段...Generate JavaDoc 提示“错误: 编码GBK的不可映射字符” 所有相关文件的编码都是 UTF-8,在 Android Studio 里没有找到设置 JavaDoc 相关的编码设置项,于是在...q=g:%22com.google.android.gms%22+AND+a:%22play-services%22&core=gav&rows=1&wt=json 而且,结果返回之前会卡住界面,而我们的网络访问这俩网址基本只能等到超时返回了

5.4K30

Android Studio 遇到问题集锦

目录下后发现一直提示 key 校验失败,也就是没有使用我拷贝到 HOME/.android 目录下的 debug.keystore 来做 debug 签名。...SDK 后编译报错,疑是 Umeng 包里的 values-zh 导致。...情况是有一个叫 internal 的 project 依赖一个叫 commonlib 的 module,最后查到原因如下: internal project 的 build.gradle 文件里写了这么一段...Generate JavaDoc 提示“错误: 编码GBK的不可映射字符” 所有相关文件的编码都是 UTF-8,在 Android Studio 里没有找到设置 JavaDoc 相关的编码设置项,于是在...q=g:%22com.google.android.gms%22+AND+a:%22play-services%22&core=gav&rows=1&wt=json 而且,结果返回之前会卡住界面,而我们的网络访问这俩网址基本只能等到超时返回了

6.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    google的GCM推送使用简介

    (2)添加配置文件解析插件依赖 上述下载的google-services.json需要插件进行解析,要在项目中按照下面步骤添加依赖 a.在项目级别(project-level)的build.gradle...添加下面依赖 classpath 'com.google.gms:google-services:3.0.0' b.在自己的应用级别(app-level)的build.gradle添加下面插件 apply...plugin: 'com.google.gms.google-services' (3)添加GCM依赖 代码中需要用到gcm的api,因此需要添加gcm的依赖,版本请使用最新的版本,下面只是示范 dependencies...{   compile "com.google.android.gms:play-services-gcm:10.0.0" } (4)修改AndroidMenifest.xml文件 a.添加权限,因为我们不允许其他的应用接收和发送属于自己应用的消息...            android:name="com.google.android.gms.gcm.GcmReceiver"             android:exported="true

    6.8K10

    得物布局构建耗时优化方案实践

    这些自定义 View 是在业务模块中定义的,而在壳工程的 App 模块中,由于并没有显示申明对应 View 的模块依赖,会导致编译 Java 布局文件时出现类未找到的问题,导致编译失败。...每次增加一个需要支持 X2C 的 XML 文件的时候,都需要增加壳工程的工程依赖关系,且自定义 View 到底在哪个模块也不不是这么一目了然。...at com.google.android.material.internal.ThemeEnforcement.checkTheme(ThemeEnforcement.java:243) at...com.google.android.material.internal.ThemeEnforcement.checkAppCompatTheme(ThemeEnforcement.java:213)...XML 的节点之间除了用嵌套结构来描述父子关系外,父子之间没有信息依赖,子节点的解析不依赖于任何父节点信息。

    28410

    妖怪般的VerifyError | 奇形怪状的bug

    (Method.java) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit...$MethodAndArgsCaller.run(ZygoteInit.java:737) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java...而之后简单的分析了下异常,猜测dialogfragment的类本身就出现了问题,所以导致了在类加载的时候,验证字节码安全性失败。但是这部分可是androidx内部的代码啊,这不就是不讲武德吗?...因为是在低版本手机上触发的问题,运行的仍然是 dalvik VM,很容易的(google)在对应版本(4.1.1)源码中找到类DexVerify.cpp,和 CodeVerify.cpp (感兴趣的可以从...dvmVerifyCodeFlow()方法return false标识着verifyMethod()失败,拒绝加载类:”Verifier rejected class Lcom/sample/FileUtils

    1K40

    当dex分包遇上NoClassDefFoundError & ClassNotFoundException

    线索2+线索3 -> Crash的触发操作:第一次创建Activity对象(BaseActivity是所有Activity的基类) 结论:根本原因在于推论1:“BaseActivity类之前初始化失败过...---- 偶然发现重要线索 BaseActivity.java类近期无修改,且常规测试也不能重现BaseActivity类初始化失败的场景,问题再次陷入僵局。...答:log.txt抓取的是程序挂掉瞬间的logcat信息,因为输出这个关键log信息的地方并不会导致程序挂掉,所以只有在很极端的情况(ExceptionInInitializerError和NoClassDefFoundError...// 幸亏此处还有tr.printStackTrace();,否者任何加载失败的蛛丝马迹都将不复存在 ---- 制造场景重现Crash 知道了Crash发生的原理,很简单的就能制造场景重现Crash,代码如下...,并认真对待 关于NoClassDefFoundError Crash的技术总结: 使用java类的静态变量时,会触发类的加载操作,类加载过程会初始化类的所有静态变量,如果静态变量初始化失败,将导致类加载失败

    2.4K90

    Android开发笔记(一百八十三)利用HMS轻松扫描二维码

    开源的Android系统实际上只提供基本的系统服务,不提供常见的扩展服务诸如地图、邮箱、搜索、推送、机器学习、应用内支付等,这些扩展服务被谷歌公司打包成GMS套件(全称Google Mobile Service...在海外市场,许多商用App都依赖于GMS提供的服务,手机缺少GMS会使得这些App没法使用,而手机厂商预装GMS套件需要获得谷歌公司授权。...2019年华为公司遭到美国制裁,导致华为手机没能获得GMS授权,致使海外市场陷入寒冬。...扫描二维码是HMS的一项基础服务,虽然谷歌公司也提供了zxing扫码框架,但是zxing框架的集成步骤不够简洁,而且它的识别速度偏慢,识别准确率也不高,远不如HMS的扫码服务来得好用。...下面是具体的扫码结果解析代码: // 解析扫码结果 private void parserScanResult() {     // 从意图中获取可折叠的扫码结果     HmsScan hmsScan

    1.2K20

    当dex分包遇上NoClassDefFoundError&ClassNotFoundException

    :程序在后台运行了一段时间,且BaseActivity类之前初始化失败过 线索2+线索3 -> Crash的触发操作:第一次创建Activity对象(BaseActivity是所有Activity的基类...---- 偶然发现重要线索 BaseActivity.java类近期无修改,且常规测试也不能重现BaseActivity类初始化失败的场景,问题再次陷入僵局。...答:log.txt抓取的是程序挂掉瞬间的logcat信息,因为输出这个关键log信息的地方并不会导致程序挂掉,所以只有在很极端的情况(ExceptionInInitializerError和NoClassDefFoundError...答:因为在调用的地方异常被try/catch住了 // 幸亏此处还有tr.printStackTrace();,否者任何加载失败的蛛丝马迹都将不复存在 ---- 制造场景重现Crash 知道了Crash...: 使用java类的静态变量时,会触发类的加载操作,类加载过程会初始化类的所有静态变量,如果静态变量初始化失败,将导致类加载失败,并抛出java.lang.ExceptionInInitializerError

    63820

    如何理解依赖冲突与版本决议?

    因此,动态版本适合用在强调使用依赖项最新版本的场景,项目会更加积极地拥抱依赖项的最新版本,当仓库中存在依赖项的最新版本时,动态版本直接解析为依赖项的最新版本(还需要满足缓存超时的前提)。...1.3 调整不稳定版本的解析策略 在默认情况下, Gradle 会按照 24 小时缓存有效期缓存动态版本和变化版本的解析结果,在缓存有效期间,Gradle 不会检查远程仓库来获取最新的依赖项。...:Gradle 应该选择哪个依赖项版本呢?...如果不存在满足约束规则的依赖项版本,则会抛出构建失败错误。...如果不存在满足约束规则的依赖项版本,则会抛出构建失败错误; 3、虽然 Gradle 在平台层提供了一套依赖解析决议机制,但 Gradle 版本决议的默认规则是选择的最高版本,最高版本不一定与项目兼容,所以需要开发者使用相关版本决议规则

    74730

    【Android Gradle 插件】Gradle 依赖管理 ⑦ ( dependencies 传递依赖设置 | transitive 关闭依赖传递配置 | exclude 排除子依赖配置 )

    : Android Studio 构建配置官方文档 : https://developer.android.google.cn/studio/build 添加构建依赖项 参考文档 : https..., 执行 gradlew :app:dependencies 命令 , 可以打印出依赖库以及依赖库的依赖库层级 , +--- com.facebook.fresco:fresco:0.14.0 |...---- 如果我们不想要解析其子依赖 , 如在其它位置已经有了该依赖 , 则可以进行如下设置 : dependencies { implementation 'com.facebook.fresco...:fresco:0.14.0', { transitive false } } 在依赖后 , 增加一个闭包 , 使用逗号隔开 , 在闭包中配置 transitive false 选项 , 即不解析该依赖的子依赖...; 进行了上述设置后 , 调用 fresco 函数库肯定会出现问题 ; 三、exclude 排除子依赖配置 ---- 设置 exclude 属性 , 可以排除依赖库的某个子依赖 , 并且在外部进行依赖

    96020

    【Android Gradle 插件】Gradle 依赖管理 ⑥ ( dependencies 依赖查找路径 | dependencies 依赖冲突 | dependencies 依赖库层级分析 )

    参考文档 : Android Studio 构建配置官方文档 : https://developer.android.google.cn/studio/build 添加构建依赖项 参考文档 :...工程中 , 配置的 依赖 , 有 2 种查找依赖包的方式 , 方式一 : 到根目录中配置的 google , mavenCentral , jcenter 远程仓库中查找依赖库 ; allprojects...依赖冲突问题 ---- 添加构建依赖项 参考文档 : https://developer.android.google.cn/studio/build/dependencies 如果在 build.gradle...2 个 appcompat-v4 函数库 ; 在上一篇博客 【Android Gradle 插件】Gradle 依赖管理 ⑤ ( dependencies 依赖项拆分 | 依赖组 | 依赖名称 | 依赖版本号..., 可以查看顶层依赖库 , 与依赖库的依赖库之间的依赖关系 ; com.android.support.constraint:constraint-layout:2.0.1 是顶层依赖库 , +---

    1.7K40

    你准备好了Android8.0的VTS测试吗?

    本文首先简要介绍下Google引入VTS测试的初衷是什么,然后介绍VTS测试的一些特点,至于VTS测试的具体测试步骤、测试方法等等可以去参考Google文档!...Android O 版本新增了 Project Treble,这是 Android 操作系统框架对架构进行的一项重大改变,旨在让制造商以更低的成本更轻松、更快速地将设备更新到新版系统。...Project Treble 通过新的供应商接口将供应商实现(由芯片制造商编写的设备底层软件)与 Android 操作系统框架分开。主要是为了解决HAL层和framework层适配导致系统版本问题。...从上图中可以看出设备制造商只需更新 Android 操作系统框架,即可跳过芯片制造商直接提供新的 Android 版本。 点评:Google终于要下定决心解决Android版本升级的问题了!...目前GMS认证包括CTS测试和GTS测试。后续GMS认证必须依赖VTS、CTS、GTS测试。 ? 一种与VTS提法易混瞎的是 Vulnerability Test Suite。

    2.3K90

    Android 项目Gradle文件讲解(Groovy和Kotlin)

    这些配置块用于配置 Gradle 插件的仓库和依赖项的解析方式。 在 pluginManagement 配置块中: repositories 声明了用于解析 Gradle 插件的仓库。...这表示如果项目中存在本地的仓库,则构建过程将失败。该配置用于强制 Gradle 仅使用远程仓库解析依赖项,而不依赖本地仓库。 repositories 声明了用于解析项目依赖项的仓库。...示例中的配置包括 google() 和 mavenCentral()。通过这些仓库,Gradle 将查找并下载项目所需的依赖项。   ...这些配置块的作用是为 Gradle 构建过程提供正确的插件和依赖项解析环境。配置中的仓库声明可以根据项目的需求进行调整,以确保构建正常进行。...② 添加依赖库 在Android开发中我们会使用很多依赖库,由第三方也有Google提供的,下面我们添加一个比较常用的Gson库。

    1.1K10

    技术分析 | HarmonyOS到底是不是Android套皮?

    ,发现,大多数与分布式相关的包都依赖于: ohos.rpc.* 以及官方文档中有关「分布式任务调度」所依赖的包 ?...这个JS应用框架的手机版本还没有开源,所以我们不知道具体实现,但是我们在上面的文章中提到过: JS Bundle由JS Framework解析后将数据交给了Android,由Android的负责将其渲染在...那么这两项技术有「技术壁垒」吗?可以作为HarmonyOS的护城河吗?...,但GMS不可取代的并非框架本身,而是GMS连接着的Youtube、Gmail、Gmap、Google Pay、Google Search以及海外Android应用所依托的账号系统 HMS与GMS的竞争也并非这两个框架本身的竞争...,而是HMS与GMS所承载的独占服务的竞争,HMS想要干掉GMS,前提是先干掉这些总用户20亿+的Google系服务 在这一方面,华为加上国内一票互联网厂商一起上都不一定有胜利的把握,所有短期内HMS在海外取代

    7.5K42

    Android性能优化(八)之网络优化

    1、 前言 移动互联网发展到现在,用户的联网方式已经完成了由流量依赖到Wifi依赖的转变。虽然网络环境在变好,但也对网络的应用提出了更高的要求,同时开发人员对网络的重视度却在下降。...Android用户一般都会安装手机管理类App,可以方便清楚查看到每个App耗费的流量,高流量消耗会导致经常处于非Wifi场景下的用户卸载。...4.2 IP直连与HttpDns; DNS解析的失败率占联网失败中很大一种,而且首次域名解析一般需要几百毫秒。针对此,我们可以不用域名,才用IP直连省去 DNS 解析过程,节省这部分时间。...; 每个分片失败重传的机会。...Protocol Buffer Protocol Buffer是Google的一种数据交换的格式,它独立于语言,独立于平台。相较于目前常用的Json,数据量更小,意味着传输速度也更快。

    2.3K30

    Android开发减少方法数的建议 博客分类: Android小技巧 方法数android

    现在的Android应用越来越庞大,开发者越来越能感受到方法数限制带来的影响。这里简单讲几个减少方法数的小建议。 1.什么是方法数?为什么它这么重要?    ...这要从dex的文件格式说起,在把源码编译、转化为dex文件格式时,dex文件中会有一个区域包含了所有源码中定义或引用的方法列表。这个区域中所有方法项的总数就是方法数。...很遗憾,Android在刚开始被设计的时候,这一区域的方法数量不能超过65536个,也就是2个字节表示的范围。当源码定义或引用的方法数量超过了这个限制的话,就会导致编译不成功,你说重要不重要呢? ...标准的dexdump可以解析方法列表,但无法打印出来,修改版的dexdump可以打印这些信息 如下是一个简单类LogicActivity中使用的方法 Class: Lcom/xxx/activity/LogicActivity...; 18 Method: ()V Method: access$000 (Lcom/xxx/activity/LogicActivity;)Lcom/xxx/app/AppInterface

    52250
    领券