透明 发表于 2015-1-18 11:43:09

IOS设计Android代码搅浑的理论仓酷云

继承自相应的不可变类比如NSMutableArray继承自NSArray他们都添加了可以改变对象内容的方法比如-(void)addObject:(id)anObject添加对象-(void)removeObject:(id)anObject删除对象上面只是一个大概的总结开辟apk的时分固然要思索回护好本人的代码,Android情况就供应了ProGuard来举行代码搅浑,的确是一个十分有效的工具,但用起来也的确够折腾的。

<br>1.基础设置

eclipse下创建android工程,就会天生proguard.cfg和project.properties,在前面的文件追加proguard.config=proguard.cfg便可让后面的设置文件在export时失效。默许的谁人文件有一些内容,这里给一个更通用点的。
##—————Begin:proguardconfigurationcommonforallAndroidapps———-
-optimizationpasses5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-verbose
-optimizations!code/simplification/arithmetic,!field/*,!class/merging/*
-keepattributes*Annotation*
-renamesourcefileattributeSourceFile
-keepattributesSourceFile,LineNumberTable
#以下两个命令共同让类的路径给删除
-allowaccessmodification
-repackageclasses”
#纪录天生的日记数据,在proguard目次下
-dumpclass_files.txt
-printseedsseeds.txt
-printusageunused.txt
-printmappingmapping.txt
#非常都能够疏忽就翻开
#-dontwarn
-keeppublicclass*extendsandroid.app.Activity
-keeppublicclass*extendsandroid.app.Application
-keeppublicclass*extendsandroid.app.Service
-keeppublicclass*extendsandroid.content.BroadcastReceiver
-keeppublicclass*extendsandroid.content.ContentProvider
-keeppublicclass*extendsandroid.app.backup.BackupAgentHelper
-keeppublicclass*extendsandroid.preference.Preference
-keeppublicclasscom.android.vending.licensing.ILicensingService
-dontnotecom.android.vending.licensing.ILicensingService
-keepnamesclass*implementsjava.io.Serializable
#Explicitlypreserveallserializationmembers.TheSerializableinterface
#isonlyamarkerinterface,soitwouldn’tsavethem.
-keepclassmembersclass*implementsjava.io.Serializable{
staticfinallongserialVersionUID;
privatestaticfinaljava.io.ObjectStreamField[]serialPersistentFields;
privatevoidwriteObject(java.io.ObjectOutputStream);
privatevoidreadObject(java.io.ObjectInputStream);
java.lang.ObjectwriteReplace();
java.lang.ObjectreadResolve();
}
#Preserveallnativemethodnamesandthenamesoftheirclasses.
-keepclasseswithmembernamesclass*{
native;
}
-keepclasseswithmembernamesclass*{
public(android.content.Context,android.util.AttributeSet);
}
-keepclasseswithmembernamesclass*{
public(android.content.Context,android.util.AttributeSet,int);
}
#PreservestaticfieldsofinnerclassesofRclassesthatmightbeaccessed
#throughintrospection.
-keepclassmembersclass**.R$*{
publicstatic;
}
#Preservethespecialstaticmethodsthatarerequiredinallenumerationclasses.
-keepclassmembersenum*{
publicstatic**[]values();
publicstatic**valueOf(java.lang.String);
}
-keepclass*implementsandroid.os.Parcelable{
publicstaticfinalandroid.os.Parcelable$Creator*;
}
#假如你的工程是对外供应办法挪用就翻开
#-keeppublicclass*{
#publicprotected*;
#}
##—————End:proguardconfigurationcommonforallAndroidapps———-
2.办理export打包的报错

这个时分export提醒“conversiontoDalvikformatfailedwitherror1”毛病,网上说法有很多多少种,最初我仍是把proguard从4.4晋级到4.8就办理了。官方地点是http://proguard.sourceforge.net。下面的设置文件参数能够在这里查阅。
晋级举措很复杂,就是把androidsdk目次下的tool/proguard目次掩盖一下便可。
3.打包出来的程序怎样调试

一旦打包出来,就不克不及用eclipse的logcat往看了,这里能够用androidsdk中ddms.bat的tool来看,一用就发明和logcat实在仍是一个工具,就是多了个设备的选择。
4.利用gson必要的设置

当Gson用到了泛型就会有报错,这个真给忧郁了半天,提醒“Missingtypeparameter”。最初找到一个材料给了一个办理举措,参考:http://stackoverflow.com/questions/8129040/proguard-missing-type-parameter。
别的我又用到了JsonObject,提交的Object内里的members竟然被改成了a。以是下面给的工具还不敷,还要加上
#用到本人拼接的JsonObject
-keepclasscom.google.gson.JsonObject{*;}
我团体倡议削减这些依附包搅浑带来的贫苦,爽性都全体保存不搅浑。比方
-keepclasscom.badlogic.**{*;}
-keepclass*implementscom.badlogic.gdx.utils.Json*
-keepclasscom.google.**{*;}
5.利用libgdx必要的设置

参考http://code.google.com/p/libgdx-users/wiki/Ant
6.考证打包效果

我是使用了apktool的反编译工具,把打包文件又解压了看了一下,假如包路径、类名、变量名、办法名这些变更和你希冀分歧,那就OK了。命令:
apktool.batdxxx.apkdestdir
总结

这个工具用起来也不是很复杂,出格是你程序用到的初级特征多,就更简单出成绩。别的proguard的参数看起来的确也有点欠好了解,打包历程慢,测试也对照华侈工夫。工具虽好,但真不是那末简单上手。

这个类是具体的数据对象用上面的例子说就是衣服一般都是继承这个对象XCode可以帮你做具体搜搜这种文章很多NSFetchRequest用来执行CD请求的相当与select语句外壳NSEntityDescription用来描述实体的

分手快乐 发表于 2015-1-21 13:12:23

才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。

莫相离 发表于 2015-1-24 15:33:18

其次学习方法和学习心态很重要,在学习当中应该保持一颗良好的心态。应该借鉴别人好的学习方法,大家互相帮助,取长补短。

山那边是海 发表于 2015-2-1 20:03:04

首先是基础,在汉昌的课程非常全面。从object—c到最后的毕业项目,基本上方方面面都涉及到了,我是一名非计算机专业的学生,起初学习还有点吃力,因为基础知识薄弱。经常像听天书

不帅 发表于 2015-2-5 21:05:40

众多研发人员积极参与到iOS平台的开发中来也就不足为奇了。

兰色精灵 发表于 2015-2-6 07:23:46

培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。

活着的死人 发表于 2015-2-8 22:23:18

其次学习方法和学习心态很重要,在学习当中应该保持一颗良好的心态。应该借鉴别人好的学习方法,大家互相帮助,取长补短。

柔情似水 发表于 2015-2-26 11:45:32

自从苹果公司开放iOS SDK以来,大量的国内外的软件开发者将关注的目光聚集在苹果的iOS平台上。由于iPhone和iPad自一出现就给人带来了颠覆性的感觉

小魔女 发表于 2015-3-7 08:20:26

iPhone文件系统:创建、重命名以及删除文件,NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。

若相依 发表于 2015-3-13 09:10:09

还有开发工具是用Xcode,是在Mac系统的,你多摸索一下就可以开发简单的应用了,建议你买一本iphone开发秘籍第二版看看,希望可以帮到你,谢谢。

再现理想 发表于 2015-3-19 05:57:45

每个行业都一样,想要一天学有所成是不可能的,一定要做好努力的准备,做ios不是简单的学会oc语言。不怕多走弯路,就怕不肯动手。

透明 发表于 2015-3-27 08:49:33

看完这个你就可以有多种选择来踏入做应用的阶段

简单生活 发表于 2015-4-1 08:09:17

其实在培训的过程中,学习到最多的就是查资料的方式,当时感觉老师好坑,什么都不告诉我们,让我们自己去查,但是现在觉得还是要自己解决问题,这样才能理解的更加深入。

飘灵儿 发表于 2015-4-5 05:15:07

学习ios没什么捷径,关键在于多动手敲,曾看到前辈开玩笑说怎么快速学会某技术,答案是:“提高打字速度,快点写代码就能快点学会了”。

再见西城 发表于 2015-4-11 19:28:59

我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下,供广大网友一起讨论交流。

小妖女 发表于 2015-4-13 06:26:22

培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦,

变相怪杰 发表于 2015-4-14 01:24:21

首先是基础,在汉昌的课程非常全面。从object—c到最后的毕业项目,基本上方方面面都涉及到了,我是一名非计算机专业的学生,起初学习还有点吃力,因为基础知识薄弱。经常像听天书

冷月葬花魂 发表于 2015-4-22 03:20:15

开始的时候甚至想放弃,不过想想自己的未来,只能咬牙坚持,课下就不停的缠着老师。放学就补基础,这些基础的东西没有速成的,只有刻苦努力。我是后来发现的,转变自己的心态,不要读书看资料当成一种痛苦

深爱那片海 发表于 2015-4-26 09:10:36

从C语言入门,因为IOS开发用的是OC语言,是在C基础上的,不过也跟C不是很搭界,你可以直接学习OC语言也可以,

老尸 发表于 2015-4-27 18:28:08

自从苹果公司开放iOS SDK以来,大量的国内外的软件开发者将关注的目光聚集在苹果的iOS平台上。由于iPhone和iPad自一出现就给人带来了颠覆性的感觉
页: [1]
查看完整版本: IOS设计Android代码搅浑的理论仓酷云