Android 安卓工作室';s";配置文件或调试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

我最近用剥离的文件制作了一个新版本的apk,并完全删除了
~/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
,工作室从哪里获取数据呢