小编Ale*_*pov的帖子

通过重新压缩其内容来缩小APK大小

我有一个非常大的apk文件,我正在尝试减小它的大小.已经使用了所有常用技术,例如Proguard和图像压缩.仍然,apk非常大 - 约25mb.

维基百科说:

APK文件是一种存档文件,特别是基于JAR文件格式的zip格式包,.apk作为文件扩展名.

我最近注意到,如果我将解压缩apk(Android Studio的神器输出),使用7-Zip重新压缩它并对其进行签名,然后大小神奇地减少2.5mb(至~22.5mb).我可以将其上传到播放,安装和运行它没有问题.

这是我的问题:

  • 在解压缩和重新压缩过程中是否有任何数据被擦除?
  • 如果不是,为什么aapt(Android Studio使用的那个)以如此低效的方式打包文件?
  • 如果是的话,正在擦除哪些数据(请发布一些我可以阅读更多相关信息的链接)?如果我使用这种方法会出现什么问题?

谢谢!


编辑[5/13/2015]:

压缩APK内容对我来说效果很好.但是,我必须对原始资源(通常置于res/raw下)保持谨慎.例如,使用压缩资源作为参数调用Resources#openRawResourceFd将以以下异常结束:

java.io.FileNotFoundException:此文件无法作为文件描述符打开; 它可能是压缩的

因此,请记住从压缩中排除原始资源.

android apk

9
推荐指数
2
解决办法
2762
查看次数

配置spring-session-data-redis后无法启动spring-boot应用程序

spring-session-data-redis演示spring-boot项目中进行配置后,bootRun任务失败,并显示以下消息:

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 0 of method redisTemplate in org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration required a bean of type 'org.springframework.data.redis.connection.RedisConnectionFactory' that could not be found.
    - Bean method 'redisConnectionFactory' not loaded because @ConditionalOnClass did not find required classes 'org.apache.commons.pool2.impl.GenericObjectPool', 'redis.clients.jedis.Jedis'
    - Bean method 'redisConnectionFactory' not loaded because @ConditionalOnClass did not find required class 'io.lettuce.core.RedisClient'

Action:

Consider revisiting the entries above or defining a bean of type 'org.springframework.data.redis.connection.RedisConnectionFactory' in your configuration.
Run Code Online (Sandbox Code Playgroud)

我已经完成的工作(又称重现步骤):
1.使用Spring Initializr创建了一个[带有Java和Spring …

spring-boot spring-session

5
推荐指数
1
解决办法
4916
查看次数

尝试使用增量运算符时编译错误

在侧面项目的工作期间,我尝试使用增量运算符,如下所示:

fn main() {
    let mut my_var = 5;
    my_var++;
}
Run Code Online (Sandbox Code Playgroud)

并收到以下错误:

error: expected expression, found `+`
 --> src\main.rs:3:12
  |
3 |     my_var++;
  |            ^
Run Code Online (Sandbox Code Playgroud)

我的代码出了什么问题?

rust

4
推荐指数
1
解决办法
2572
查看次数

如何在android中找出Sqlite查询的执行时间

我正在尝试优化我的Sqlite查询的性能.

我想知道是否有任何方法可以找到每个Sqlite语句的执行时间,或者是否有任何工具允许在Android SDK中查看语句执行时间?

虽然我熟悉查询计时器.timer On.timer show命令.

例:

查询超时时间

任何答案都真的很感激!

performance android android-sqlite

2
推荐指数
2
解决办法
2764
查看次数

Firebase Crashlytics - 禁用版本

我已将我们的应用从Fabric的 Crashlytics 迁移到Firebase Crashlytics,因为 Fabric 的仪表板将于2020 年 3 月 31 日关闭

在 Fabric 的仪表板中,我可以禁用特定版本(因此其崩溃不会显示在未过滤的崩溃列表中),如本答案所述

我在Firebase仪表板中找不到类似的功能。有没有办法禁用那里的特定版本?

firebase crashlytics

2
推荐指数
1
解决办法
304
查看次数

如何在 Jetpack Compose 中使用图标切换按钮?

我想在 Jetpack Compose 中使用图标按钮,但我无法理解 Jetpack Compose 文档。有人可以分享与此类似的切换按钮的示例代码吗?
当用户单击按钮时,我想像 Instagram 中那样使用弹跳动画为其设置动画。

user-interface android android-jetpack-compose

1
推荐指数
1
解决办法
1万
查看次数