All Projects → AcmHacker → XUnityDeploy

AcmHacker / XUnityDeploy

Licence: other
Compile Unity to iOS[Android] client

Programming Languages

C#
18002 projects
ruby
36898 projects - #4 most used programming language
Objective-C++
1391 projects
objective c
16641 projects - #2 most used programming language
shell
77523 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to XUnityDeploy

kahoy
Simple Kubernetes raw manifests deployment tool
Stars: ✭ 33 (+83.33%)
Mutual labels:  deploy
RCCpp-DearImGui-GLFW-example
Add Runtime Compiled C++ to the Dear ImGui example using the GLFW and OpenGL backend - with power saving
Stars: ✭ 61 (+238.89%)
Mutual labels:  compile
piston-cli
Universal shell supporting code highlighting, files, and interpretation without the need to download a language.
Stars: ✭ 43 (+138.89%)
Mutual labels:  compile
los
Los是一个c/c++语言编译型的虚拟机。它使用llvm/clang作为其前端,losld做后端对源代码进行编译,生成los指令文件。Los is a c/c++-compiled virtual machine. It uses llvm/clang as its front end, losld does the backend to compile the source code, and generates the los directive file.
Stars: ✭ 46 (+155.56%)
Mutual labels:  compile
pytibia
🤖 Fastest Tibia PixelBot. A great bot for Auto, Cavebot, Healing, Macro, Refill and Targeting! (Ready To Global)
Stars: ✭ 120 (+566.67%)
Mutual labels:  auto
ngx-aws-deploy
☁️🚀 Deploy your Angular app to Amazon S3 directly from the Angular CLI 🚀☁️
Stars: ✭ 84 (+366.67%)
Mutual labels:  deploy
bowman
A simple static site generator with an integrated toolchain for efficient development and delivery.
Stars: ✭ 17 (-5.56%)
Mutual labels:  compile
run-auto
Determine the best order for running async functions, LIKE MAGIC!
Stars: ✭ 82 (+355.56%)
Mutual labels:  auto
ig-automatic-story-viewer
Python Program To Send Instagram Story Views
Stars: ✭ 17 (-5.56%)
Mutual labels:  auto
docker-wordmove
Docker image to run Wordmove
Stars: ✭ 16 (-11.11%)
Mutual labels:  deploy
buildroot
Configure and build dahliaOS Linux-based builds
Stars: ✭ 56 (+211.11%)
Mutual labels:  compile
deploy shard mongodb
This repository has a set of scripts and resources required for deploying MongoDB replicated sharded cluster.
Stars: ✭ 17 (-5.56%)
Mutual labels:  deploy
QLD
A graphical tool to make the deploying of Qt quick applications on linux platform faster
Stars: ✭ 18 (+0%)
Mutual labels:  deploy
cfn-deploy
A useful GitHub Action to help you deploy cloudformation templates
Stars: ✭ 14 (-22.22%)
Mutual labels:  deploy
nocd
🏄 一个轻量可控的持续交付系统。支持 Git 部署、交付通知、中断交付。
Stars: ✭ 59 (+227.78%)
Mutual labels:  deploy
MudaeAutoBot
python bot that uses strictly the **Discord API** to Roll,Claim,and Kakera Snipe in Mudae. 5/10/21 project converted over to discum library
Stars: ✭ 102 (+466.67%)
Mutual labels:  auto
All-in-XrayScan
Xray批量扫描,微信实时推送!
Stars: ✭ 81 (+350%)
Mutual labels:  auto
ladep
Ladep is the world's best deployer for Laravel framework. It's the best way to deploy your Laravel projects.
Stars: ✭ 46 (+155.56%)
Mutual labels:  deploy
epf-transmitter
astrizhachuk.github.io/epf-transmitter/
Stars: ✭ 32 (+77.78%)
Mutual labels:  deploy
zoom-ci
Zoom-CI(简称Zoom),是一个轻量易安装的自动化部署工具,支持本地和远程两种项目部署类型。
Stars: ✭ 19 (+5.56%)
Mutual labels:  deploy

XUnityDeploy是针对Unity自动化编译Android/IOS的脚本。

环境

  • Xcode Version > 7.0

  • Ruby Version > 2.0

  • Unity Version > 5.0, 其中需要配置Android SDK,JDK, NDK等

  • Git or Svn

  • ios-deploy

步骤

  • XUnityDeploy放在Assets的同级目录

  • 拷贝plugins/EditorAssets/Editor

  • 配置参数XUnityDeploy_configs下的main.info.json, main.projmods.json, export.plist, unity_deploy.plist

  • ruby scripts/run_unity.rb -p ios[android]

