反编译时提示如下4005错误的解决方法怎么解决

每日登录:+1西币&+1积分
&下次自动登录
绑定第三方账号登录 & & &
扫描二维码登录支持中心移动端
获取动态密码
| 新手必读 |
You are here:
已解决问题
手机登录找答案
热点活动:
无满意答案关闭:
wincc flexible 的fwx文件能反编译回HMI文件吗
wincc&flexible&的fwx文件能反编译回HMI文件吗,怎么做呢
产品版区:提问时间: 10:06:35&&&提问者: - 中级技术员&nbsp&nbsp第6级
问题ID: 93981
.fwx文件不能反编译为.hmi文件。
置评专家:西门子人机界面产品支持& 17:01:43
作者/最新回复
最后回复时间
fwx文件也是仿真之前编译的时候生成的一个文件,在不打开wincc&flexible的情况下也可以单独运行。每次仿真或者下载之前都会生成一个fwx文件,而且旧的fwx文件都会被新的文件覆盖,fwx不能反编译。
回答者:- 资深顾问&nbsp&nbsp第13级&
不能反编译,但可以上载屏中的画面,不能修改也不能查看,只能用于下载到同型号的屏中
回答者:- 初级工程师&nbsp&nbsp第9级&
fwx文件是用wincc&flexible&runtime运行的文件,似乎不能转成hmi文件
回答者:- 学长&nbsp&nbsp第2级&
保存项目时,WinCC&flexible在硬盘上创建一个项目数据库。项目数据库以扩展名*.hmi存储在Windows文件管理器中。每个项目数据库都存储一个记录文件(*_log.ldf)。如果没有该记录文件,不能保证数据的一致性。如同其他文件一样,可以在&Windows&资源管理器中将项目数据库与相应的记录文件一起移动、复制和删除。不管怎样,都要确保在复制和移动期间不分开数据库和记录文件。生成项目时,除了生成的项目文件(*.fwx),还创建两个扩展名为*.transfer和*.tfx的文件(传送需要这两个文件)。项目名称和操作员设备名称用作文件的文件名,例如“OP77_Mixing_Unit.OP77B.fwx”。传送设置存储在*.transfer文件中。传送的对象存储在*.tfx文件中。除了这三个文件,还可以为诸如配方等创建单独的文件。为了确保复制后操作员设备上的无故障调试,复制所有称为&项目名称&&操作员设备名称&.*的文件。当关闭在网络驱动器上直接打开的&WinCC&flexible&项目时,出现的网络问题会导致关闭&WinCC&flexible&进程时出现数据丢失。如果需要在网络驱动器上存储一个项目,将项目拷贝到就地驱动器用于编辑使用。关闭&WinCC&flexible&后,再将项目拷贝到网络驱动器上。如果需要把源程序从屏上载到电脑进行查看或编辑,需要在下载程序之前为屏配一张存储卡,然后下载的时候勾选启用回传(并不是所有的屏都支持源程序上载)。
回答者:- 助理工程师&nbsp&nbsp第8级&
本版精华问答
等待您来回答
20秒帮我们优化支持中心!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
欢迎您来到找答案
在“找答案”,已有超过7万个被解决的技术问题供您参考!
西门子技术专家亲自把关!常规的,简单的问题,在这里您都可以找到答案!
遇到了问题,就来“找答案”提问。
点击搜索框右侧的提问按钮,只需2步就能成功提交问题!分分钟就有无数大侠前来帮你。
在“找答案”每天都有大量的新问题。
别犹豫,只需要点击问题下方的“我要回答”就能参与。答题不光有积分相送,也会给您积攒大侠人气。
“找答案”定期开展各种有奖活动期待您的参与。
更有机会参加西门子高端用户峰会。领略西门子的博大精深!今日论坛第 1 个签到,每日签到可得财富值+2,连续5天签到后再连续签到则每日可得财富值
+4,记得每天都来签到哦~
上一主题:
下一主题:
查看: 7780 | 回复: 8
【转贴】SystemUI.apk等特殊APK文件的反编译和编译错误解决方法
财富值 537
交易信用 0
积分/帖子:490
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
【转贴】SystemUI.apk等特殊APK文件的反编译和编译错误解决方法
从哪里转来的忘了
SystemUI.apk等特殊APK文件的反编译和编译错误解决方法
用apktool发现一直无法编译,后来发现编译普通的apk就正常
编译系统的apk就会出现如下错误
Exception in thread &main& brut.androlib.AndrolibException: brut.directory.PathN
otExist: apktool.yml
at brut.androlib.Androlib.readMetaFile(Unknown Source)
at brut.androlib.Androlib.build(Unknown Source)
at brut.androlib.Androlib.build(Unknown Source)
at brut.apktool.Main.cmdBuild(Unknown Source)
at brut.apktool.Main.main(Unknown Source)
Caused by: brut.directory.PathNotExist: apktool.yml
at brut.directory.AbstractDirectory.getFileInput(Unknown Source)
... 5 more
系统找不到指定的文件。
W: Could not decode attr value, using undecoded value instead: ns=android, name=
theme, value=0x
W: Could not decode attr value, using undecoded value instead: ns=android, name=
icon, value=0x
W: Could not decode attr value, using undecoded value instead: ns=android, name=
drawableRight, value=0x0202039b
解决方法如下:
第一:要在你的PC上建立Java的环境,才能执行编译工作。具体方法我这个就不说了,你百度或者Google下就知道了,很简单的。
第二:下载必要的工具。Apktool工具。
下载后解压(有三个文件aapt.exe,apktool.bat,apktool.jar),为了方便。将解压出来的文件放在CDM模式(win+R)默认的目录下。
比如,我的是Windows7 32位 我的CDM模式默认目录是C:\USER\用户名 。
第三:如果你是要编译系统文件的话,请将你要修改的rom里的framework-res.apk(暂时叫做依赖包)用CMD模式“安装”下。
这样编译才不会出错。我一开始就是在这里纠结了很久。呵呵
framework-res.apk文件在system/framework里
安装方法:把依赖包放在刚才放apktool的目录下。(你也可以用指定目录的方法安装)
cmd模式 执行apktool if framework-res.apk 这个是安装framework-res.apk
第四:准备工作都做好了,现在就可以反编译和编译了。
将你要反编译的apk放在apktool的目录下。(你也可以用指定目录)
cmd模式 执行apktool d XXXX.apk 这个是Decode也就是反编译
比如反编译SystemUI 就执行 apktool d SystemUI.apk 就可以了(会在当前的目录下生成SystemUI的文件夹,修改就是在这个文件夹里进行)
cmd模式 执行apktool b XXXX 这个是build 也就是编译回去
比如 编译SystemUI就执行 apktool b SystemUI 就可以了(会在rosie的文件夹中生成一个叫dist的文件夹,编译回去的apk就是此文件夹中)
注意:第三步很重要,很多人不成功就是因为没做第三步。
财富值 5246
交易信用 0
人气值 501
积分/帖子:1010
连续签到天数:1
全部签到天数:2
注册时间:
手机型号:
状态: 离线
逝去的花海_____执着于塞班、是固执、是期盼、是荣耀~~~& &
恶魔有何罪 冠以罪恶名
& &身背几世过 沉沦不得脱
交易信用 0
积分/帖子:540
连续签到天数:1
全部签到天数:13
注册时间:
手机型号:
状态: 离线
财富值 221
交易信用 0
积分/帖子:202
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
好啊!不错!
财富值 499
交易信用 0
积分/帖子:234
连续签到天数:1
全部签到天数:51
注册时间:
手机型号:
状态: 离线
有先驱探索了!!!!
交易信用 0
积分/帖子:119
连续签到天数:1
全部签到天数:1
注册时间:
手机型号:
状态: 离线
交易信用 0
积分/帖子:43
连续签到天数:1
全部签到天数:5
注册时间:
手机型号:
状态: 离线
还是不行啊
交易信用 0
积分/帖子:8
连续签到天数:1
全部签到天数:2
注册时间:
手机型号:
状态: 离线
交易信用 0
积分/帖子:1
连续签到天数:0
全部签到天数:0
注册时间:
手机型号:
状态: 离线
感谢分享啊
微信扫一扫关注dospyAndroid在编译和反编译时出现error: Error: String types not allowed错误的解决办法
最近在编译和反编译apk包时出现了如标题所示的错误,经过google在stackoverflow& 上发现比较好的解决办法,可惜依然没有解决我的问题,按照上面的步骤,可能是由于以下几种情况导致
&&&& 1、在Android Project配置文件中你使用了当前工程目标版本所没有的特性,针对这种情况只需更改下目标版本就行了
&&&& 2、apktool.jar可能不是最新的,针对这种情况最新版的apktool.jar就行了
&&&& 3、在平台上aapt.exe、apktool.bat可能不是最新的,针对这种情况也只需下载最新版
&&&& 基本上做了如上几个修改,重新反编译、编译,问题基本上能搞定,但当初并没有解决我的问题,继续查看帖子发现在编译和反编译时需用到目标版本平台包framework-res.apk,但我在windows平台上并没有用到这个目标版本平台包,果断的认为有可能是这个导致的问题,经过查看错误信息发现有如下提示,当时就猜测这个是不是自动帮我们生成的目标版本平台包,进入到文件夹中发现真有这么个包,但发现它的修改日期还是前年时候(那时还没有到4.0呢),而我当前的项目目标版本是17(4.2),果断的把apktool文件夹删除,重新反编译、编译就没有标题所示的错误了,apktool文件夹也重新自动生成了
&&&& 希望以上一些发现对朋友们能有一点小小的帮助~
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'5432人阅读
Android(5)
本文对如何反编译,防止反编译,和常遇到的问题做了个总结,并略有修改。
资源来自:
如何防止反编译
作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。
Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹
proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从而达到保护代码的作用。
下面具体说一说怎么样让SDK2.3下的proguard.cfg文件起作用,先来看看android-sdk-windows\tools\lib\proguard.cfg的内容:
从脚本中可以看到,混淆中保留了继承自Activity、Service、Application、BroadcastReceiver、ContentProvider等基本组件以及com.android.vending.licensing.ILicensingService,
并保留了所有的Native变量名及类名,所有类中部分以设定了固定参数格式的构造函数,枚举等等。(详细信息请参考&proguard_path&/examples中的例子及注释。)
让proguard.cfg起作用的做法很简单,就是在eclipse自动生成的project.properties文件中加上一句“proguard.config=proguard.cfg”就可以了
完整的project.properties文件应该如下:
大功告成,正常的编译签名后就可以防止代码被反编译了。反编译经过代码混淆的apk得到的代码应该类似于下面的效果,是很难看懂的:
如果您使用的是2.3之前的SDK版本也没关系,把上面的proguard.cfg文件复制一份放到项目中,然后进行相同的操作即可
如何进行反编译
这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。
在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。
一、反编译Apk得到Java源代码
首先要下载两个工具:dex2jar和JD-GUI
前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。以下是下载地址:
具体步骤:
首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;
解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录
dex2jar.bat&&& classes.dex
classes.dex.dex2jar.jar
生成jar文件的截图如下:
运行JD-GUI(jd-gui.exe),打开上面生成的jar包,即可看到源代码了
HelloAndroid源码(编译前的apk源码对照)如下:
二、反编译apk生成程序的源代码和图片、XML配置、语言资源等文件
如果是只是汉化软件,这将特别有用。
首先还是下载工具,这次用到的是apktool
下载地址:
下载:&和&(两个包都下载)
具体步骤:
将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar
在命令行下定位到apktool.bat文件夹,输入以下命令:apktool d C:\*.apk C:\*文件夹,如下图:
命令行解释:apktool&& d&& [apk文件 ]&& [输出文件夹]
反编译的文件如下(AndroidManifest.xml为例):
特别注意:你要反编译的文件一定要放在C盘的根目录里
将反编译完的文件重新打包成apk,很简单,输入apktool b c:\***文件夹(你编译出来文件夹)即可,命令如下:
打包apk后的文件在目录C:\HelloAndroid下,生成了两个文件夹:
其中,打包生成的HelloAndroid.apk,在上面的dist文件夹下,Ok
混淆代码中常遇到的问题
问题一:proguard:Parse Exception:
解决方法:由于Eclipse的工作空间路径中有空格(可能还有其他原因导致此错误),
问题二:Conversion to Dalvik format failed with error 1&
解决办法:网上下一个新版本的proguard,解压后,复制里面的lib和bin目录覆盖SDK中tools/progurad/下的lib和bin目录即可。
proguard的下载地址:http://proguard.sourceforge.net/#downloads.html最终解决问题!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:453399次
积分:5945
积分:5945
排名:第2770名
原创:165篇
转载:56篇
评论:91条
(1)(2)(3)(2)(3)(1)(7)(3)(1)(1)(1)(1)(4)(2)(11)(5)(4)(5)(2)(5)(13)(11)(9)(3)(5)(4)(1)(1)(1)(9)(13)(6)(5)(6)(23)(19)(9)(19)
() () () () () () () () () () () () () () () ()}

我要回帖

更多关于 4013错误的解决方法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信