Android 将jar转换为dex时保留文件夹

Android 将jar转换为dex时保留文件夹,android,jar,dx,Android,Jar,Dx,我想将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

我想将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