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

当把代码编译成apk时,图片不会显示。

当将代码编译成APK时,图片不会显示可能是由于以下几个原因导致的:

  1. 路径错误:检查代码中图片的路径是否正确。在Android开发中,图片通常存放在res目录下的drawable文件夹中,确保图片文件在正确的位置。
  2. 命名错误:检查代码中图片的文件名是否正确。文件名区分大小写,确保代码中引用的图片文件名与实际文件名一致。
  3. 图片资源未导入:确认图片资源已经正确导入到项目中。在Android Studio中,可以通过将图片文件拖拽到drawable文件夹中或者右键点击drawable文件夹选择"New" -> "Image Asset"来导入图片资源。
  4. 图片格式不支持:检查图片的格式是否被Android支持。Android支持的图片格式包括JPEG、PNG、GIF、BMP等。如果图片格式不正确,可以尝试将其转换为支持的格式。
  5. 编译错误:如果以上步骤都没有问题,可能是编译过程中出现了错误。可以尝试清理项目并重新编译,或者检查编译日志查找具体的错误信息。

总结起来,当将代码编译成APK时,图片不显示可能是由于路径错误、命名错误、图片资源未导入、图片格式不支持或编译错误等原因导致的。需要仔细检查代码和项目配置,确保图片文件正确引用并正确导入到项目中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android减包 - 减少APK大小

如果你的应用只需要缩放的图片,你甚至可以图片存放在drawable-nodpi目录,从而节省更多空间。我们推荐每个应用都应该至少包含xxhdpi的图片。...减少动画帧数 使用帧动画会大大增加APK的大小。图1显示了目录中构成帧动画的多个PNG文件。每个图片都是动画的一帧。 对于加入动画的每帧,你都增加了APK图片的个数。...译注:guetzli是Google最近推出的JPEG编码器,官方宣称相同图片质量,比libjpeg生成的图片小20–30%。...但是,系统需要很长时间渲染VectorDrawable对象,更大的图片需要更长的时间显示在屏幕上。因此只有小图片才考虑使用向量图。...将APK中的so文件拷贝到文件系统,避免这种拷贝会让应用在做增量更新的更新包更小。

