Android-开发笔记

安卓学习几个月,感觉脑瓜子嗡嗡的。
荣耀Magic 2编译错误,暂时未定位问题,搁置。。。

E/AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@d0e88ec
E/AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@f7064b5
E/MemoryLeakMonitorManager: MemoryLeakMonitor.jar is not exist!
F4606E37F4397573E3B85F943DCEA341.png

安卓手机投屏vysor

禁止View响应点击

myview.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
                return true;
        }
});

安卓复制工程与原工程冲突处理

  • 解除svn关联:
    Project : -idea->vcs.xml->vcs=""
  • 更改applicationID
    File->Project Structure
    Modules->Default Config
    Application ID
  • 不需要增加到版本库
  1. .idea 文件夹,此文件夹是用来保存开发工具的设置信息。

  2. .gradle 文件夹,此文件夹是用来保存gradle的依赖信息。

  3. 所有的 build 文件夹,build文件夹是用来保存编译后的文件目录。

  4. 所有的 .iml 文件,是用来保存开发工具信息。

  5. local.properties 文件,是用来保存项目依赖信息。

打包APK前如果代码,签名jks都确认正确,没有问题,但是release版安装没有原因的闪退,那么clean工程可以解决这个问题。这个闪退困扰我两天,结果一个clean柳暗花明又一村。

  • 生成jks:Error Key was created with errors: JKS密钥库使用专用格式 :
keytool -importkeystore -srckeystore  ~/2020.jks -destkeystore ~/2020key.jks-deststoretype pkcs12

  • 按钮调整图片尺寸
        Drawable[] drawable = btn.getCompoundDrawables();
        Rect rect = new Rect(0,0,50,50);
        drawable[1].setBounds(rect);
        btn.setCompoundDrawables(null,drawable[1],null,null);
  • Chrome调试移动设备webview
//打开允许调试开关
webview.setWebContentsDebuggingEnabled(true);
//浏览器输入地址
chrome://inspect/#devices
  • JS交互常见错误
  1. 在JS接口的回调方法里面添加 throw Exception
  2. Web端不进行对象存在判断
  3. 传递参数类型不一致
    [1,2,3,"hello"];此时hello被置换为0
  4. 字符串类型参数为空时显示为undefined
    判断为空改传“”
  • 取消请求
 if (mOkHttpClient != null) {
            for (Call call : mOkHttpClient.dispatcher().runningCalls()) {
                Log.i("cancel","cancel");
                call.cancel();
            }
        }
  • Error:A problem occurred configuring project ':app'.
    JNI相关使用到C/C++库 需引用NDK
    File->Project Structure 配置正确的NDK

安卓读取相册图片无法正常显示,拍摄视频无法播放,缺乏权限:
SDKVersion = 29时需要

android:requestLegacyExternalStorage="true"
  • 获取高德地图Debug SHA1
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

  • 集成高德地图定位,搜索模块与导航模块冲突
  //定位功能
    implementation 'com.amap.api:location:latest.integration'
    //搜索功能
    implementation 'com.amap.api:search:latest.integration'
    //导航功能
    implementation 'com.amap.api:navi-3dmap:latest.integration'

  • 编译错误信息
  Duplicate class com.amap.api.fence.DistrictItem found in modules jetified-location-6.1.0.jar (com.amap.api:location:6.1.0) and jetified-navi-3dmap-9.3.0_3dmap9.3.0.jar (com.amap.api:navi-3dmap:9.3.0_3dmap9.3.0)

处理方法:最新版导航SDK包含了定位,搜索功能,所以可以不依赖定位,搜索包,注释即可。
依赖重复
  • jcenter上大概率没有该依赖库版本 click here. 查找你需要的依赖库版本,降低一下版本,更改一下
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
> Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
   > Could not resolve com.你集成的依赖库.
     Required by:
         project :app
      > Skipped due to earlier error
  • 应用置灰
  @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(getLayoutResId());
        //=====================================================
        View decorView = this.getWindow().getDecorView();
        ColorMatrix cm = new ColorMatrix();
        cm.setSaturation(0);
        Paint paint = new Paint();
        paint.setColorFilter(new ColorMatrixColorFilter(cm));
        decorView.setLayerType(View.LAYER_TYPE_SOFTWARE,paint);
        //=======================================================
        mBind = ButterKnife.bind(this);
        initView();
        initEvent();
        initPresenter();
    }

你可能感兴趣的:(Android-开发笔记)