我想将我的jar转换为dex:dx --dex --output=file.dex file.jar
。在file.jar
存在文件夹cnf/
中,其中包含我的类所需的配置文件。但是在结果dex文件中没有文件夹cnf/
。
如何在转换时将所有文件和文件夹保存在dex文件中?
答案 0 :(得分:2)
这是不可能的,没有办法在dex文件中存储任意文件。你可以得到的最接近的是创建一个" android" jar文件,将dex文件作为classes.dex条目,以及要放入其中的任何其他内容,例如cnf文件夹。
答案 1 :(得分:1)
您可以将cnf/
放入APK文件中。 APK是一个ZIP存档。在设备cnf/
上解压缩后,文件夹将在classpath中,因此它应该与JAR内部的工作方式相同。
构建后删除MANIFEST.MF和APK内的META-INF文件夹中的证书;
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