Android 安卓工作室';s";配置文件或调试APK“;显示错误的库大小,并声明它们未压缩时未压缩
我最近用剥离的文件制作了一个新版本的apk,并完全删除了Android 安卓工作室';s";配置文件或调试APK“;显示错误的库大小,并声明它们未压缩时未压缩,android,android-studio,gradle,apk,Android,Android Studio,Gradle,Apk,我最近用剥离的文件制作了一个新版本的apk,并完全删除了~/ApkProjects/,以确保我正在打开并尝试调试最新版本 然而,Android Studio的“Profile or Debug APK”在其文件浏览器中显示了错误的库大小(太小了),并声称它们在不存在的情况下被从符号中剥离 例如,我正在检查Android Studio创建的相应~/Apkprojects/myapp文件夹中的lib/armeabi-v7a/libSDL2.so: $ pwd /home/jonas/ApkProje
~/ApkProjects/
,以确保我正在打开并尝试调试最新版本
然而,Android Studio的“Profile or Debug APK”在其文件浏览器中显示了错误的库大小(太小了),并声称它们在不存在的情况下被从符号中剥离
例如,我正在检查Android Studio创建的相应~/Apkprojects/myapp
文件夹中的lib/armeabi-v7a/libSDL2.so
:
$ pwd
/home/jonas/ApkProjects/myapp
$ mkdir test
$ cd test
$ unzip ../myapp.apk
Archive: ../myapp.apk
inflating: AndroidManifest.xml
inflating: META-INF/CERT.RSA
inflating: META-INF/CERT.SF
inflating: META-INF/MANIFEST.MF
extracting: assets/private.mp3
inflating: classes.dex
inflating: lib/armeabi-v7a/libSDL2.so
inflating: lib/armeabi-v7a/libSDL2_image.so
inflating: lib/armeabi-v7a/libSDL2_mixer.so
inflating: lib/armeabi-v7a/libSDL2_ttf.so
inflating: lib/armeabi-v7a/libcrypto1.1.so
inflating: lib/armeabi-v7a/libffi.so
inflating: lib/armeabi-v7a/libfreetype.so
inflating: lib/armeabi-v7a/libhidapi.so
inflating: lib/armeabi-v7a/libmain.so
inflating: lib/armeabi-v7a/libpng16.so
inflating: lib/armeabi-v7a/libpython3.7m.so
inflating: lib/armeabi-v7a/libsqlite3.so
inflating: lib/armeabi-v7a/libssl1.1.so
extracting: res/drawable-hdpi-v4/ic_launcher.png
extracting: res/drawable-mdpi-v4/ic_launcher.png
extracting: res/drawable-xhdpi-v4/ic_launcher.png
extracting: res/drawable-xxhdpi-v4/ic_launcher.png
extracting: res/drawable/icon.png
extracting: res/drawable/presplash.jpg
inflating: res/layout/chooser_item.xml
inflating: res/layout/main.xml
inflating: res/layout/project_chooser.xml
inflating: res/layout/project_empty.xml
extracting: resources.arsc
$ stat lib/armeabi-v7a/libSDL2.so
File: lib/armeabi-v7a/libSDL2.so
Size: 3803132 Blocks: 7432 IO Block: 4096 regular file
Device: fd02h/64770d Inode: 13769903 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ jonas) Gid: ( 1000/ jonas)
Context: unconfined_u:object_r:container_file_t:s0:c42,c208
Access: 1979-12-31 00:00:00.000000000 +0100
Modify: 1979-12-31 00:00:00.000000000 +0100
Change: 2019-07-13 14:05:20.501729484 +0200
Birth: -
$ file lib/armeabi-v7a/libSDL2.so
lib/armeabi-v7a/libSDL2.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=ab7e06780169e2f4ac5dab149ee66d99af91f3f2, with debug_info, not stripped
$
如您所见,库文件被报告为大于3mb的,并且显然是未压缩/带有调试符号的
然而,android studio展示的是:
Android Studio显然有一个小于2mb的不同版本,并且还显示一个通知,说明调试符号丢失。
另外,当我右键单击项目文件中的apk并单击文件管理器中的显示时,我可以看到.apk
大于36mb,这也不是上面屏幕截图中Android Studio显示的34mb
那么到底发生了什么?为什么Android Studio会以某种方式编造不存在的.so
文件,而这些文件实际上并不包含在.apk
中?看起来我使用的是一个较旧版本的.apk
,但我完全删除了~/ApkProjects/
,甚至进入了项目文件夹,提取了.apk
副本,它是从那里为自己创建的,正如你在上面所看到的,那么,如果不是.apk
,工作室从哪里获取数据呢