使用工具 bundletool
官方介绍: https://developer.android.com/tools/bundletool?hl=zh-cn
下载路径: https://download.csdn.net/download/zengxx1989/89182690
也可以官方下载:https://github.com/google/bundletool/releases
下载下来是一个jar 包,运行jar 包需要 java , 这个Jar包对java 版本要求要 jdk 11 及以上
运行命令
java -jar .\bundletool-all-1.16.0.jar build-apks --bundle=app-release.aab --output=temp.apks
安装 apk 的方法
java.exe -jar .\bundletool-all-1.16.0.jar install-apks --apks temp.apks
参考文献:
https://stackoverflow.com/questions/50419286/install-android-app-bundle-on-device
其它过程中遇到的问题, 下面是因为电脑环境默认java 版本是1.8,所以报下面错误
java -jar .\bundletool-all-1.16.0.jar build-apks --bundle=app-release.aab --output=temp.apks
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/ddmlib/Log$ILogOutput has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain.java:82)
at com.android.tools.build.bundletool.BundleToolMain.main(BundleToolMain.java:55)
解决方案:用Androd studio 自带的jre
'C:\Program Files\Android\Android Studio\jbr\bin\java.exe' -jar .\bundletool-all-1.16.0.jar
build-apks --bundle=app-release.aab --output=temp.apks
class file version 55.0 对应 jdk /jre 版本
9 = Java 5
50 = Java 6
51 = Java 7
52 = Java 8
53 = Java 9
54 = Java 10
55 = Java 11
56 = Java 12
57 = Java 13
58 = Java 14
59 = Java 15
60 = Java 16
61 = Java 17
62 = Java 18
63 = Java 19