我最近使用剥离的文件制作了新版本的APK,并完全删除了~/ApkProjects/
,以确保我正在打开并尝试调试最新版本。
但是,Android Studio的“配置文件或调试APK”在其文件浏览器中显示了错误的库大小(太小了),并声称如果没有,它们就会从符号中剥离!
例如,这是我检查Android Studio创建的相应lib/armeabi-v7a/libSDL2.so
文件夹中的~/Apkprojects/myapp
:
$ 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显然具有小于2mb的不同版本,并且还会显示一条通知,提示调试符号丢失。?
此外,当我右键单击项目文件中的apk并单击Show in File Manager
时,我看到.apk
大于大于36mb ,该数字又是< em>不是上面截图中显示的Android Studio的34mb !
那是怎么回事?为什么Android Studio会以某种方式构成.so
文件中实际上并不包含的.apk
文件的不存在版本?好像我使用的是.apk
的旧版本,但是我完全擦除了~/ApkProjects/
甚至进入了项目文件夹,并从中提取了为其自己创建的.apk
副本如您在上面看到的那样,那么Studio是从哪儿获取.apk
的数据呢?