1.8K100
  • Android 减包 - 减少APK大小

    如果你的应用只需要缩放的图片,你甚至可以图片存放在drawable-nodpi目录,从而节省更多空间。我们推荐每个应用都应该至少包含xxhdpi的图片。...减少动画帧数 使用帧动画会大大增加APK的大小。图1显示了目录中构成帧动画的多个PNG文件。每个图片都是动画的一帧。 对于加入动画的每帧,你都增加了APK图片的个数。...译注:guetzli是Google最近推出的JPEG编码器,官方宣称相同图片质量,比libjpeg生成的图片小20–30%。...但是,系统需要很长时间渲染VectorDrawable对象,更大的图片需要更长的时间显示在屏幕上。因此只有小图片才考虑使用向量图。...将APK中的so文件拷贝到文件系统,避免这种拷贝会让应用在做增量更新的更新包更小。

    1.7K60

    APK瘦身-是时候给App进行减负了!

    打包工具在打包过程中会把XML的内容编译成二进制的形式,亦或者相关资源的引用路径编译成二进制,然后整合到该文件里面。例如string文件、layout的路径、图片的路径等。...2.res目录优化 res目录一般也是占APK Size大头的一个目录,如下图,这个目录一般都是图片资源占空间比较多,尤其App为了适配多种分辨率而存放了多套图,这时候就会导致res目录打下会非常大...使用lint删除无用资源 在多人开发过程中,通常都会有漏删无用资源的问题,图片资源也不例外,例如需要删除一个模块的代码,很容易就会漏删资源文件,所以可以定期使用lint检测出无用的资源文件,原理这里不作介绍...,所以如果需要知道资源是否被引用就要配合minifyEnabled使用,只有两者都为true才会起到真正的删除无效代码和无引用资源的目的。...删除无用字体 中文字体一般都比较大,因为字体文件包含了中文好几千个汉字,但是我们实际上在App中并不会全部都使用,甚至我们只用到其中的几个字,这时候我们就可以字体文件进行删减,在Github上面有一个字体提取工具

    1.2K30

    Android 构建过程分析

    第三方依赖中的assets或res文件与本地文件有冲突,会优先选用本地文件。...源码编译 项目中包含aidl,会先调用aidl工具生成java代码;renderscript亦然,需要先调用llvm-rs-cc,只是它不仅会自动生成java文件,还会产生相应的.bc文件,.bc...文件将打包到apk中 [1510037926928_1882_1510037973069.png] 至此,java代码都已准备完毕。...项目发展到一定规模,需要进行分dex处理,可通过上述步骤生成的maindexlist.txt指定dex该如何拆分。 遗憾的是,以上关于分dex的内容都是理想的情况,现实却很残酷。...如若对图片等资源进行了极限压缩或在aapt打包选择了deflated,那可对齐的文件也就没多少了 通过build tools中的zipalign工具以下命令可对压缩包进行对齐 zipalign -

    3.2K40

    ❤️Android 应用的诞生 ❤️ 只需两幅图

    在构建过程结束,你将拥有应用的调试 APK 或发布 APK,可用于部署、测试或发布给外部用户。 以上是官方介绍。下面咱开始自己的理解。...AAPT 工具负责编译项目中的这些资源文件,所有资源文件会被编译处理,XML 文件(drawable 图片除外)会被编译成二进制文件,所以解压 apk 之后无法直接打开 XML 文件。...实际上源代码文件也包括 AIDL 接口文件编译之后生成的 .java 文件,Android 项目中如果包含 .aidl 接口文件,这些 .aidl 文件会被编译成 .java 文件。...系统安装APK,应用管理器会按照对应算法对包里文件做校验,如果校验结果与META-INF中内容不一致,则不会安装这个APK。...apk 创建好之后,还不能直接使用。需要使用工具 jarsigner 对其进行签名,因为 Android 系统不会安装没有进行签名的程序。

    1K10

    深入探索 Android 包瘦身(上)

    使用 APK 扩展文件方式 上传,Google Play 会为我们的应用 托管 扩展文件,并将其 免费提供 给设备。... Java 程序被编译成 class 文件之后,还需要使用 dx 工具将所有的 class 文件整合到一个 dex 文件中,这样 dex 文件就将原来每个 class 文件中都有的共有信息合成了一体,...接着,在注释3处,配置 shrinkResources 为 true 可以移除无用的 resource 文件: ProGuard 部分无用代码移除的时候,这些代码所引用的资源也会被标记为无用资源,然后...尤其项目变大之后,开发人员众多,因此引入的三方库也会非常多,比如说,有人引入了一个 Fresco 图片库,然后这个库你可能不熟悉,你会引入一个 Glide,并且另一个人它可能又会引入他熟悉的图片库 Picasso...8、移除无用代码 移除无用代码我们经常会碰到下面两个问题: 1)、业务代码只增不减。 2)、代码太多不敢删除。 这里,有一个很好的方法可以 准确地判断哪些类在线上环境下用户肯定不会用到了。

    2K30

    Cordova封装打包vue H5项目到Android平台详解

    安装Cordova npm install -g cordova 安装完成之后终端输入cordova显示下图即表示安装成功 [在这里插入图片描述] 创建Cordova项目 进入你要创建项目的目录执行:...[在这里插入图片描述] 接下来检测cordova编译环境 cordova requirements 运行结果: [在这里插入图片描述] 这里面的环境缺一不可,如果没有安装会有提示,直接百度逐一安装就可以了否则无法编译成功的...包就可以直接安装到手机进行测试了 连接手机直接测试 cordova run android 手机连接电脑,打开开发者模式,然后运行上述命令即可在真机进行安装包测试了 生成正式包 测试好了之后我们就要生成正式的包了...接下来就是生成的证书和上一步生成的未签名的正式的apk包放同一个文件夹 然后再该文件夹下执行 jarsigner -verbose -keystore XXX.keystore -signedjar...XXX.apk app-release-unsigned.apk XXX.keystore [在这里插入图片描述] 执行成功后就可以看到生成的签名了的apk的包了,这个包就可以手机直接安装使用了 总结

    1.6K206

    Cordova封装打包vue H5项目到Android平台详解

    安装Cordova npm install -g cordova 安装完成之后终端输入cordova显示下图即表示安装成功 [在这里插入图片描述] 创建Cordova项目 进入你要创建项目的目录执行:...[在这里插入图片描述] 接下来检测cordova编译环境 cordova requirements 运行结果: [在这里插入图片描述] 这里面的环境缺一不可,如果没有安装会有提示,直接百度逐一安装就可以了否则无法编译成功的...包就可以直接安装到手机进行测试了 连接手机直接测试 cordova run android 手机连接电脑,打开开发者模式,然后运行上述命令即可在真机进行安装包测试了 生成正式包 测试好了之后我们就要生成正式的包了...接下来就是生成的证书和上一步生成的未签名的正式的apk包放同一个文件夹 然后再该文件夹下执行 jarsigner -verbose -keystore XXX.keystore -signedjar...XXX.apk app-release-unsigned.apk XXX.keystore [在这里插入图片描述] 执行成功后就可以看到生成的签名了的apk的包了,这个包就可以手机直接安装使用了 总结

    1.8K50

    一文了解Android游戏SDK开发

    ; 将Java代码编译成.class字节码文件; 使用dex工具将.class文件转换成Dalvik 字节码,也就是.dex文件; 通过ApkBuilde工具将.dex文件和其它资源文件打包成未签名的apk...[在这里插入图片描述] Eclipse因为只能接入jar包,也就是解压aar后取出里面的classes.jar,当我们资源文件拷贝到Eclipse,再编译apk的时候,资源文件会对应一个新的资源id,...res文件夹内的图片及xml资源(xml被编译成二进制); assets文件夹(不会生成资源id) 二进制AndroidManifest.xml 资源索引表 resources.arsc R.class...[在这里插入图片描述] 2,FileProvider 需要增加配置检查 由于 7.0之后安装apk需要通过FileProvider来获取url,所以需要在Manifest.xml添加如下代码。...[在这里插入图片描述] 游戏渠道包 做过Android应用开发的同学对于渠道包肯定不会陌生,由于Android应用市场众多,如果要上不同的应用市场,那么就需要打不同的渠道包。

    2.7K00

    Android插件化学习之路(一)之动态加载综述

    的解码、图片高斯模糊处理等)。...此外,由于so库是由C/C++编译而来的,只能被反编译成汇编代码,相比中dex文件反编译得到的Smali代码更难被破解,因此so库也可以被用于安全领域。...Android项目中,所有Java代码都会被编译成dex文件,Android应用运行时,就是通过执行dex文件里的业务代码逻辑来工作的。...这种模式的框架比较适用一些UI变化比较少的项目,比如游戏SDK,基本就只有登陆、注册界面,而且基本不会变动,更新的往往只有代码逻辑。...动态创建Activity模式 动态创建Activity模式的核心是“运行时字节码操作”,现在宿主注册一个不存在的Activity,启动插件的某个Activity想要启动的Activity替换成前面注册的

    1K22

    深入Android Runtime: 指令优化与Java方法调用

    作者简介:dc, 天天P图AND工程师 ---- 做一个小试验 先做一个小试验: 在apk的activity中放一个Button和一个TextView,点击Button让结果显示在TextView上。...当我们将Java代码编译成apk,编译器会用javac将java文件转成class文件,再通过dx将class文件转成dex文件(如果是jack&jill编译器,不会有class生成的过程)。...apk启动,将会创建一个PathClassLoader,将apk相关及其依赖的library中的class加载到内存。...但是我们通常不会注意到虚拟机的机制。 在安装apk,如果apk是debug版本,会被强制以解释方式执行,此时执行的是字节码,我们看到的字节码是这样的: ?...如果我们进行verify-none模式的编译(不进行quicken优化,或者其他能编译成机器码的模式),让其以解释模式运行,就不会有问题。

    2.2K70

    你必须要懂的APK瘦身知识

    另外,我们通过APK Analyser 可以分析 APK ? 2.减小 classes.dex classes.dex 包含了所有 Java 代码。...3.优化assets和res中的资源文件 题外话 res/raw和assets的相同点: 两者目录下的文件在打包后会原封不动的保存在apk包中,不会编译成二进制。...但是,系统渲染每个 VectorDrawable对象需要很长时间,而较大的图像需要更长的时间才能显示在屏幕上。因此,只有在显示小图像才考虑使用这些矢量图形。...其它策略 有时候我们可能对一张图片进行重复利用,比如一张图片仅仅是整体颜色的变换可以使用setColorFilter或者tint。尽量减少使用帧动画,那可是一堆图片呀。...例如,将下边的代码保存在 res/raw/keep.xml。构建不会将该文件打包到 APK 之中。 <?xml version="1.0" encoding="utf-8"?

    75330

    关于Android开发你必须要懂的APK瘦身知识

    另外,我们通过APK Analyser 可以分析 APK 02 减小 classes.dex classes.dex 包含了所有 Java 代码。...03 优化assets和res中的资源文件 题外话 res/raw和assets的相同点: 两者目录下的文件在打包后会原封不动的保存在apk包中,不会编译成二进制。...但是,系统渲染每个 VectorDrawable对象需要很长时间,而较大的图像需要更长的时间才能显示在屏幕上。因此,只有在显示小图像才考虑使用这些矢量图形。...其它策略 有时候我们可能对一张图片进行重复利用,比如一张图片仅仅是整体颜色的变换可以使用setColorFilter或者tint。尽量减少使用帧动画,那可是一堆图片呀。...例如,将下边的代码保存在 res/raw/keep.xml。构建不会将该文件打包到 APK 之中。 <?xml version="1.0" encoding="utf-8"?

    1.1K40

    Android编译的小知识

    项目中的源代码是如何一步步被执行为可以安装到手机上的apk的? 文章会一一给大家介绍,尽量以代码为例,好让大家快速理解。 文末有福利~ 1....代码编译生成.class字节码文件 这里有个问题: java,kotlin混编的时候,谁会先编译成class字节码,这个顺序是随机的吗?...回复:java,kotlin混编的时候,先执行kotlinc将kotlin文件编译成class字节码,再执行javac将java文件编译成class字节码。 为什么kc比javac先执行?...生成APK文件 在资源文件与代码文件都编译完成后,将manifest文件、resources文件、dex文件、assets文件等等打包成一个压缩包,也就是apk文件。...这也让开发面临了一个不得不接受的事实:你写的代码可能并不是apk最终会执行的代码,有可能你的代码,会被某个优化插件给删除或者“魔改” 排查线上问题的时候,分析堆栈,查看源码并不是唯一手段,有的时候可能需要借助编译产物来具体分析

    80230

    Android的编译打包流程详解

    (4)aapt工具为何xml编译成二进制文件? 一、官方说明 下图的是官网对于Android编译打包流程的介绍。 ?...用文字解释一下上图的流程: 首先,我们整理一下编译的输入部分是什么(图中黄色部分): - 资源文件,res目录的各种资源如图片动画等等 - AIDL接口文件 - 代码源文件 - 第三方资源包,分为两类:...a.java类包(JAR\AAR),b.非Java类包(.so) 接下来的步骤: 1. aapt工具编译res资源文件,大部分xml文件编译成二进制文件(图片文件除外),同时生成R.Java文件和resources.arsc...文件,里面保存了资源的ID和在APK中的路径。...对齐,通过zipalign工具对apk中的未压缩资源(图片、视频)进行“对齐操作”,让资源按4字节的边界进行对齐,使得资源访问速度更快。

    1.5K100

    为什么现在要用Gradle?

    在我们开发软件,会面临相似的情况就是,我们需要去用IDE来进行编码,完成一些功能时会进行编译、单元测试、打包等工作,这些工作都需要开发人员手动来实现。...自动化可以自定义有序的步骤来完成代码的编译、测试和打包等工作,让重复的步骤变得简单。 IDE可能受到不同操作系统的限制,而自动化构建是不会依赖于特定的操作系统和IDE的,具有平台无关性。...所有的Java代码,包括R.java和Java接口都会被Java编译器编译成.class文件。 Dex工具会将上一步生成的.class文件、第三库和其他.class文件编译成.dex文件。...上一步编译生成的.dex文件、编译过的资源、无需编译的资源(如图片等)会被ApkBuilder工具打包成APK文件。...Maven的中央仓库比较混乱,无法从中央仓库中得到需要的类库,我们可以手工下载复制到本地仓库中,也可以建立组织内部的仓库服务器。

    1.3K10

    Unity编译Android的原理解析和apk打包分析

    本文需要用到的工具: Android反编译工具——apktool Android studio自带的反编译功能 一、将Unity的Scene编译成apkapk的程序入口会是什么?...用Unity编译apk出来之后,反编译他的AndroidManifest文件,两个主Activity,默认显示包含Scene的Activity。...解决方法:Unity的Manifest文件合并,一个manifest放到Plugins/Android目录下,就不会合并manifest了。...五、Unity打包Android apk的结构探究 由于Unity开发Android,常常设计到Unity + Visual和Android studio的环境切换,Unity的开发往往会更快一些,更多的是...工程的src/main/assert目录之下; 在Android studio调试,可以将aar library工程设置为app工程,这样就可以编译apk运行到手机了。

    7.1K20

    从构建工具看 Android APK 编译打包流程

    所有的Android资源文件进行解析,生成扩展名为.flat的二进制文件。比如是png图片,那么就会被压缩处理,采用.png.flat的扩展名。...javac(编译java文件) 接下来就是编译java文件了,用到的工具就是大家熟知的javac,通过它将java文件编译成.class文件。 注解代码也是在这个阶段生成的。...你可以dex文件理解为一个class文件包,里面装着很多的class文件,让这些类能够共享数据,类似这种关系: ?...zipalign(对齐处理) zipalign 是一种归档对齐工具,可对 Android 应用 (APK) 文件提供重要的优化 具体来说,它会使 APK 中的所有未压缩数据(例如图片或原始文件)在 4...所以META-INFO文件夹中这三个文件就能保证apk不会被修改。

    3.9K30
    领券