Android常见问题

1. 如果想在android studio 3.1之后的版本中使用lambda表达式,只需要在app->build.gradle文件的android标签里面加
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
2. v4和v7包冲突了,删掉其中的一个就可以
image.png
3. Not allowed to start service Intent { act=com.jianq.intent.service.mpc2.MESSAGE_PUSH_SERVICE.com.jianq.lightapp.evergrande (has extras) } without permission not exported from uid 10157

是由于机器中已经在其他app中跑了当前服务了,需要卸载另一个app

4. Failed to find Build Tools revision 28.0.2
image.png

在Android SDK中 将build tools 28.0.2 安装好 就行了


image.png
java手动抛出异常

throw new IllegalArgumentException()

Android Studio中有些类找不到的处理。

在万能的GitHub已有人去除Android.jar中@hide注解
地址: https://github.com/anggrayudi/android-hidden-api
1.下载对应API版本的Android.jar
2.替换SDK/platforms/android-版本/Android.jar
3.重新打开IDE就可以查看


https 通过okhttp 设置忽略证书认证
.hostnameVerifier(
                        //手动设置通过host通过验证
                        (hostname, session) -> true)
                .build();
Android签名
  • 签名apk文件:
    jarsigner -verbose -keystore keystore文件路径 -signedjar 签名后生成的apk路径 待签名的apk路径 别名
    方法1:
    例如:jarsigner -verbose -keystore /Users/liuyong/smc/app/jks/zhihuishouyin.jks -signedjar /Users/liuyong/smc/app/build/outputs/apk/dev/debug/app_debug_V1.1-2018-10-12.apk /Users/liuyong/smc/app/build/outputs/apk/dev/debug/app_debug_V1.1-2018-10-12_sign.apk hengda
    方法2:
    jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore /Users/mars/demok.keystore -storepass keystorepwd demo-unsigned.apk demok && jarsigner -verify -verbose -certs demo-unsigned.apk
    (demok是别名)

  • 验证包是否签名:
    jarsigner -verify /Users/liuyong/zhsy_app_debug_V1.0.8-2019-04-22_devPAD.apk

apk安装失败

使用adb install -t 路径。

Android Studio 3.2.0 sync error: Failed to transform android.jar

修改gradle版本到:com.android.tools.build:gradle:3.1.4

Unknown host 'jcenter.bintray.com: nodename nor servname provided, or not know

修改Mac的AndroidStudio


image.png
*** Android NDK: APP_STL gnustl_static is no longer supported. Please switch to either c++_static or c++_shared

https://developer.android.google.cn/ndk/downloads/older_releases.html
降低NDK的版本到10e

Unable to add window — token null is not valid; is your activity running?

可能是自定义PopupWIndow或者Dialog实例是单利模式创建的,引用的ActivityActivity销毁后未被释放,导致下次创建Dialog或者PopupWindow重新创建时,引用的还是原来的Activity,所以单利模式中引用的ActivityDialog或者PopupWindow消失时 ,Activity的引用也要释放。

addView(View view)

想增加动画效果 布局文件添加 android:animateLayoutChanges="true"属性

防止应用被截屏

在activity的oncreate()里面添加:

java.util.ConcurrentModificationException adapter

1 可以先对数据进行排序` Collections.sort(failBeans);
2 或者倒着删除。

org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.51
一直下载不下来

 repositories {
        google()
        mavenCentral()      //注意下这个顺序,放在jcenter()上面
        jcenter()
    }

Could not download crashreport.aar (com.tencent.bugly:crashreport:3.0.1)
修改gradle版本

打包编译器报

Could not download trove4j.jar

解决

repositories {
        google()
//        jcenter()
        maven{ url'http://maven.aliyun.com/nexus/content/groups/public/' }
        maven{ url'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
//        google()
//        mavenCentral()      //注意下这个顺序,放在jcenter()上面
//        jcenter()
    }

Android 7.0之上 安装应用不成功?

添加权限,其他文件下载安装的,也有不同。

 

Could not download gradle-core.jar (com.android.tools.build:gradle-core:2.2.3)

AndroidStudio打不开DDMS,报

/Users/***/Library/Android/sdk/tools/lib/monitor-: No such file or directory

修改tools 目录下的monitor文件的路径。


image.png
android10 应用内更新,下载完成之后提示“解析软件包时出现问题”。
image.png

经排查发现在安装的过程中进行了其他操作(安装的同时退出App)导致的。

Parameter specified as non-null is null: method com.android.build.gradle.internal.cxx.configure.JsonGenerationVariantConfiguration., parameter ndkVersio
  • Download NDK version 11 or higher
  • Copy the source.properties from the downloaded NDK root folder and paste it into the NDK r10e folder
  • Modify the source.properties Pkg.Revision to match the x.y.z format (optional)
    https://stackoverflow.com/questions/52802134/android-studio-3-2-1-ndk-r10e-sync-fail

你可能感兴趣的:(Android常见问题)