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

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

一.Android Studio使用tips

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

1.Android studio 多渠道打包

二.需求功能

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,他们又有相同的字段,因此出现命名冲突。

猜你喜欢

转载自blog.csdn.net/qq_28686039/article/details/124454744