【Android】开发 需求&&问题 记录

是做游戏开发的,内容不一定对您有用。

一.Android Studio使用tips

  1. 版本要先看好,虽然我也很烦这个东西,但是本版对照好了才能走更少的弯路。
  2. 工程路径应都为 字母&&符号等,不然会出现类似如下报错。
    YOUR PROJECT PATH CONTAINS NON-ASCII CHARACTERS.
  3. 代理要搞好,因为很多库都是国外的,要不然用国内的镜像源,要不然搞个代理。一个通畅的网络环境能解决绝大部分问题。

1.Android studio 多渠道打包

二.quickSdk 接入报错

1. NullPointerException + xxx.MyApplication

错误日志:
java.lang.RuntimeException: Unable to create application com.ct108.mnby.MyApplication: 
java.lang.NullPointerException: Attempt to invoke interface method ‘com.b.a.a com.b.a.b.a()’ on a null object reference

MyApplication 继承于 QuickSdkApplication ,遇到这种 NullPointerException … —> xxx.MyApplication 的,如果你的接入和quick的接入是没差的。那就是混淆没加了
在这里插入图片描述

二.需求功能

1.打开外部浏览器

cocos开发调用本地浏览器打开网址

Android

 // 打开外部网址
 public void openUrl(String url){
     try {
         Log.d(TAG, "open url " + url);
         Uri uri = Uri.parse(url);
         Intent web = new Intent(Intent.ACTION_VIEW, uri);
         this.startActivity(web);
     }
     catch(Exception e) {
         Log.d(TAG, "open url failed " + url);
         e.printStackTrace();
     }
 }

IOS
看文章,自己目前还没添加。

2.Android 获取唯一不变的DeviceId

记得加上这个权限

<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />

Android 获取唯一标识码,deviceId,androidId,Mac地址

文章里写的很清楚,代码挺长就不贴了。说是 DeviceId ,但是在获取不到 DeviceId 的情况下(Android 10 之后有什么限制)会返回 androidId ,Mac address 来替代 DeviceId。

3.Android 动态申请权限

Android 动态申请权限
Android6.0运行时权限各种状态的处理(禁止、禁止后不再提示/不再询问)

文章里写的很清楚,这里也不贴了。

4.监听安卓系统按键(比如常见的下面三个虚拟按键)

接到的要求是监听后退按键,然后使用自己的关闭UI来关闭App。

1).onKeyDown

    /**
     * 监听Back键按下事件
     * 注意:
     * 返回值表示:是否能完全处理该事件
     * 在此处返回false,所以会继续传播该事件.
     * 在具体项目中此处的返回值视情况而定.
     */
   	//按钮监听
    private long mkeyTime = 0;
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            if ((System.currentTimeMillis() - mkeyTime) > 2000) {
                mkeyTime = System.currentTimeMillis();
//                Toast.makeText(this, "再按一次确认退出", Toast.LENGTH_LONG).show();
            } else {
				//你的逻辑
            }
            return false;
        } else {
            return super.onKeyDown(keyCode, event);
        }
    }

2).dispatchKeyEvent

Android onKeyDown监听返回键无效的解决办法

文章里有具体详细的讲解,以及代码适用的场合和其他监听的方法。以下只摘录了我需要的部分。

/** 
 * 退出 
 */
@Override
public boolean dispatchKeyEvent(KeyEvent event) { 
  if (event.getKeyCode() == KeyEvent.KEYCODE_BACK 
      && event.getAction() == KeyEvent.ACTION_DOWN 
      && event.getRepeatCount() == 0) {       
    //具体的操作代码 
  } 
  return super.dispatchKeyEvent(event); 
}

三.报错

1. SSL peer shut down incorrectly

ERROR: SSL peer shut down incorrectly错误解决(Android Studio)

错误信息:ERROR: SSL peer shut down incorrectly错误解决(Android Studio)

错误原因:android studio在下载“gradle-4.10.1-all.zip”文件的时候出现的错误,错误原因是studio工具不支持https请求

2.-Xlint:deprecation rebuild

3.The project uses Gradle x.x which is incompatible with Java 11 or newer.

The project uses Gradle 4.1 which is incompatible with Java 11 or newer.

解决办法是下载并使用 JAVA8
在这里插入图片描述

4.Suggestion: add 'tools:replace=“android:authorities”'解决

出现的原因是在项目A中依赖了xiag项目B,他们又有相同的字段,因此出现命名冲突。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值