XUnityDeploy的流程图

  1. run_unity启动脚本

  2. Ruby脚本生成Unity需要的配置unity_deploy

  3. XUnityDeploy读取unity_deploy配置,配置Unity项目,最后编译项目

  4. UnityDeployPostprocess在编译Unity之后需要配置Xcode项目(IOS)

    • 读取main.build,获取info
    • 获取projmods,配置Xcode项目
    • 获取info, 配置XcodeInfo.plist
  5. 对生成包进行重命名,并提交到down serve上

Rake使用

  • rake update 更新项目
  • rake compile:ios 编译ios项目
  • rake compile:android 编译android项目
  • rake install:ios 安装ios包
  • rake install:android 安装android包

目录结构说明

  • builds 最终生成包的目录(apk, xcode project, ipa)

  • ../XUnityDeploy_configs 配置文件目录

    • android.keystoreAndroid的签名文件,需要自己替换,并在unity_deploy中配置keystore
    • export.plist 是导出ipaxcode需要的配置文件。其中methodapp-store,enterprise, ad-hoc,development。参考export.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>compileBitcode</key>
	<false/>
        <key>method</key>
        <string>development</string>
        <key>teamID</key>
        <string>your team id</string>
        <key>provisioningProfiles</key>
        <dict>
            <key>your bundle id</key>
            <string>your provision name</string>
        </dict>
        <key>signingCertificate</key>
        <string>iPhone Developer</string>
        <key>signingStyle</key>
        <string>manual</string>
</dict>
</plist>
  • unity_deploy.jsonUnityXUnityDeploy中读取的配置,用于配置Unity的项目
{
    "ios" :
    {
        "Version" : "1.0",
        "BundleVersionCode": 1,
        "BundleIdentifier" : "com.501joy.over14",
        "ProductName" : "XUnityDeploy",
        "IsDevelopment" : false,
        "DefineSymbols" : "EXAMPLE",
        "StrippingLevel" : "UseMicroMSCorlib",
        "ScriptCallOptimizationLevel" : "FastButNoExceptions",
        "IOSTargetOSVersion" : "7.0",
        "AotOptions" : "nimt-trampolines=256",
        "ScriptBackent" : "IL2CPP",
        "Channel" : "500026"
    },
    "android" :
    {
        "Version" : "1.0",
        "BundleVersionCode" : 1,
        "BundleIdentifier" : "com.501joy.over14",
        "ProductName" : "XUnityDeploy",
        "IsDevelopment" : false,
        "DefineSymbols" : "EXAMPLE",
        "StrippingLevel" : "UseMicroMSCorlib",
        "OBB" : false,
        "ScriptBackent" : "IL2CPP",
        "KeystoreName" : "android.keystore",
        "KeystorePass" : "example",
        "KeyaliasName" : "example",
        "KeyaliasPass" : "example",        
        "Channel" : "600001"
    }
}
  • jenkins jenkins目录

  • logs 编译日志目录

  • scripts 运行脚本命令目录

  • tools 工具目录

  • unitys 编译脚本目录

  • utils 帮助脚本目录

说明

  • executeMethod class 'XUnityDeploy' could not be found 需要把plugins/Editor拷贝到Assets/Editor

  • 这里关于xcode项目的配置在UnityXUnityDeploy处理了,也就是配置main.projmods.json中的build_settings。这里还有一种方法在编译Unity之后,通过Xcodeproj配置xcode

  • Error Domain=IDEDistributionErrorDomain Code=1 "The operation couldn’t be completed 修改export.plist。还碰到过WWDR certificate expired, 需要重新更新一下,参考

  • 因为Unity切换平台(ios/android)比较慢,所以这里建议针对ios/android单独checkout一个目录

  • Error Domain=IDEDistributionErrorDomain Code=14 "No applicable devices found."。这里需要把Ruby版本设置为system,即使用rvm use system 参考


关于对i18n支持

在项目中,需要支持游戏APP应用名称多国化,只需要配置一个i18n.projmods.json即可,在i18n.projmods.json中,指定对于的InfoPlist.strings, 比如

    "files": 
    [
        "i18n/en.lproj/InfoPlist.strings",
        "i18n/zh-Hans.lproj/InfoPlist.strings",
        "i18n/zh-Hant.lproj/InfoPlist.strings"
    ],

需要注意的是,在XCProject.cs中,需要ignore重复存在的情况

TODO

  • 检查编译环境的脚本

  • 自动提交客户端的脚本

  • Xcodeproj替代Editor/XCodeEditor

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].