Tinker集成步骤和集成中所需要的问题

集成Tinker所需要的问题:
1,复制demo中的build.gradle 修改完成以后出现

Error:(9, 0) Could not get unknown property 'TINKER_VERSION' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
<a href="openFile:C:\Users\Quentin\Desktop\WorkSpace\As_WorkSpace\TinkerDeni\app\build.gradle">Open File</a>

该问题是没有在项目下 gradle.properties 里面配置 Tinker版本号 ex: TINKER_VERSION=1.7.3

2,sync后出现
Error:(34, 0) Cause: can’t get git rev, you should add git to system path or just input test value, such as ‘testTinkerId’
Open File
无法获取到testTinkerId ,

解决:不使用git的版本号作为tinkerId,改为使用versionName http://blog.csdn.net/namepeng/article/details/53099275

3,
Error:A problem occurred configuring project ‘:app’.

Tinker does not support instant run mode, please trigger build by assembleDebug or disable instant run in ‘File->Settings…’.

意思是说Tinker不支持 install run 模式,请手动 build assembleDebug 或者把 install run 模式禁用掉。

gradle assembleDebug 
                    apk路径:C:\Users\Quentin\Desktop\WorkSpace\As_WorkSpace\TinkerDeni\app\build\bakApk
gradle tinkerPatchDebug
                    生成apk 路径 :
                    C:\Users\Quentin\Desktop\WorkSpace\As_WorkSpace\TinkerDeni\app\build\outputs\tinkerPatch\debug\patch_signed_7zip.apk

另外一种方式:点击Android studio 右侧的Gradle的标签。生成基础的apk(可生成Debug版本或者正式版本)
这里写图片描述

生成差异包(同样,可以生成Debug版本或者正式版本,需要两者对应上

这里写图片描述

集成步骤 :

    1,在项目下的build.gradle 文件 dependencies  中 添加 tinker的依赖 
            ex:
                classpath ('com.tencent.tinker:tinker-patch-gradle-plugin:1.7.7')

    2,因为引入Tinker的版本变量所以在gradle.properties中加入    ex:TINKER_VERSION=1.7.7 

    3,复制tinker官方Demo中的build.gradle文件,覆盖里层的build.gradle,
    把重要的东西(如依赖,编译版本等)复制到最新的gradle当中.
          a.添加自己原本需要的依赖
          b.更改自己的安卓相应版本和一些其他信息  
          c.配置自己的签名 
          异步出现错误,修改tinkerId,改为使用versionName
                   return android.defaultConfig.versionName

    4,复制tinker官方Demo中的所有文件


    5,修改SampleApplicationLike上方Application为自己本地的注释,先写一个名字,运行之后会自己出现,报错不用管
          添加官方Demo中提供的service服务 

    6,添加读写权限 
                <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
                <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

参考文献:
http://mp.weixin.qq.com/s?__biz=MzAxMTI4MTkwNQ==&mid=2650821874&idx=1&sn=ef0685c4f616737be0b3089bdae871eb&chksm=80b7806cb7c0097ada8d3c7c8ba7cd4b9ef6417b727a5b56e7dc1859c32d21e39430e5d5e063&mpshare=1&scene=1&srcid=02158YQbMIMdqgbEGe8SHGga#rd

http://mp.weixin.qq.com/s?__biz=MzAxMTI4MTkwNQ==&mid=2650821993&idx=1&sn=550a90e30a398bbb652ecd65209b62e2&chksm=80b781f7b7c008e17d9f5a59542f46329d28cbcd2ec075d4c2d44784f789135166a4e1949303&mpshare=1&scene=1&srcid=0215M0H85QGwXa1RWBzBS8is#rd

猜你喜欢

转载自blog.csdn.net/chameleon_zhao/article/details/55210581