2018-07-09 09:23:39 Czhenya 阅读数 3831

在出游戏包的时候,如果需要接入sdk,一般都不会直接在unity里操作,而是导出android工程,在android工程里操作,从unity5.x开始已经支持导出android studio工程

下面是Unity导出Android项目的过程,


配置BuildSetting,选择android平台点击switch platform,如果工程较大,时间会比较长。

Build Syatem 选择Gradle,否则导出的是eclipse工程

Explort Project 选中,否则打出来就是我们常用的apk形式
1

打包之前记得设置报名,下图框中为默认名称,不修改发布会报错。
2

若不修改包名,报错如下:

"UnityException: Bundle Identifier has not been set up correctly”

3

设置后,点击export进行导出就可以了

导出后的工程目录如下:

4

这就完成了Unity对Android项目的打包。最后我们打开android studio,导入后工程如果没有报错,就可以使用了。

这里写图片描述

Unity5.x的版本也支持导出Ecplise的工程文件夹,,(后来出了Android Studio…,这个选项在Unity2017版本中被取消了),

2017-05-09 12:27:11 kksc1099054857 阅读数 581

最近做一个基于android的在线考试系统,用的是sqlite本地数据库。完成之后想查看sqlite中的数据表,在网上查找了相关信息,现在将步骤做一个说明。

sqlite数据库文件保存在data/data/[packageName]/databses路径下。可以在root后的手机内存中找到,这里介绍在MyEclipse虚拟机中找到的步骤:

1.首先运行android项目,只有运行的时候,才会在DDMS中看到虚拟的手机内存。DDMS在MyEclipse右上角打开。如下图所示:

                                         

2.打开DDMS,可以看到虚拟手机内存。打开File Explorer。找到data/data/[packageName]/databses。这样就可以看到想要导出的数据表。如下图所示:

                 

3.找到相应的数据表后,选中,然后点击右上角的导出按钮。既可以导出数据表,数据表示.DB文件。如下图所示:

4.DB文件需要想要的工具才能打开,我用的是sqlite Expert Professional。打开后的效果如下图所示:  

               

这样sqlite数据表就成功导出了。如果觉得有用,记得点赞啊!

2013-12-31 16:04:35 iteye_9512 阅读数 34
Unity3d导出android项目时报错


错误截图如下:
[img]
[img]http://dl2.iteye.com/upload/attachment/0092/6990/14c5142b-bc30-3fdf-a463-3b71131491f3.jpg[/img]
[/img]

这个问题搞了一天多,原因是 android SDK 导致的,更换个SDK,或者打开 SDK Manager.exe进行更新(我是更换了SDK后解决的)。
必须保证有一个4.0。

我的可用的SDK Manager.exe打开后的界面如下:

[img]http://dl2.iteye.com/upload/attachment/0092/6996/c1dd073d-358e-3b94-b9bd-4f91660505be.png[/img]
2012-11-05 18:55:47 tcpipstack 阅读数 1199

一个用于导出android项目配置宏为单个独立xml文件的shell脚本

最近由于工作需要将android项目的项目配置文件里面的宏文件导出来,项目配置宏文件内容如下所示:

GEMINI=yes
GOOGLE_RELEASE_RIL=no
HAVE_AACENCODE_FEATURE=yes
HAVE_AEE_FEATURE=yes
HAVE_APPC_FEATURE=no
HAVE_AWBENCODE_FEATURE=yes
HAVE_CMMB_FEATURE=no
HAVE_GROUP_SCHEDULING=no

现在需要将这些宏导出来,由大写字母改成小写字母,类似于如下的xml文件格式:

<?xml version="1.0" encoding="utf-8"?>
<permissions>
	<feature name="mtk_fm_recording_support" />
</permissions>

由于项目配置文件里面的宏很多,手工操作非常麻烦,而且扩展性很不好,因此需要shell脚本使操作自动化,编写出来的脚本文件如下:

#!/bin/bash
#
#	Description:
#		Used to export the ProjectConfig.mk items to different xml files.
#
#	History:
#		tcpipstack, Oct.,29th, 2012, created it.
#		tcpipstack, Oct.,30th, 2012, modified for add the read LINE and process it.
#
#--------------------------------------------------------------------------------------------
DATE=`date +%F-%H`

#
FN_EXEC_RESULT=0
FN_EXEC_RESULT_SUCCESS=0
FN_EXEC_RESULT_ERR=1

# orginal project config file
SRC_PRJ_CFG_FILE=/work/code/linux/shell/PrjCfgExportXml/ProjectConfig.mk

# destination project config file.
DST_PRJ_CFG_FILE=/work/code/linux/shell/PrjCfgExportXml/Dst_PrjCfg.mk

#
SRC_FILE_NAME=${SRC_PRJ_CFG_FILE}
DST_FILE_NAME=${DST_PRJ_CFG_FILE}


