手动创建和部署一个classes.dex 查看更多关于 classes.dex 的文章 文件


本文整理自网络,侵删。

 

手动创建和部署一个classes.dex

查看更多关于 classes.dex 的文章

 文件

手动创建和部署一个classes.dex文件不仅可以让你添加库到你的应用程序,还可以修改RAD Studio为安卓内置的Java库或删除那些你不需要的。如果你只需要为你的Android应用程序添加一个自定义的java库,查看这篇使用Project Manager添加java库到你的应用程序。


创建一个classes.dex

查看更多关于 classes.dex 的文章

 文件

classes.dex文件是所有安卓应用必须有的Dalvik可执行文件,这个文件包含应用程序使用的Java库。当您部署一个Android应用程序RAD Studio包含RAD Studio内置的java库的RAD Studio包含的classes.dex文件。在RAD Studio应用使用自己的java库,您必须创建一个新的classes.dex文件,包括那些应用程序需要的与自己的java库,RAD Studio内置的java库。


确定JAR文件包含在你的classes.dex 文件中

为了创建新的classes.dex文件,你需要确定你的应用所使用的每一个Java库,以及这些库依赖的库的JAR文件。同时,这也影响了 RAD Studio所有内置的Java库。例如,你的应用需要Google Play Services Java库,你的classes.dex文件,你的应用也必须包含 Google Play Application Licensing Java库的JAR文件,因为 Google Play Application Licensing依赖Google Play Services。如果Google Play Application Licensing有自己的依赖,你也必须包含这些。

下表列出的RAD Studio内置的java库的依赖关系:

JAR文件依赖RAD Studio需要
Android Supportandroid-support-v4.jar
FireMonkeyfmx.jarAndroid Support
Google Mobile AdsGoogleAdMobAdsSdk-6.4.1.jar
Google Analyticsgoogle-analytics-v2.jar
Google Play Application Licensinggoogle-play-licensing.jar
Google Play In-app Billinggoogle-play-billing.jarGoogle Play Application Licensing
Google Play Servicesgoogle-play-services.jarGoogle Play Application Licensing
APK Expansionapk-expansion.jarFireMonkey
Google Play Application Licensing
Cloud Messagingcloud-messaging.jarFireMonkey
Google Play Application Licensing

你可以找到这些JAR文件在RAD Studio安装文件夹(C:\Program Files (x86)\Embarcadero\Studio\19.0):

lib\android\debug

lib\android\release

你也可以包含所有RAD Studio内置的java库到你的classes.dex文件或限定,你的应用RAD Studio内置Java库基于上边表格的信息。

警告:在你自定义的classes.dex文件中,你必须包含RAD Studio所必须的Java库。


从JAR文件生成一个classes.dex文件

一旦你已经确定你的Android应用程序需要的JAR文件,你可以从他们创建classes.dex文件。

创建一个classes.dex文件,你需要使用命令行工具DX。你可以在C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk找到这个命令行工具。

用--dex参数运行DX,运用 --output parameter 参数输出classes.dex路径,注意用空格隔开

dx --dex --output="classes.dex" "C:\Path\To\Library1.jar" "C:\Path\To\Library2.jar"

注意:你必须创建 debug 和 release两个版本的classes.dex文件。如果部署的classes.dex文件为Debug,RAD Studio内置的java库的RAD Studio debug功能才可用


部署classes.dex文件

警告:小心地遵循以下步骤。Android应用程序都必须包含一个有效的classes.dex文件。更多信息,见下面的文件丢失或无效classes.dex。

为配置你的安卓应用,需要部署你的自定义 classes.dex文件。


1、选择Project > Deployment打开Deployment Manager。

2、取消默认的classes.dex文件复选框。

3、点击“添加文件”按钮,添加自定义classes.dex文件到配置文件列表。

4、修改你的新条目远程路径 classes\

5、修改Platforms为只为Android

故障排除

classes.dex文件无效或丢失

当你使用RAD Studio并且你的应用中没有一个有效的classes.dex文件时运行Android应用,出现这个信息:

Unable to create process: Unable to install ''. Failure [INSTALL_FAILED_DEXOPT]

一个Android应用程序包(APK文件)必须包含一个有效的classes.dex文件。这是:

在APK中必须有一个classes.dex文件

在APK文件中,classes.dex文件必须位于classes/classes.dex

classes.dex必须是一个有效的 Dalvik可执行文件

当你使用一个自定义的classes.dex文件,你必须小心。

当你在 Deployment Manager中取消默认的classes.dex文件并添加自定义classes.dex文件:

请确保您的自定义文件已勾选

请确保Remote Path路径为classes\

确保你的新条目是你的classes.dex文件,并且是Dalvik可执行文件

如果你的Android应用程序的配置不需要部署一个有效的classes.dex文件,你运行你的应用程序从RAD Studio Android设备或安装在您的设备与RAD Studio生成应用程序的APK文件,安装程序将失败,但它会让数据在你的Android设备防止你安装应用程序同样的包的名称作为你的应用(如Android版本信息)。

当你试图安装一个没有有效的classes.dex文件的APK文件时,唯一的办法是在安卓设备上恢复出厂设置。

警告:出厂重置从设备中删除所有日期(个人数据、自定义设置等等)。仔细考虑是否固定的问题是值得失去你的数据。如果您决定继续前进,请记住在执行出厂重置之前备份数据。

相关阅读 >>

Delphi apihook

Delphi jpg图像加文字水印

Delphi实现tedit控件的外观只有一条下划线

Delphi利用系统时间产生随机数的函数

Delphi通过idhttp和php交互

Delphi 获取ie7 ie8 ie9 地址栏网址

Delphi fmx中获取窗口比例

Delphi 程序窗体及控件自适应分辨率

Delphi让程序运行后自我删除或恢复名称

Delphi_关于null,nil

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...