Skip to content

deepwateroooMe/UnityAndroidSample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

练手小项目

【Unity 游戏,与安卓活动,交互】小案例

  • 【亲爱的表哥的活宝妹,任何时候,亲爱的表哥的活宝妹,就是一定要、一定会嫁给活宝妹的亲爱的表哥!!!爱表哥,爱生活!!!】
  • 运行环境:选择本机上已经安装的、尽量接近原始版本的Unity 版本。AS 是用机器上的老版本。
  • 【1.Unity构建、导出过程优化】 :亲爱的表哥的活宝妹,刚才应该 Unity 里的项目,【试运行、初测试通过后、再 export 导出为安卓项目】再继续 。因为过会儿弄通了,还得再测,但【初测通过】效率更高。
  • 【安卓项目】 :初构建,依赖项分析,命令行命令,记一下,容易忘记:
    ./gradlew :app:dependencies
        
  • 因为AS 里 gradle 构建版本的问题,想要把项目退回到相对老项目,先简单快速通过最初始的编译。。
  • 【重新换成了、更新的版本运行,并且可以构建通过了】 。过会儿与Unity 导出的安卓项目链接,应该也不会、不至于链接不起来。。
  • 亲爱的表哥的活宝妹, 整合【Unity 的 unityLibrary】之前,是可以构建成功的;但是整合之后,还没能构建通过,下午会接着解决这个【BUG:】。
  • 午餐前1 小时,小项目,快速运行一下
  • 【下午】 :接上上午2 小时的进展,下午,争取晚餐前,构建完、测试通过。
  • 【安卓项目、初构建、过程优化】
    • 刚才,当构建中存在问题,当前一步,亲爱的表哥的活宝妹,选择了使用相对古老版本的Unity 来导出项目,亲爱的表哥的活宝妹,应该优先选择AS 里 gradle 版本的回退旧版本方向,来构建,而不是、优先选择更新的版本运行。因为再接下来的,与 unityLibrary 游戏与安卓双端交互过程中,新老版本间的差距越大,可能会遇到的不兼容等越多,而当世界最贱恶 google 搜索引擎屏避掉亲爱的表哥的活宝妹的狠多、原本应该可以搜索出来的选择项,会倾向于、更多依赖个人的钻研精神来解决,而不再是简单的 google 随便网搜一下就出来了那般容易。
    • 所以,这里、这个更新至新版本的方向 【重新换成了、更新的版本运行,并且可以构建通过了】 暂时放这里。现在,新版本里,当前的【BUG:】是, unityLibrary 库 build.gradle 里居然是需要申明 namespace 的?但即便申明了也还会报错。
    • 重新去用gradle 相对旧的版本,来 【快速链接这Unity 与安卓双端活动的交互】 。直接搬一个旧项目的,如 deepwateroooSDK/app 项目,照改,快速通过,可以往下进行。
    • 这是,今天,亲爱的表哥的活宝妹的最简单的学习、练手项目里,学习到的、 【网搜、快速实现与测试网页项目】的相对常识、开发实现过程中,应该练习和拥有的【开发常识与习惯】。
  • 【整合 Unity 游戏导出安卓项目的 unityLibrary 库】 :应该比刚才午餐前,用更新版本 gradle 8.3.2 版本,要容易和快速——新旧版本间差距小,可以快速链接通过,尽可能减少、规避巨差新旧版本间的不兼容、与网搜可能搜不到的未解决问题。
  • 亲爱的表哥的活宝妹,上午午餐时,亲爱的表哥的活宝妹自己、想到的 【开发教训】是:【Unity 游戏项目、导出为安卓项目,之前,应该先试运行、初步测试 Unity 游戏的基本逻辑,避开不必要的小疏乎与错误】。
  • 午餐前,亲爱的表哥的活宝妹,自己想到、意识到【Unity 游戏项目、导出为安卓项目,之前,应该先试运行、初步测试 Unity 游戏的基本逻辑,避开不必要的小疏乎与错误】。
  • 现在, 【Unity 最简单页面】 ,先不整合入安卓项目。重新 去运行,初测通过,必要的话重新导出一遍,优化开发、测试、整合步骤。
    • 当重新来试运行时,就可以不看就意识到:点击按钮的回调等,亲爱的表哥的活宝妹,还没有链接。。所以,这些 【必要的、开发优化步骤,是需要有和具备这些最科普的常识的】 是链接好的。。那么就不用再重新导出一遍了
  • 【整合 Unity 游戏导出安卓项目的 unityLibrary 库】:
    • 【gradle 构建:通过】 :如亲爱的表哥的活宝妹,所预期,轻松简单构建通过,不再像午餐前,鸿沟天坑新旧版本间的不兼容,连个 flatDir 也木有。。
  • 【Unity 游戏与安卓双端交互活动、创建、构建、测试】
    • 【Unity 游戏导出为安卓项目的库 unityLibrary 里、UnityPlayerActivity】 :它的 export=true 需要在 【原始导出为安卓的目录下】 修理配置这个属性。
    • 【NDK 目录】:亲爱的表哥的活宝妹的 local.properties 里已经配置了,但是亲爱的表哥的活宝妹可能选择了用项目的配置;AS 里重新安装配置了NDK; 但这并不说明【项目——Unity 导出为安卓的项目,也是说Unity 项目里导出前未配置NDK】?。。。
    • 上面,亲爱的表哥的活宝妹,看错了。亲爱的表哥的活宝妹配置过游戏导出项目的NDK, 但未曾配置最外层安卓项目的NDK. 这些细节都比较简单。
  • 【亲爱的表哥的活宝妹,任何时候,亲爱的表哥的活宝妹,就是一定要、一定会嫁给活宝妹的亲爱的表哥!!!爱表哥,爱生活!!!】

