首页 » 漏洞 » Android开发周边

Android开发周边

 
文章目录

dryrun

通过 dryrun 可以简单的通过一个github中的地址,就直接将项目运行到手机上。

2. 检索引用

alfi

可以快速检索需要引用库的 jcentermaven central 的引用代码。

3. 快速反编译

反编译

很便捷的反编译工具,可对dex文件直接反编译打开: jadx-gui classes.dex

4. 图片压缩

除了在CI系统上保持对资源变化的持续监控(对大多数的Android应用而言,资源往往是Apk大小的主要根源之一),

II. gradle小技巧

  • 通过 --offline ,离线编译,免去检测的网络耗时
  • 通过 gradle --stop ,停止所有的gradle编译,包括IDE中的
  • 需要配置分离api、impl包可以参考 gradle-sample

引用关系

可以通过 ./gradlew dependencies 来查看最终的依赖关系。

如针对项目中的app module进行查看其引用关系: ./gradlew :app:dependencies

Android开发周边

需要特别注意的是

都是对相通库同类型的引用,如都是 testCompile ,或都是 compile ,那么Gradle会自动选择最高版本的:

compile'cn.dreamtobe.filedownloader:filedownloader-okhttp3-connection:1.0.0' compile 'com.squareup.okhttp3:okhttp:3.6.0' compile 'com.liulishuo.filedownloader:library:1.4.1' 

Android开发周边

对相同库不同类型的引用时,此时会发生冲突:

compile'cn.dreamtobe.filedownloader:filedownloader-okhttp3-connection:1.0.0' compile 'com.squareup.okhttp3:okhttp:3.6.0' testCompile 'com.liulishuo.filedownloader:library:1.4.1' 

Android开发周边

这个时候我们就要根据需要exclude掉冲突的版本,如我们只需要引用 okhttp 3.6.0 版本与 filedownloader 1.4.1 :

compile('cn.dreamtobe.filedownloader:filedownloader-okhttp3-connection:1.0.0') {     exclude group: 'cn.dreamtobe.filedownloader', module: 'library'     exclude module: 'okhttp' } compile 'com.squareup.okhttp3:okhttp:3.6.0' compile 'com.liulishuo.filedownloader:library:1.4.1'  testCompile 'com.liulishuo.filedownloader:library:1.4.1' testCompile 'com.squareup.okhttp3:okhttp:3.6.0' 

III. 编程工具

1. 耗时日志

hugo

hugo

轻松给方法添加耗时日志:

@DebugLog publicStringgetName(String first, String last){/* ... */} 

输出日志:

V/Example: --> getName(first="Jake", last="Wharton") V/Example: <-- getName [16ms] = "Jake Wharton" 

Pury

Pury

统计事件之间的耗时:

App Start --> 0ms   Splash Screen --> 5ms     Splash Load Data --> 37ms     Splash Load Data <-- 1042ms, execution = 1005ms   Splash Screen <-- 1042ms, execution = 1037ms   Main Activity Launch --> 1043ms     onCreate() --> 1077ms     onCreate() <-- 1100ms, execution = 23ms     onStart() --> 1101ms     onStart() <-- 1131ms, execution = 30ms   Main Activity Launch <-- 1182ms, execution = 139ms App Start <-- 1182ms 

2. 日志着色

pidcat

Android开发周边

3. 项目License配置

基于Android Studio的Copyright功能

第一步. 在Copyright Profiles中添加license

Android开发周边

第二步. 在Copyright中配置项目默认的license

Android开发周边

至此,默认创建的文件就顶部就会申明license,并且可以对文件一件添加license

Android开发周边

当然如果需要特殊配置针对不同语言文件license格式等配置,可以在Formatting下面进一步配置。

4. 查看依赖库方法数

Methods Count

Android开发周边

5. UI生成器

除了上面两个,也可以使用Android Studio自带的:

Android开发周边

6. 包大小跟踪与对比

包大小跟踪

APK patch size estimator

谷歌官方提供的Google Play差分包大小,也可以做简单的文件大小变更大小对比,可以集成到CI中持续跟踪包大小变化,也可以简单的对比两个包的大小:

New APK size on disk: 18,271,850 bytes [17.4MB]  Estimated download size for new installs:    Full new APK (gzipped) size: 16,339,603 bytes [15.6MB]  Estimated download size for updates from the old APK, using Bsdiff:    Bsdiff patch (gzipped) size: 2,989,691 bytes [2.85MB]  Estimated download size for updates from the old APK,  using File-by-File:    File-by-File patch (gzipped) size: 1,912,751 bytes [1.82MB] 

原文链接:Android开发周边,转载请注明来源!

0