#--------------------------------------------------------------------------------------------
# if unexpect event happens, it will process here.
function fn_check_error() 
{
	echo "	fn_check_error..."

	exit=$?
	echo "exit = ${exit}"
	if [ ${exit} != 0 ] ; then
		echo " Error code ${exit}"
		fn_exit ${exit};
	fi
}


# sub function exit with error code.
function fn_exit()
{
	local fn_exit_code=${1}
	exit ${fn_exit_code}
}


# print the global parameters
function fn_print_global_params()
{
	echo -e "\n	fn_print_global_params..."
	echo "--------YES_OR_NO	:	${YES_OR_NO}"
}


# filter LINEs include the string of yes or no.
function fn_filter_special_LINE()
{
	echo -e "\n	fn_filter_special_LINE..."
 
	if [[ "${YES_OR_NO}" == "yes" ]]; then
		echo "${YES_OR_NO} == yes"
		sed -n '/yes\|YES/s/\([^=]\+\).*/\L\1/p' ${SRC_FILE_NAME} > ${DST_FILE_NAME}
	elif [[ "${YES_OR_NO}" == "no" ]]; then
		echo "${YES_OR_NO} == no" 
		sed -n '/no\|NO/s/\([^=]\+\).*/\L\1/p' ${SRC_FILE_NAME} > ${DST_FILE_NAME}
	else
		fn_exit ${FN_EXEC_RESULT_ERR}
	fi

	fn_check_error
}


# read every LINE and process 
function fn_while_read_LINE()
{
	echo -e "\n	fn_while_read_LINE..."
	cat ${DST_FILE_NAME} | while read LINE
	do
		echo "$LINE"
		fn_process_LINE_items $LINE
		:
	done
}


# process every LINE
function fn_process_LINE_items()
{
	echo "	fn_process_LINE_items: ${1}"
	local CFG_ITEM=${1}
	fn_write_cfg_2_xml ${CFG_ITEM}
}


# write the project config information to xml file
function fn_write_cfg_2_xml()
{
	echo "	fn_write_cfg_2_xml: ${1}"
	local XML_FILE_NAME=${1}
	
	echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>" > ${XML_FILE_NAME}
	echo "<permissions>" >> ${XML_FILE_NAME}
	echo "	<feature name=\"${1}\" />" >> ${XML_FILE_NAME}
	echo "</permissions>" >> ${XML_FILE_NAME}
	
	mv ${XML_FILE_NAME} ${XML_FILE_NAME}.xml
}


#--------------------------------------------------------------------------------------------
echo -e "\n========================Start...========================\n"
date
if [ $# != 1 ];then
	echo "ERR: U must input one parameter: yes or no. Exit!"
	fn_exit ${FN_EXEC_RESULT_ERR}
else
	YES_OR_NO=${1}
fi

fn_print_global_params
fn_filter_special_LINE
fn_while_read_LINE

echo -e "\n========================End! ========================\n"


上述脚本里面最关键的就是这条语句,参考sed的用法可以参考这篇博客:http://blog.csdn.net/tcpipstack/article/details/8125819


sed -n '/yes\|YES/s/\([^=]\+\).*/\L\1/p' ${SRC_FILE_NAME} > ${DST_FILE_NAME}


使用方法,在终端上输入如下:

bash prj_cfg_export_xml.sh yes/no















2018-12-17 12:01:12 a598211757 阅读数 182

这个问题碰到了一两次,解决方法是下载旧的tools,然后替换掉,但也不是每次都好,因为并不知道下载哪个版本,我第一次用的25版本,但是后来又遇到一次发现不行,当时捣鼓了几下就解决了,但是,明明已经配好的环境,昨天导出Android项目的时候又出现了这个问题,很郁闷,百思不得其解,后来一点一点看,发现了问题所在,记录一下。

首先为什么我配好的环境为什么坏掉了,也就是版本变了。unity跟Android studio都要设置sdk路径,但是build的时候,用的文件却不是同一个,以下是我个人的理解。Androidsdk下有很多文件夹,但是as(Android studio)build的时候用的是build-tools这个文件夹,这个文件夹下有下载的各个版本的build-tools,build的时候,会根据你的配置选择相应的版本,as打包不会出现这个问题,没有你设置的版本的话他会提醒你去下载,下载的目标地址就是build-tools文件夹。但是unity不同,unity用的是sdk下的tools文件夹,可以发现sdk只有这么一个tools文件夹。我去查了下这个文件夹,果然这个文件夹最近被修改了,然后就导致了标题出现的问题,tools版本不匹配。仔细回想了下,终于知道了幕后真凶,因为我在as里面装Android8.0版本的模拟器的时候,提醒我去下载对应的sdk,当时没想到会影响到tools文件夹,结果就被坑了。

遇到这种问题,建议单独复制出来一份sdk,给unity使用,as跟unity分开,因为as更新sdk总会莫名其妙的影响sdk的各个文件,但是as会选择适合的去使用,unity就没办法了,所以建议unity单独用一份sdk,然后用SDK manager下载需要的tools就行了。

没有更多推荐了,返回首页