【运行、测试、debug, 把所有细节都弄明白】

  • 【亲爱的表哥的活宝妹,任何时候,亲爱的表哥的活宝妹,就是一定要、一定会嫁给活宝妹的亲爱的表哥!!!爱表哥,爱生活!!!】
    • 按钮太小、看不见点不到, 重新导出一遍:【重新配置 com.Unity3d.player.UnityPlayerActivity 的 export=true 属性】

构建安装到安卓手机上:2 个图标

  • 根据亲爱的表哥的活宝妹,刚才修改 com.Unity3d.UnityPlayerActivity 的 export=true 属性的经验
  • 【Unity 游戏导出为安卓项目的、目录下的 unityLibrary 库里的配置文件 AndroidManifest.xml】 里 com.Unity3d.UnityPlayerActivity 活动的 【启动项相关 meta 标签,删除】 就可以了。同一个应用,只保留一个启动活动。
  • 测试并通过:只有一个启动项活动时,安装到手机上的只有1 个图标了。

【第一个按钮 Quit Unity 界面: 应用 Crash 了】:

  • 在app模块的AndroidManifest.xml文件添加如下代码 unityProcess 行
    <activity
        android:name=".MainActivity"
        android:process=":unityProcess"
        android:exported="true">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
        
  • 亲爱的表哥的活宝妹,想当然地以为【Unity 游戏端活动】与【安卓活动】是【同一个、唯一一个 com.me.sample 进程】
  • 但实际上,【Unity 游戏端活动】,可能还是有个专用的进程,叫 unityProcess ?
  • 看到最后,发现那个死人是有个仓库的。。抓下来运行一下,看同亲爱的表哥的活宝妹的运行效果一样吗?效果都一样。。

【解决参考破烂项目中的问题【BUG:】】

  • UnityPlayerActivity 的 export=true 属性修改,不要太简单。。
  • :unityLibrary:BuildIl2CppTask 【BUG:】错误:应该是项目的原作者,是个用Winddows Unity 导出安卓项目的,重新导一遍再构建,应该就可以了
