然后把這個名字復制到工程下的 (注意,第二個箭頭處.text前面少了個R)
3.修改一個地方(也就是我們要做的bug修復),然后使用生產差異的包:命令行 gradle tinkerPatchDebug 成功之后我們可以看到我們要的這個包了
4.把導入手機中,手機路徑的話要注意下,項目mainactivity中用的是sd卡根目錄下,所以, a.直接copy到手機對應目錄下, b. 通過命令(這個是官網的)adb push ./app/build/outputs/tinkerPatch/debug/patch_signed_7zip.apk /storage/sdcard0/5,ok了,準備效果測試點擊LOAD PATCH按鈕, 如果看到patch success, please restart process的toast,即可鎖屏或者點擊KILL SELF按鈕就能看到效果了,二 如何集成:
1.首先在項目的main
build.gradle下buildscript { dependencies { classpath ('com.tencent.tinker:tinker-patch-gradle-plugin:1.7.7') }}demo里面高大上了下,是這么寫的 classpath "com.tencent.tinker:tinker-patch-gradle-plugin:${TINKER_VERSION}" 然后是在 gradle.properties(Project Properties) 里面 加上 TINKER_VERSION=1.7.7 ,2.在你的app/build.gradle配置,這個可以查看官方demo的build.gradle文件
dependencies { //optional, help to generate the final application provided('com.tencent.tinker:tinker-android-anno:1.7.7') //tinker's main Android lib compile('com.tencent.tinker:tinker-android-lib:1.7.7') }......//這里省略了很多apply plugin: 'com.tencent.tinker.patch'具體的可以和官方相同了,一些簽名什么的細節的話就的和你的項目來修改3.拷貝demo里面的非app下的MainActivity所有代碼
4.修改application
上面的定義相當于新建一個SampleApplication.java文件,也就是你的MyApplication,至于其他的一些初始化可以在這個class的oncreate()里面初始化
5.修改AndroidManifest..xml
a. 添加權限了 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> b.然后是application,(以項目中的例子) 也就是<applicationandroid:name=".app.SampleApplication" c. 注冊一個處理加載補丁結果的的service<service android:name=".service.SampleResultService" android:exported="false"/>6.相關主要api引用
//加載修復的差異包loadPatchButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { TinkerInstaller.onReceiveUpgradePatch(getApplicationContext(), Environment.getExternalStorageDirectory().getAbsolutePath() + "/patch_signed_7zip.apk"); }});//清除包cleanPatchButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Tinker.with(getApplicationContext()).cleanPatch(); }});這個只是個小demo,真實的話修復包是通過后臺下載的,然后用戶鎖屏的時候開始合并,tinker 后臺的搭建 http://mp.weixin.QQ.com/s/eGt4Fc5yJjZB6rKaFz0NCQ
新聞熱點
疑難解答