我想将我的 jar 转换为 dex: dx --dex --output=file.dex file.jar
。在包含我的课程所需的配置文件的文件file.jar
夹中。cnf/
但是生成的 dex 文件中没有文件夹cnf/
。
转换时如何将所有文件和文件夹保留在 dex 文件中?
这是不可能的,没有办法将任意文件存储在 dex 文件中。您可以获得的最接近的方法是创建一个“android”jar 文件,将 dex 文件作为 classes.dex 条目,以及您想要放入其中的任何其他内容,例如 cnf 文件夹。
您可以放入cnf/
APK文件。APK 是一个 ZIP 档案。在设备cnf/
文件夹上解压后将位于类路径中,因此它应该与 JAR 中的工作方式相同。
构建后从 APK 内的 META-INF 文件夹中删除 MANIFEST.MF 和证书;
zip -d file.apk "META-INF/*"
将您的资源 ( cnf/
) 添加到 APK;
aapt add -v file.apk cnf/*
重新签署 APK。这是使用默认调试密钥的示例:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~/.android/debug.keystore file.apk androiddebugkey