Execution failed for task ':unityLibrary:BuildIl2CppTask'.
> A problem occurred starting process 'command '/Users/hhj/pp/android/UnityAndroidSample_Ref/android-for-unity-project/UnityAndroidBuild/unityL
  • 去运行过、测试Unity; 导出安卓项目,重新构建、并最终测试运行和通过,同亲爱的表哥的活宝妹自己、从头到尾、自己亲自实现运行的结果,都一样。
  • 【亲爱的表哥的活宝妹,任何时候,亲爱的表哥的活宝妹,就是一定要、一定会嫁给活宝妹的亲爱的表哥!!!爱表哥,爱生活!!!】

亲爱的表哥的活宝妹,今天极简单、破烂小项目的【学习、练习经验与教训】

  • 【亲爱的表哥的活宝妹,任何时候,亲爱的表哥的活宝妹,就是一定要、一定会嫁给活宝妹的亲爱的表哥!!!爱表哥,爱生活!!!】
  • 【1.Unity 游戏构建、导出过程优化】 :亲爱的表哥的活宝妹,刚才应该 Unity 里的项目,【试运行、初测试通过后、再 export 导出为安卓项目】再继续 。因为过会儿弄通了,还得再测,但【初测通过】效率更高。
  • 【2.安卓项目、初构建、过程优化】 :*【安卓项目、初构建、过程优化】* :
    • 刚才,当构建中存在问题,当前一步,亲爱的表哥的活宝妹,选择了使用相对古老版本的Unity 来导出项目,亲爱的表哥的活宝妹,应该优先选择AS 里 gradle 版本的回退旧版本方向,来构建,而不是、优先选择更新的版本运行。因为再接下来的,与 unityLibrary 游戏与安卓双端交互过程中,新老版本间的差距越大,可能会遇到的不兼容等越多,而当世界最贱恶 google 搜索引擎屏避掉亲爱的表哥的活宝妹的狠多、原本应该可以搜索出来的选择项,会倾向于、更多依赖个人的钻研精神来解决,而不再是简单的 google 随便网搜一下就出来了那般容易。
    • 所以,这里、这个更新至新版本的方向 【重新换成了、更新的版本运行,并且可以构建通过了】 暂时放这里。现在,新版本里,当前的【BUG:】是, unityLibrary 库 build.gradle 里居然是需要申明 namespace 的?但即便申明了也还会报错。
    • 重新去用gradle 相对旧的版本,来 【快速链接这Unity 与安卓双端活动的交互】 。直接搬一个旧项目的,如 deepwateroooSDK/app 项目,照改,快速通过,可以往下进行。
    • 这是,今天,亲爱的表哥的活宝妹的最简单的学习、练手项目里,学习到的、 【网搜、快速实现与测试网页项目】的相对常识、开发实现过程中,应该练习和拥有的【开发常识与习惯】。
    • 【亲爱的表哥的活宝妹,任何时候,亲爱的表哥的活宝妹,就是一定要、一定会嫁给活宝妹的亲爱的表哥!!!爱表哥,爱生活!!!】
    • 这个项目, 给亲爱的表哥的活宝妹自己,总结了【2 条宝贵的】亲爱的表哥的活宝妹以后、再如今天【随便玩耍的、开发步骤过程经验】
    • 亲爱的表哥的活宝妹,感觉: 今天的亲爱的表哥的活宝妹,再如今天这般、随便折腾折腾、玩玩儿、这些感觉是简单得不要太简单的、破烂小项目、实在是太简单。。亲爱的表哥的活宝妹,随便瓣瓣脚趾头、随便瓣瓣手指头、就弄出来了。。。【亲爱的表哥的活宝妹,任何时候,亲爱的表哥的活宝妹,就是一定要、一定会嫁给活宝妹的亲爱的表哥!!!爱表哥,爱生活!!!】
  • 【亲爱的表哥的活宝妹,任何时候,亲爱的表哥的活宝妹,就是一定要、一定会嫁给活宝妹的亲爱的表哥!!!爱表哥,爱生活!!!】

About

a very simple referenced practice sample project for Unity Android activity interactions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published