unity unity安卓环境配置 scripting backend 什么意思

Unity 5.5 的 Windows Store .NET Scripting Backend_unity3d吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:60,122贴子:
Unity 5.5 的 Windows Store .NET Scripting Backend收藏
昨晚突然想试试Unity生成Win10的UWP应用,在切换到Win10平台的时候被提示说Scripting Backend(.NET)尚未安装,搜了一下文档,发现里面只是简单解释了一下两个Scripting Backend: .NET和IL2CPP。IL2CPP在安装UWP模块的时候已经安装了,那这个.NET Scripting Backend要如何安装呢?我的本子上已经安装了VS2015,可以正常开发C#应用程序。
unity3d千锋VR培训0元入学,「高薪」就业!「预约申请2周免费试学」.火爆预约中!千锋VR培训,招生限大专以上学历,年龄30岁以下,符合条件即可报名,入学即签订就业协议!
到处发广告的逗逼真多。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或Unity自动打包Apk - upstudio - 博客园
unity打包apk相对来说比较容易,相信出过的人都明白,出包过程,没有大的难度,一步一操作,一步一等待,繁琐耗时,不懂的人又代替不了。这时候需求就来了,如何简单的一键打包搞定,这个就稍微有点难度,当然作为程序员就是要解决这些问题,封装变化,变繁为简。
打包apk大概可以分为以下步骤(出apk需要的jdk,Android sdk这些不用多说,相信大家都会配置)
1、配置PlayerSetting&
2、配置渠道等第三方SDK
3、copy外部资源和一些自己工程需要的一些配置
4、unity打包build(如果出成Android工程,还需要就行Android工程的自动打包apk)
没有什么难的东西,都是一些配置,繁琐的东西,一键化也就是写个脚本,按照步骤一步一步的执行就行了
很简单相信大家都会,只是一些细节需要注意一下,细节中还是有一些坑的
一、配置PlayerSetting&
&有两种方法
1、事先使用PlayerSetting 编辑页面保存一个配置好的ProjectSettings.asset,需要的时候直接替换掉ProjectSettings目录下的ProjectSettings.asset就行了
设置分离obb文件的属性,有的人可能不知道
2、使用代码设置PlayerSetting(凡是在PlayerSetting编辑页面看到的属性都是可以使用代码进行设置的)
&(1)、Unity提供了命令行方式进行打包、调用方法等操作
command line形式:&unity执行文件路径&-projectPath 项目工程路径 -executeMethod 方法名 各种参数
在unity项目Editor下的一个继承ScriptableObject的文件中的static方法都可以使用unity&command line执行(注意Unity需要是关闭的)
$unity_path -projectPath $project_path -quit -batchmode -executeMethod ProjectBuild.ProjectSetting -qmplatform $platform //$unity_path unity执行文件路径
//$project_path 项目工程路径
//-batchmode 不打开unity
//-executeMethod
执行unity方法
//ProjectBuild.ProjectSetting Editor下的脚本名为ProjectBuild,其中有个名为ProjectSetting的方法,具体代码如下
//-qmplatform $platform 传入的参数
&(2)、有一些属性设置,比较难找,使用&PlayerSettings.SetPropertyInt("ScriptingBackend",&(int)ScriptingImplementation.Mono2x, BuildTarget.iPhone); 慢慢尝试
class ProjectBuild : Editor
const string OPT_PLATFORM = "-qmplatform";
const string OPT_BUNDLE_VERSION = "-qmbundle_version";
const string OPT_SHOW_VERSION = "-qmshow_version";
const string OPT_VERSION_CODE = "-qmversion_code";
/// &summary&
/// 根据参数配置Unity ProjectSetting
/// &/summary&
static void ProjectSetting()
Dictionary&string, string& settings = new Dictionary&string, string&();
settings[OPT_PLATFORM] = "";
settings[OPT_BUNDLE_VERSION] = "";
settings[OPT_SHOW_VERSION] = "";
settings[OPT_VERSION_CODE] = "";
string[] args = System.Environment.GetCommandLineArgs();
ParseArgs(settings, args);//解析参数
panyName = "****";
PlayerSettings.bundleVersion = settings[OPT_BUNDLE_VERSION];
PlayerSettings.shortBundleVersion = settings[OPT_SHOW_VERSION];
PlayerSettings.defaultInterfaceOrientation = UIOrientation.AutoR
PlayerSettings.allowedAutorotateToLandscapeLeft = true;
PlayerSettings.allowedAutorotateToLandscapeRight = true;
PlayerSettings.strippingLevel = StrippingLevel.StripByteC
PlayerSettings.aotOptions = "nimt-trampolines=512,ntrampolines=2048";
PlayerSettings.targetGlesGraphics = TargetGlesGraphics.A
PlayerSettings.Android.preferredInstallLocation = AndroidPreferredInstallLocation.A
PlayerSettings.Android.targetDevice = AndroidTargetDevice.FAT;
PlayerSettings.Android.minSdkVersion = AndroidSdkVersions.AndroidApiLevel9;
PlayerSettings.Android.forceInternetPermission = true;
PlayerSettings.Android.forceSDCardPermission = true;
PlayerSettings.Android.bundleVersionCode = int.Parse(settings[OPT_VERSION_CODE]);
PlayerSettings.Android.useAPKExpansionFiles = true;//是否使用obb分离模式
PlayerSettings.productName = "******";
PlayerSettings.bundleIdentifier = "*****";
PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android, "宏定义");//宏定义的设置
EditorUserBuildSettings.SwitchActiveBuildTarget(BuildTarget.Android);
(3)、对于一些如Icon、splash页面的设置可以使用原名替换图片的方法
(4)、&PlayerSettings.Android.useAPKExpansionFiles&=&//是否使用obb分离模式,这个主要是针对Google play的
obb的命名,是需要一定的规则的,不然无法使用,可以使用代码自动设置obb的名字在Editor目录下有这个方法,出包时会自动调用,可以在这里设置
(如果需要对dll文件进行加密的话,肯定是出成了Android工程,这里可以获取Android工程中的dll文件进行加密,同时替换可以解密的so文件)
& [PostProcessBuild(90)]
public&static&void&OnPostProcessBuild(BuildTarget&target,&string&pathToBuiltProject)
& & files&=&Directory.GetFiles(pathToBuiltProject,&"*",&SearchOption.AllDirectories);
& & if&(files&!=&null)
& & & & & foreach&(string fileName in&files)
& & & & & {
& & & & & & & &if&(fileName.Contains(".obb"))
& & & & & & & &{
& & & & & & & & & &int&bundleVersion&=&PlayerSettings.Android.bundleVersionC
& & & & & & & & & &string&bundlePackageName&=&PlayerSettings.bundleI
& & & & & & & & & &Directory.Move(fileName,&pathToBuiltProject&+&"/main."&+&bundleVersion&+&"."&+&bundlePackageName&+&".obb");
& & & & & & & &}
& & & & & &}
&obb的使用上的还有一点小小的坑,Google play商店在下载游戏的时候,会自动下载apk所需的obb,但是有时候也不能保证一定成功,所以需要项目本身就具有这样的检测下载功能https://www./en/#!/content/3189这里有非常详细的代码,可以copy直接使用
二、配置渠道等第三方SDK和copy外部资源
1、sdk的接入
统一接口,支持不同各种渠道的sdk接入
http://blog.csdn.net/chenjie/article/details/这个可以看一下
2、和不同渠道绑定的参数,建议拿出来做配置,可以不用重新出版本就可以切换不同渠道的版本
3、sdk切换相关目录资源的替换,unity直接出成apk的话,就在unity打包之前,如果是先出Android工程的话,也可以在Android工程中进行,效率会更快一点,不需要再从unity build就可以出成不同的渠道包&
三、unity打包build
unity build Android 可以直接打包成apk或是Android工程,使用命令行调用的方式跟上面ProjectSetting的类似,-executeMethod 的参数名换成相应函数名即可,
static void Build()
string android_project_path = "";//目标目录
BuildTarget target = BuildTarget.A
string[] outScenes = GetBuildScenes();//需要打包的scene名字数组
BuildPipeline.BuildPlayer(outScenes , android_project_path, target, BuildOptions.AcceptExternalModificationsToPlayer);
// BuildOptions.AcceptExternalModificationsToPlayer
表示出成Android工程
直接打包apk就不用多说了,build成功就行了
出成Android工程后还需要几步才能完成
1、Android工程,自动打包apk,需要配置ant环境
到官方主页http://ant.apache.org下载新版(目前为Ant1.9.6)的ant,得到的是一个apache-ant-1.9.6-bin.zip的压缩包。将其解压到你的硬盘上,例如:C:\apache-ant-1.9.6。然后配置环境变量
ANT_HOME&&& C:/ apache-ant-1.9.6
path&&& &&&&& &&&C:/ apache-ant-1.9.6/bin
classpath&&& &&C:/apache-ant-1.9.6/lib
2、可以在Android工程中进行资源和渠道SDK的替换(也就是目录文件的替换),这样可以一个工程出成不同的渠道包
3、签名的需要的ant.properties,这里写着Android签名文件的目录,用户名和密码,需要事先写好,copy到Android工程目录下
& & key.store=./config/xxx.keystore
& & key.alias=xxx
& & key.store.password=xxx
& & key.alias.password=xxx
4、使用Android&command line生成build.xml(这是ant签名打包的必须文件)&
command line形式:& android update project -p Android工程路径 -n 生成apk的名字(这个command line的使用需要配置一下环境变量)
android update project -n $apk_name -t 1 -p "$android_pj_path"
//$apk_name
生成apk的名字
//"$android_pj_path"
Android工程路径
5、使用ant&release,这个command line需要在Android工程目录下执行,不然command line会找不到路径,最后在bin目录下生成apk文件,有签名的和不签名的
可以考虑与Jenkin结合使用,会更方便操作
(by sht)Unity 发布到IOS的注意事项1.开发环境MAC环境:Xcode环境 7.2.1Unity环境:Unity5.32.基本说明首先,我说一下,这是我在对Unity发布到IOS的实际使用中,总结出来的经验!如果你想一次就发布成功,如果你想少走弯路,请仔细看我的说明。因为坑比较多!由于Unity发布到IOS,是以Xcode工程的形式发布到MAC中,所以,在发布的时候需要注意以下几点:1. 发布的工程,需要以真机进行调试(我发布的时候,选择发布unity到模拟器版本,发布后无法用模拟器运行)2. Unity发布真机:Build Settings-&Player Settings-&Other Settings-&SDKVersion 选择真机(不知道是哪个,可以有道翻译一下)3. Build Settings-&Player Settings-&Other Settings-&ScriptingBackend 选择IL2CPP支持64位4. Build Settings-&Player Settings-&Other Settings-&TargetDevice(这个如果只支持Iphone就选择只有Iphone,如果支持Ipad,则发布到Itunes的时候,需要提交Ipad的相关信息如ipad截图等。否则无法上线)5. Build Settings-&Player Settings-&OtherSettings-&Optmization-&Api Compatibility Level 如果使用了文件一系列的操作,选择.NET 2.06. Build Settings-&Player Settings-&Company Name 与Product Name的名字不要胡写,审核不通过不要抱怨!!!!7. Build Settings-&Player Settings-&Other Settings-&BundleIdentifier不要胡写,审核不通过不要抱怨!!!!8. 发布前,注意需要把ICON与Splash Image设置好。要不发布后,还得重新发布,很麻烦。(Build Settings-&Player Settings-&Default Icon也要设置好)发布到IOS中后,是一个Xcode工程!现在,发布完成后,我们需要注意:1. 这个程序只有真机可以调试。(如果发布为模拟器版本,那么在模拟器下应该是无法运行的)2. 如果发布为模拟器版本,则该工程无法在真机上运行!3. 如果没有开发者账号的童鞋,此刻可以百度(Xcode7 无证书真机调试)按照其中的方法,真机调试Unity程序4. 如果有开发者账号的童鞋,可以在苹果开发者平台,导出真机调试证书进行真机调试证书有很多,需要注意:真机调试证书 (下载证书的时候,需要把测试设备的UDID加入进去)沙盒测试证书 (该证书沙盒测试测试成功,至于是否可以提交审核上线,没测试)发布证书(该证书用于上线)其中每个证书都不一样,需要注意的就是,一个证书,请在自己电脑下申请一个钥匙串再上传生成证书。不要一个钥匙串生成很多证书。如何生成证书,以及如何使用,百度一下具体的操作。这里只讲坑!!!!坑1:有些童鞋的证书,生成后,下载到电脑里就是过期的,那么请点击一下系统跟证书,其中有一个系统证书是过期的,这是因为苹果在2016年2月份以后,需要所有的设备都支持64位系统,所以,如果你的电脑只有一个这个过期的证书,那么百度这个证书名字,下载新的证书。 如果你电脑有两个相同的证书,一个过期,一个没过期,那么直接删除那个过期的证书。这个证书的名字是:apple worldwide developer relations vertification authority坑2:程序写完,测试完成,上传到APP Story的时候,使用 XCODE上传工程,则,显示上传成功,其实根本就没有上传成功解决方案:使用Application Loader 打包IPA后上传。(具体方法度娘)坑3:Unity不要使用prime31 storekit 破解版的内购插件!原因:因为这个插件,现在网上最新的也就是2014年的。 那时候,苹果还不要求你的程序必须都支持64位系统。所以,如果你使用这个插件,沙盒测试是可以测试成功的,但是你就是提交不上去。!! 使用64位编译器编译,这个插件怎么折腾 也无法编译过去。除非你是土豪,70美金买这个付费版。那我没话说。这里我推荐一个苹果内购插件:免费的,而且可以用。具体下载链接:使用方法:将AppStore预置件拖入到场景中,在你要购买的按钮上绑定BuyBtn脚本Iap ID 输入你内购的ID(在ITunes中添加的id) ObjName (购买成功后通知的物体名)Fun Name(购买成功要通知的方法) 其实这就是一个SendMessage看到这里,你还要注意:发布到Xcode后,使用这个插件还是无法编译通过? 为什么呢 因为这个插件是使用的手动ARC释放,不是使用苹果的自动ARC释放,所以,你需要在Xcode中设置这个插件中的类为不使用ARC释放这里需要注意:只对3个文件不使用ARC 如果你对整个工程都不使用ARC,那么,这个程序直接崩溃在Xcode中 选择项目的Tagets-&选中BuildPhases,在Complie Sources中选择SKProduct LocalizedPrice 与InAppPurchaseManager双击他们,在后方输入-fno-objc-arc(如果找不到这个文件可以手动将这两个文件添加进Complie Sources,或者直接编译,不成功后,这里就出现这两个文件了)内购测试:坑1:一定要填写好银行信息,才能内购测试,否则,无法测试 银行信息需要咨询银行你的联行号!坑2:你的信用卡 包括你购买开发者账号,在中国,必须是双币种信用卡,全币种的不能付费与收款坑3:内购添加沙盒测试账号!(土豪请无视)发布注意:隐私政策网址:百度文库找一篇然后输入连接就可以公司网址:填写你个人博客的地址就可以UnityADS广告:这东西吧,你添加进来以后,就不好删了,如果添加后,输入好在unity中的ID就可以了 发布的时候,把测试按钮点击false
Unity 发布到Android的注意事项开发环境Unity端 Unity5.3Android端 eclipse广告SDK:百度广告SDK总体说明首先,我说一下,这是我在对Unity发布到android的实际使用中,总结出来的经验!如果你想一次就发布成功,如果你想少走弯路,请仔细看我的说明。因为坑比较多!由于Unity发布到andorid如果你不接广告,那么直接发布就可以,如果你要接其他SDK或者是广告,那么需要以google android project方式发布成android工程:1. Build Settings-&Player Settings-&Other Settings-&ScriptingBackend 选择Monox2. Build Settings-&Player Settings-&OtherSettings-&Optmization-&Api Compatibility Level 如果使用了文件一系列的操作,选择.NET 2.03. Build Settings-&Player Settings-&Company Name 与Product Name的名字不要胡写,审核不通过不要抱怨.4. Build Settings-&Player Settings-&Other Settings-&BundleIdentifier不要胡写,审核不通过不要抱怨.5. 发布前,注意需要把ICON与Splash Image设置好。要不发布后,还得重新发布,很麻烦。(Build Settings-&Player Settings-&Default Icon也要设置好)6. Build Settings-&Player Settings-&PublishingSettings-&Keystore设置好,不设置的话是debug模式,很多平台无法发布。当然,也可以在eclipse中进行包签名7. 64为的unity好像无法设置Splash Image 当然也有可能是我机器的问题8. 广告啊,付费什么的,不要使用第三方 unity包.(因为第三方包,打包的时候,包名与你的工程名称并不对应,你发布后,icon与splash也会无法显示,这个你需要修改AndroidManifest .xml的设置,有很大可能SDK中的功能也无法使用)Eclipse中的坑1.Android SDK与Andorid开发插件的版本需要一致.如果不一致,你新建的工程,src中与res-& layout中没有文件(百度下载一致的工程文件也可以,不过需要注意不要太旧,要不与unity发布的SDK版本不对应)2.Unity调用Android的包, 你写了一个SDK想让Unity调用,需要注意的是:打成Jar包的时候,只打src 与res文件夹! 因为5.0以后版本的unity 如果你全打包,那么会有很多.classes文件,unity是无法编译通过的3.android的包名需要与Unity中的一致.4.android-support-v4 需要与sdk中的一致,否则eclipse无法编译通过5. 注意第三方SDK:这点需要特别说明,我第一次调用百度SDK的时候,广告都介入完毕,怎么都调用不出来。起初我还怀疑是UnityPlayerActivity修改了Activity的方法,所以无法调用。后来仔细观察,发现百度的Demo中,将显示广告的方法写在了 Print Log方法中,特别的坑。所以大家需要注意!6. 360平台你必须使用它的广告SDK,而且还不能带其他广告的SDK.包括ADS,ADS关闭很麻烦,需要删除编译器中的ads模块 unity也是坑7. Unity有可能出毛病,有时候,你总发布,总发布不过去,你重启下unity就能发布过去。很坑.
阅读(...) 评论()&&国之画&&&& &&&&&&
&& &&&&&&&&&&&&&&&&&&&&
鲁ICP备号-4
打开技术之扣,分享程序人生!

我要回帖

更多关于 unity发布到安卓 的文章

 

随机推荐