我看到Android的蚂蚁脚本有消息说它是"预先dexing".然而,dex和pre-dex使用相同的选项,除了在一种情况下一次一个罐子,在其他情况下一次多个罐子.
真正需要的是什么?pre-dex是强制性的吗?
例如
The ' characters around the executable and arguments are
not part of the command.
[dex] Pre-Dexing F:\users\tejasoft\work\fnd\cmn\tools\social\sz\demo\libs\pinit-sdk-1.0.jar -> pinit-sdk-1.0-e3bebafa2727504605edf3d8d85b5d46.jar
[dx] Current OS is Windows 7
[dx] Executing 'D:\Apps\java\embd\cmn\android\oems\google\adt\4.x\4.3.x\4.3\sdk\build-tools\18.1.0\dx.bat' with arguments:
[dx] '--dex'
[dx] '--output'
[dx] 'F:\users\tejasoft\work\fnd\cmn\tools\social\sz\demo\bin\dexedLibs\pinit-sdk-1.0-e3bebafa2727504605edf3d8d85b5d46.jar'
[dx] 'F:\users\tejasoft\work\fnd\cmn\tools\social\sz\demo\libs\pinit-sdk-1.0.jar'
[dx]
[dx] The ' characters around the executable and arguments are
[dx] not part of the command.
Execute:Java13CommandLauncher: Executing 'D:\Apps\java\embd\cmn\android\oems\google\adt\4.x\4.3.x\4.3\sdk\build-tools\18.1.0\dx.bat' with arguments:
'--dex'
'--output'
'F:\users\tejasoft\work\fnd\cmn\tools\social\sz\demo\bin\dexedLibs\pinit-sdk-1.0-e3bebafa2727504605edf3d8d85b5d46.jar'
'F:\users\tejasoft\work\fnd\cmn\tools\social\sz\demo\libs\pinit-sdk-1.0.jar'
The ' characters around the executable and arguments are
not part of the command.
[dex] Converting compiled files and external libraries into F:\users\tejasoft\work\fnd\cmn\tools\social\sz\demo\bin\classes.dex...
[dx] Current OS is Windows 7
[dx] Executing 'D:\Apps\java\embd\cmn\android\oems\google\adt\4.x\4.3.x\4.3\sdk\build-tools\18.1.0\dx.bat' with arguments:
[dx] '--dex'
[dx] '--output'
[dx] 'F:\users\tejasoft\work\fnd\cmn\tools\social\sz\demo\bin\classes.dex'
[dx] 'F:\users\tejasoft\work\fnd\cmn\tools\social\sz\demo\bin\classes'
[dx] 'F:\users\tejasoft\work\fnd\cmn\tools\social\sz\demo\bin\dexedLibs\classes-144740ee5cf8b90b747300d19fb8201e.jar'
[dx] 'F:\users\tejasoft\work\fnd\cmn\tools\social\sz\demo\bin\dexedLibs\classes-1593da1bb60c5ec741aca494963e04a3.jar'
[dx] 'F:\users\tejasoft\work\fnd\cmn\tools\social\sz\demo\bin\dexedLibs\classes-37bb5269e4fbd6dda9900fea95c0c29b.jar'
Run Code Online (Sandbox Code Playgroud)
Ewa*_*ald 20
在这种情况下,记住您使用的是Java,这与Dalvik运行时不完全相同.来自Oracle的Java使用完全不同的虚拟机,而Dalvik则专门针对移动设备进行了微调.
DEX进程获取Java编译的JAR文件,并将它们转换为将在Android上运行的Dalvik可执行文件(.dex)文件.Oracle JVM使用与Dalvik运行时不同的字节码,因此必须执行此步骤.
您可能已经包含在项目中的库有一个过程,因为它们也是使用标准Java编译器编译的,然后是实际项目的另一个过程.
它分两步完成,因为最后一个过程,您的应用程序,需要访问已经dexed的库文件,以避免在进程繁忙时引用代码更改.
您可以在http://source.android.com/devices/tech/dalvik/index.html上找到更多信息- 您还将看到Dalvik计划更换为ART.
| 归档时间: |
|
| 查看次数: |
11954 次 |
| 最近记录: |