Android 杂项

1、debug版本除了未签名,最重要的是会多一个restOnly属性,导致应用装不上

 2、安装APK提示Failure [INSTALL_FAILED_INVALID_APK: Failed to extract native libraries, res=-2]

AndroidManifest.xml配置中,一般这个属性android:extractNativeLibs为false,

如果设为 false,则原生库必须保持页面对齐状态并以未压缩的形式存储在 APK 中。

对于这个错误,一般采用配置android:extractNativeLibs为true,并配置不压缩对应的so库来处理。

1)AndroidManifest.xml配置

2)build.gradle配置

3、android 安卓9.0(API28) 请求不到网络

1)1.允许使用http连接,Android P 限制了明文流量的网络请求

AndroidManifest.xml配置文件application节点中加入属性android:usesCleartextTraffic="true"

2)官方已经在 Android P 的启动类加载器中将其移除,如果仍然需要使用 Apache HTTP

android:name="org.apache.http.legacy"

android:required="false"/>

4、Android7.0(API24)以上的机子默认抓不了包

在资源文件新建xml目录,新建文件 network_security_config,在AndroidManifest中application引用android:networkSecurityConfig="@xml/network_security_config"

network_security_config.xml文件内容

 <?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <!-- 设置允许http明文传输-->
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <!-- 设置信任系统级别证书-->
            <certificates src="system" />
            <!-- 设置信任用户自定义证书,设置之后才能用fiddler之类的抓取https请求,出包最好不要设置,防止被抓包-->
            <certificates src="user" />
        </trust-anchors>
    </base-config>
</network-security-config>

5、implementation和api区别

api起到依赖传递作用,A api B,B api C,那么A相当于间接依赖C

6、依赖第三库

完美替代

implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])

7、Android Studio导出aar或者jar

1)导出aar

直接makeProject编译就可以自动生成

2)导出jar

在需要导包的模块bulid.gradle最后面添加以下代码

//打jar包
task exportJar(type: Copy) {
    //这行表示要打包的文件的路径,根据下面的内容,其实是该路径下的classes.jar
    //这里注意下,网上很多人都说在intermediates/bundles目录下,但是比较新版本的AS该目录下intermediates/packaged-classes替换intermediates/bundles了,本人AS4.0
    from('build/intermediates/packaged-classes/debug/')
    //这行表示打包完毕后包的生成路径,也就是生成的包存在哪
    into('build/libs/')
    //看到这行,如果你对分包有了解的话,你就可以看出来这行它只是将一些类打包了
    include('classes.jar')
    //重命名为mySdk.jar
    rename ('classes.jar', 'mySdk.jar')
}
exportJar.dependsOn(deleteOldJar,build)

notice:

如果是gradle5.0以上,classes.jar的位置不在"build/intermediates/bundles/debug/"这个下面,而是在"build/intermediates/packaged-classes/debug/"下面.所以只要修改copy的地址就可以了.

8、adb命令安装

adb install apk全路径(直接拖)

覆盖安装:

adb install -r apk全路径(直接拖)

多台设备:

adb -s 192.168.0.1:5555 install -r F:\tools\android-project\IDCard\app\build\outputs\apk\debug\app-debug.apk

列出除了系统应用的第三方应用包名:

adb shell pm list packages -3

列出所有设备型号信息:

adb devices -l

9、Android导入的import爆红,但项目可以正常编译,一般由缓存造成

清理下即可

10、Android studio 断点停不了

如图所示,改成only java即可

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值