SDK接入注意点

1、 新建的android项目,要把MainActivity.java里生成的东西全部删去,最好只留个onCreate入口方法,不然会产生什么“hello world”,会把自己写的View内的东西覆盖掉,不懂android的朋友最好这样做

2、因为项目需要使用Unity提供的接口,所以需要将接口classes.jar引入至当前工程但中。在java android工程的libs文件夹里面引入的class包,此包一般在unity的安装目录下,目录大概为:Unity\Editor\Data\PlaybackEngines\androidplayer\release\bin\classes.jar,在导入unity工程中的时候就不需要了,这只是为了引入此类UnityPlayerActivity

3、导入unity工程只需要assetslibsres三个文件夹和AndroidManifest.xml文件即可(放入Plugins/Android此目录下),另外要把用批处理文件打包生成的jar包也要放入libs,另外如果第三方的东西是个Library的话,那么也需要把第三方下的assets、libs、res里的文件拷贝到我们新建的对应的assets、libs、res文件夹下去,另外有可能Library里面的文件会和我们新建的工程里面的文件相同,只是版本不一样罢了,例如android-support-v4.jar,所以我们必须删除一个,留下一个最新的即可

4、批处理打包的bat命令:

cd G:\_zwh\android\Workspace\4399SDK\SDKProject\bin\classes            //Android工程下的Classes目录的位置
jar -cvf MainActivity2.jar *                                                                  //生成的包名,随便什么名字
start "" "G:\_zwh\android\Workspace\4399SDK\SDKProject\bin\classes"  //生成的包的位置

5、发布 没找到方法(notfindFunc)

原因:用批处理打包的位置出错

解决方案:更换正确的位置即可!

6、发布好的程序闪退:一般是自己sdk那边代码写错了造成了,自己认真检查即可!

7、

Dfile.encoding=UTF8 -jar  问题解决:把libs下的class.jar文件删除,再拷贝到unity之中去

8、

创建Activity时报这个错,原因和为毛创建Android工程时报的错大概是一样的,如下,

 就是在新建android程序的时候,Minimum最低的SDK版本要为API14Android 4.0,不然创建的工程会报错,此处的错误解决方法如下:

     

 

9、android项目出现红色大感叹号的问题解决方法

先右键刷新工程看看,不行就按下面的来查看问题

【问题原因】:工程中classpath中指向的包路径错误
【解决办法】:右键项目 → 属性 →

然后上面有几个选项卡找到 Libraries中 出现红色叉号的包为路径错误的包。到classpath中修改相应包的当前路径,也就是你SDK的路径。然后回到eclipse中F5刷新工程

比如我的就是:BuildPath —> Configure Build Paht…中 选择然后 edit 修改为E:\AndroidDev\android-sdks\platforms\android-10\android.jar

如果还有错误 那还有android sdk 版本的选择 要注意

你用myeclipse新建 web工程, 在工程目录下会生成一个 .classpath 配置文件, 
里面是你工程里面引用的jar的配置。这个.classpath 对你的web工程没有什么影响 
其实是给 myeclipse 识别的。 你说的这种情况是因为 .classpath 文件里面 
配置引用了某个jar,但是实际上你的 lib 里面并没有这个jar 所以才会有红色的提示。 
你不用拿.classpath文件和你的jar一个个去找, 你现在打开MyEclipse 
右键单击你的web工程,找到 Build Path > Configure Build Paht... 
> 然后上面有几个选项卡找到 Libraries。  这里看到的就是你工程里面引用的 
所有的 jar , 看看是不是在某个jar图标上有个很小的黄色的感叹号? 
如果有的话就没错了, 先选中这个jar, 点击右边的 Remove  > 点击OK 
等待几秒, 现在web工程上面的红色XX是不是没有了,哈哈。 
解释一下: 黄色的感叹号的jar,表示.classpath配置文件引用了jar, 
但是实际上lib里面没有这个jar。

10、老版本apk无法覆盖新版本,换用一个安装器就可以了

11、安装一个apk,手机桌面出现两个游戏图标:

在AndroidManifest文件中找到intent-filter → android.intent.action.MAIN和这个重复的,留下类似com.noumena.android.pps.LogoActivity下的MAIN,删除另一个

12、解决打包里面没有x86的问题

从unity4.6版本开始,unity已经对Android系统支持x86平台的编译构建了,同时也支持了通用二进制 (通用二进制作为默认的编译选项)。

大家都知道,目前市面上主流的Android设备主要是armeabi,armeabiv7a和x86平台,对于独立CPU平台的支持有助于程序在该平台的运算和优化。下面简单介绍一下如何配置。

1.打开unity项目

2.单击unity菜单栏的File->build settings
3.点击"player setting",在inspector视图下的Other Settings框内,即可找到Device Filter,选择x86,则最终构建出来x86平台的APK包,unity android配置和之前版本完全一样,这里就不再赘述了。
如此,我们就完成了unity for android x86平台的配置了,如果想同时支持x86和armeabi平台,在device filter 中选择(FAT  AR Mv7+X86)即可。
13、通过连接打开app
在info.plist里添加 URL types 属性,如下图:
URL identifier不设也没关系,貌似只要设一个URL Schemes就可以了!
这样就可以了,那么你在浏览器里面输入  cszd://  就可以打开此应用了,当然了后面也可以带你传入的参数都是可以的,例如cszd://name=zwh&age=18,只要开头是cszd://就可以了
如果想在此应用了获取此url,可以在UnityAppController.mm文件里获取
- (BOOL)application:(UIApplication*)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation
{    
    NSString *str = [url absoluteString];
    printf_console(" address is = %s ",[str UTF8String]);
    
    NSMutableArray* keys    = [NSMutableArray arrayWithCapacity:3];
    NSMutableArray* values    = [NSMutableArray arrayWithCapacity:3];

    #define ADD_ITEM(item)    do{ if(item) {[keys addObject:@#item]; [values addObject:item];} }while(0)

    ADD_ITEM(url);
    ADD_ITEM(sourceApplication);
    ADD_ITEM(annotation);

    #undef ADD_ITEM

    NSDictionary* notifData = [NSDictionary dictionaryWithObjects:values forKeys:keys];
    AppController_SendNotificationWithArg(kUnityOnOpenURL, notifData);
    return [PluginHandler application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
}

14、设置启动主页

 

 15、String types not allowed (at 'configChanges' with value错误
  用Unity发布apk包的时候,会出现这个错误,是在用了Unity2017.2.0f3这个版本之后,才出现这个问题的,以前版本都没有出现过此类问题,搜索了下,只要在SDK Manager中安装了API 25就可以了,试了下,果然可以
16、Failed to load the JNI shared library "F:\JDK\az\bin\..\jre\bin\client\jvm.dll".
  出现这问题的原因是 Eclipse和JDK位数不一致造成的,两者必须同时为32位或者64位。  
 
 
 

转载于:https://www.cnblogs.com/MrZivChu/p/sdkjieru.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值