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即可