作者:dawu@知道创宇404实验室 时间:2019/02/25 0x00 前言 这是一篇游戏引发的简单技术文。...ILSpy: 用于查看dll程序逻辑 ILDASM: 用于反编译dll文件,生成il文件(存放了dll反编译后的指令)和res文件(反编译后的资源文件),可以安装Windows SDK或者从网上下载...注: Unity3D开发的安卓游戏,其核心代码都在这个 dll 文件中,所以逆向/修改这个 dll 文件就可以了。这也是 Unity3D 和 其它安卓逆向不同的地方。...使用 ILDASM 将 dll 文件反编译成 il 文件。使用 ILDASM 打开 dll 文件后, File -> dump 就可以导出反编译结果了。...[1551149148000-ILDASM.png-w331s] 4.根据步骤2,就很容易理解逻辑了,然后根据速查表,就可以知道在步骤3导出的il文件中修改哪里了。
应始终与其他命令行参数一起使用,因为它确保不会弹出窗口,无需任何人为的干预。当脚本代码在执行过程中发生异常,资源服务 器更新失败或其他操作失败时Unity将立即退出,并返回代码为1。...请注意,在批处理模式下, Unity将向控制台发送输出版本最小的日志。当然,日志文件将包含完整的日志信息。 -quit 其他命令执行完毕后将退出Unity编辑器。...exportAssetPath是一个文件夹(相对Unity项目的根目录)为了导出Unity项目并且 exportFileName是package的名称。目前,此选项只能在同一个时间导出整个文件夹。...如果你想通过命令行返回一个错误,你可以抛出一个异常,会引发代码为1的Unity关闭或其他引发EditorApplication.Exit非零 代码。...通常output_log.txt被写在游戏输出目录下的*_Data文件夹中 ,在debug.log中打印输出的地方。
Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译) 前言: 对于辛辛苦苦完成的apk程序被人轻易的反编译了,那就得不偿失了,这篇文章就是解决Unity打包出来的包进行代码加固和混淆...准备资料: 1:Obfuscator.zip 作用是代码混淆,是Unity的一个插件 2:Apkdb.rar 作用是反编译apk,做过修改之后回编译成修改好的apk 3:Reflector_8.5.0.179...正文: 1:打包一个带有签名的apk 在打包Player Settings设置里面,需要对签名重新设置,签名可以理解成为一个证书,可以设置密码信息,保证一部分的程序安全,据说在Unity5.0对程序的安全有了初步保障...这里是流水式的走下来,所以只需要导入和导出就可以了, 添加单个文件,选择好刚刚混淆后的包,然后你做的事情就是等,等待上传完--加固完--下载完--已完成,当到已完成的时候,说明这里已经可以导出了,导出需要前面提到的自己创建的签名...,这里可是会用到的,如果不用,则包安装包可能会出现问题 选择导出签名包,选择签名文件,输入密码,然后点击开始导出 导出的包是经过混淆,经过加固比较安全的包了
开发工具 unity5.6.5 官方下载地址 android studio3.1.2 下载地址 利用Android Studio导出可供Unity使用的aar插件 1、第一步,点击File->New...Unity使用的*.aar文件 1、点击“Build -> ReBuild Project”,生成aar文件 2、用压缩软件打开aar文件,删除掉libs下的刚刚导入的unity的classes.jar...的文件,因为unity环境本身有改文件,如果没有删除会在unity编译打包的时候出错 Unity导入插件,并调用 1、新建Unity项目,创建Secne场景 ?...4、创建unity的脚本文件 C#的文件 可以在plugins下载新建个scripts的目录,放置新建的脚本文件 ?...image.png 7、导出APK,File-->Build Setting ?
其中ServiceStack.Redis应该算是比较流行的。它提供了一整套从Redis数据结构都强类型对象转换的机制并将对象json序列化。...所以这里只介绍ServiceStack.Redis,它也是目前我们产品中所使用的客户端。...ServiceStack.Redis相关的四个类库。...三、封装 在我们实际的使用Redis的过程中,肯定不能在每个调用的类都实例化 RedisClient 来直接使用,这样太麻烦,还涉及相关异常情况处理等情况。...同时也更方便的支持读写分离,均衡负载。 2、配置文件 在配置文件中,增加Redis服务器相关的配置,如host,pool等参数。 <!
故事正题 首要任务就是将Unity项目导出来(已经做好了3D的处理,关于通信和动态加载在下面介绍) ?...Unity导出的项目配置完成,配置自己的Android项目,首先将几个lib......so复制到你自己的项目jniLibs中。...集成到apk后 申请了横竖屏 但是apk没作用,是unity发布出的设置导致的,再Unity导出的时候 other setting中设置宣传方向 5....权限问题,上面说了会导出一个android项目,你仔细看这个项目的AndroidManifest文件,你会发现也有权限。...注意,这时候比如你的android项目有权限A 这个Unity导出的项目没有权限A,当你集成合并之后,导致最终的apk没有权限A,这并不是我们想看到的; 所以为了 解决这个问题,很简单,我们把两个清单文件的权限保持一致即可
解压后将文件拷贝到Unity工程中,删除 Plugin 中的平台文件夹,只保留 Android、gmesdk.bundle以及x86_64。详细参考游戏多媒体引擎Unity工程配置。...3、导出 将场景HelloVR添加到 Scene In Build,将 Platform 切换到 Android,设置好导出时候的 Package Name,便可以导出验证。...我们把这个模型文件命名为3d_model,并放在Unity工程目录StreamingAssets下,确保能随可执行文件一同导出。...我们将导出Android可执行文件apk文件进行验证。...我们将Player的坐标x设置为3,导出一个apk,之后调整x的数值为-3,再导出一个apk,这样两个player的位置便是不同的。
SDK接入实践: 准备:第三方包、eclipse、jdk、安卓SDK 第三方SDK接入:登录、支付、广告、监控等 接入 1.JAVA先打包成jar,放到U3D工程 2.U3D工程到处,放到JAVA,从JAVA...打包APK 选用第一种: 将U3D jar 包放入Eclipse 流程 1.新建Android Project 在Eclipse中新建工程 ?...3.在java中调用Unity的方法 java中的类继承UnityPlayerActivity,引入import com.unity3d.player.UnityPlayer; import com.unity3d.player.UnityPlayerActivity...JARExport.PNG JAR包的名字与UnityAPK包的名字要相同 将导出的JAR包放入Unity的Plugins\Android\bin 将AndroidProject中的libs与...res与AndroidManifest.xml文件放入Plugins\Android。
本文将会从大家熟悉的Unity为出发点来介绍如何将自己写的或者第三方的Android插件集成到自己的游戏中。 1. Unity是怎么打包APK文件的? 2....Android开发基础以及导入到Unity 一 Unity是怎么打包APK文件的? 大家看过一些第三方组件的接入文档都知道,在Unity里面有几个特殊的文件夹是跟打包APK有关的。...而一般1080p或者2k甚至4k的手机在读取图片的时候会从后缀为xxxxhdpi的文件夹里面去读,这样才可以保证应用内的图像清晰。图片资源在打包过程中会被放到APK的res文件夹内的对应目录。...胜利在望,我们接下来只要把Unity工程里面的AndroidManifest.xml文件的入口Activity从Unity默认的的改成我们刚刚写的这个就可以了。...这里我们可以从Unity的安装目录的Editor\Data\PlaybackEngines\AndroidPlayer\Apk文件夹内找到AndroidManifest.xml这份文件,把它复制一份到Unity
本文将会从大家熟悉的Unity为出发点来介绍如何将自己写的或者第三方的Android插件集成到自己的游戏中。 Unity是怎么打包APK文件的?...而一般1080p或者2k甚至4k的手机在读取图片的时候会从后缀为xxxxhdpi的文件夹里面去读,这样才可以保证应用内的图像清晰。图片资源在打包过程中会被放到APK的res文件夹内的对应目录。...看到了上述介绍的Unity打包APK的基础知识我们知道了往Plugins/Android目录下放什么样的文件会对APK包产生什么样的影响。...胜利在望,我们接下来只要把Unity工程里面的AndroidManifest.xml文件的入口Activity从Unity默认的的改成我们刚刚写的这个就可以了。...这里我们可以从Unity的安装目录的Editor\Data\PlaybackEngines\AndroidPlayer\Apk文件夹内找到AndroidManifest.xml这份文件,把它复制一份到Unity
检查APK是否打进Jar包 1.apk用winrar打开,提取class.dex文件,用dex2jar转换为jar文件 Temp目录 数据缓存(Data caches),写入临时文件和其他操作系统维护相关的东西就扔到...Dcom.android.sdkmanager.toolsdir=“E:/AndroidSdk/UnityAndroidSdk/sdk\tools” -Dfile.encoding=UTF8 -jar “D:\Program Files\Unity2017.4.40...可以查看temp临时出包目录出现2个cloudcore.jar 解决:移动到子目录后,右键重导入 变为普通jar包,icon也从拼图变为jar包样式 再build,出包正常...file->Build Settings中,进入Player Settings,设置Minimum API Level和Target API Level 所有接入sdk,要仔细阅读文档对sdk需求确定 导出...jar包被重复打包,他内部自带了BuildConfig,再打包时又生成了BuildConfig 解决办法:改AndroidMainifest里的包名,然后重新生成
文章目录 一、 报错信息 二、 解决方案 一、 报错信息 ---- 在 Unity 编辑器中 , 选择 " 菜单栏 | File | Build Settings " 选项 , 编译 Android...Apk 文件 ; 报如下错误 : BuildFailedException: Platform Android with graphics API OpenGLES3 is not supported...Android,请使用Vulkan图形API代替 ; HDRP 是 高清渲染管线 , 英文全称为 High Definition Render Pipeline ; HDRP 的 Unity 工程 如果导出...Android 平台的应用 , 不能选择 OpenGLES3 作为导出的安卓平台引擎 , 必须选择 Vulkan 引擎 API ; 在 Unity 编辑器 中 , 选择 " 菜单栏 | File |..." Graphics APIs " 设置 , 删除 OpenGLES2 和 OpenGLES3 选项 , 只保留 Vulkan 选项 ; 删除后的效果 : 只保留一个 Vulkan 图形引擎 ;
AndroidStudio导出 .jar文件,在Unity里使用 开发环境:as2.3.2.0,u3d5.6.0 as部分: 1.新建工程时的最低版本跟u3d中相同 2.Unity\Editor...> <manifest xmlns:android="http://schemas.android.com/<em>apk</em>/res/android" package="com.test.an525">...Toast.LENGTH_LONG).show(); } }); } } 6.删除activity_main.xml 7.删除androidTest和Test 8.Build apk...完以后,找到\app\build\outputs\aarapp-debug.aar 文件,用压缩包打开取出根路径下的.jar文件并且和\app\src\main\AndroidManifest.xml文件一起放到...// UnityPlayer这个类可以获取当前的Activity // currentActivity字符串对应源码中UnityPlayer类下 的 Activity 变量名。
对编译出来的apk,利用apktool进行反编译:apktool d unityTest.apk 得到的AndroidManifest文件如下: <?...用Unity编译apk出来之后,反编译他的AndroidManifest文件,两个主Activity,默认显示包含Scene的Activity。...方法原理倒是很简单,通过对比Unity打包的apk,与普通的Android apk的文件差别,找出Unity文件存放的目录,随后对应存放到Android studio工程目录中,最后通过Android...直接apk install 运行,可以看到跟Unity编译打包的apk,是相同的效果。.../bin,因为这个目录是我们先前从Unity拷贝过去的,假如不删除,在unity里面会出现重复打包导致的文件冲突的情况。
概述 Bugly Unity Plugin是专为基于Unity引擎开发的跨移动平台(iOS/Android)游戏APP而开发的异常监控插件,它能够自动捕获Unity项目中脚本(如JavaScript...注意: 导出的Android和iOS项目分别需要注册两个不同的AppID 通用部分集成步骤 1、下载并导入Bugly Unity Plugin到Unity项目工程 下载最新版本[Bugly Unity...Plugin],双击.unitypackage文件,即可导入Bugly Unity Plugin的相关文件到您的Unity工程中。...App ID iOS部分集成步骤 导出iOS项目时,必须修改如下设置项才能让未处理的异常(Uncaught Exceptions)被捕获上报 1、在Unity中修改项目的编译设置(Build Settings...此部分的配置你可以参考[Android SDK接入指南] 修改导出的Android工程的AndroidManifest.xml文件中的权限声明,添加如下权限: <!
一、检查 目前该检查工具提供了 5 项内容的检查: so 文件检查 64 位 so 未适配检查 更安全的导出组件检查 未匹配的权限检查 uses-sdk 检查 1、so 文件检查 so 文件检查可以分析出依赖里面包含了多少个...so 文件,并且展示 so 大小,做这个可以辅助 apk 包体积优化来提前分析,哪些 so 文件过大,并且这个 so 文件属于哪个依赖,然后根据依赖找到开发责任人进行沟通,如下是检查结果展示: image.png...64 位的目录下存不存在,如果存在,说明该 so 支持,反之不支持,检测效果如下: image.png 3、更安全的导出组件检查 在 Android 12 的适配中,如果 activity、received...四、总结: 基于工程腐化系列的文章其实可以做很多的检查,比如混淆章节中: layout 中引用不存在的 class 需要进行检查,而且在 apk 编译过程中,并不会引发构建失败,但依然会生成相对应的keep...规则,并且这个layout 一旦在运行时被“加载“,那么会引发 Java 类找不到的异常 其他的实现就交给大家自己发挥实现了,最后附上源码地址:https://github.com/MRwangqi/pluginDemo
安装apk adb install apk的电脑存放路径 运行日志 adb shell //远端命令行 adb logcat -f andorid日志路径 //ctrl+c暂停 cat...日志文件 或者直接adb logcat -d logcat的使用方法 ?...获取到的异常日志 ? 没有调试信息,unity添加调试信息 ? ? 只打印需要的信息,使用 adb logcat -d -s Unity all:E ?...发现shader编译错误,修改默认的untiy 图形库,改用opengl shader(play setting去掉auto graphics api后面的勾选项,需要调整GLES3和GLES2顺序,看支持的版本
的写法 AndroidManifest.xml文件需要配置 <activity android:name="com.<em>unity</em>3d.player.UnityPlayerActivity" android...打包成aar.png 8、由于我们SDK插件打包成aar的时候,会将libs的unity的classes的jar包一并打包进去,需要手动用压缩软件打开aar将里面的classes.jar的文件删掉 Unity...创建的脚本文件.png 4、上述的脚本文件,就需要选择一个主要脚本,将该脚本文件添加到component中,用于绑定到该场景,设置调用通过add component-->scripts, 然后选择所开发的脚本文件.../s/1tTCAYlZnDUtXIizz_70Gpg 提取码:0mtp 7、生成apk 这边讲讲上面C#调用java的相关代码 先贴代码 --SinglePaySDKContext.cs文件 using...直接看Unity Api 总结,Android和Unity的交互就是一方导出插件的形式给一方使用,本文写法是提供了Android导出aar给Unity使用,以上就本文的全部内容,如果有什么错误的地方,
特点 通过这个路径可以访问项目中任何文件夹中的资源,不过只能在PC端使用,移动端是没有访问权限的 不同平台的实际路径: 平台 路径 Unity Editor /Assets Android.../base.apk!...可从 StreamingAsset 中读取二进制文件或者从 AssetBundle 读取文件来写入 PersistentDataPath 中 可使用UnityWebRequest类来读取 也可以用File...Unity里自动识别的一种文件夹,可在Unity编辑器的Project窗口里创建,并将资源放置在里面。...是作为一个Unity的保留文件夹出现的,Resources文件夹下的资源不管是否有用,全部会打包进.apk或者.ipa,并且打包时会将里面的资源压缩处理 特点: 只读路径,不能动态修改,一般用于存放一下固定不更改的资源
其实通常情况下接入SDK都是很简单的一个过程,本系列博客就让马三和大家从小白开始,从零基础开始学习如何接入SDK以及一些常见的SDK的接入流程。...因为没有用到第三方的jar包或者lib库,因此只要勾选src/和res/目录导出为jar包即可。 ? ? ...(5)Unity端工程的开发 建立一个新的空Unity工程,然后在Asset/目录下建立如下路径的文件夹:Plugins/Android。从名字就可以看出来,这个文件夹是用来存放安卓的插件的。...需要特别注意的是要将Unity 项目中 libs下的classes.jar文件删除掉,这个就是上面提到的那个起到中介作用的jar包,一定要删掉!一定要删掉!一定要删掉!...(6)打包发布Android平台的APK 代码写好以后,我们会习惯性地在Unity Editor 里面运行查看一下效果,但是如果要调用 Android 代码的话,是不可以这样做的,一定要在真机上运行
领取专属 10元无门槛券
手把手带您无忧上云