Android 系統簽名:
1、AndroidManifest加上:android:sharedUserId=“android.uid.system”
android代碼就不用改其他的,剩下的就是使用第三方簽名。比如使用ftp地址簽名(我的項目使用的就是上傳到ftp文件系統中,系統自動給你簽名、有些公司的加密文件涉及安全性較高,不能直接給你發加密文件.keyStore。甩給你一個ftp地址)
2、注意:簽名可以二次簽名,(可以在android studio先進行簽名,然後打包apk,給第三方系統簽名),但是不用加固(加固後再系統簽名安裝成功後打開應用會報錯“應用停止”)
3、設置Toast的時間需要注意:Toast.LENGTH_LONG最好不要使用,一般Toast.LENGTH_SHORT就行了。(因爲有可能吐司持續在窗口顯示)
4、系統簽名之後的apk只能安裝在對應系統的設備上。
另外,加入你已經拿到加密文件,可以點擊 “實現簽名的三種方式”
安利一波經驗
1、如何在Thread中使用Toast?
一般如果不是在主線程中又開啓了新線程的話,一般都會碰到這個問題 。
原因是在創建新線程的時候默認情況下不會去創建新的MessageQueue。
注意:Toast 顯示需要出現在一個線程的消息隊列中…
解決辦法:
//改寫代碼之前是
//改寫代碼之前是
new Thread(new Runnable(){
@Override
public void run() {
、、、
Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_LONG).show();
、、、
}
}).start();
//改寫代碼之後
//改寫代碼之後
new Thread(new Runnable(){
@Override
public void run() {
Looper.prepare();
、、、
Toast.makeText(getApplicationContext(), "test", Toast.LENGTH_LONG).show();
、、、
Looper.loop();
}
}).start();
2、靜默自動安裝應用的程序
報錯信息:
SecurityException: Neither nor current process has android.permission.INSTALL_PACKAGES
原因:代碼裏面需要權限
uses-permission android:name=“android.permission.INSTALL_PACKAGES”
需要有系統應用開發權限,現在尚沒有方法做成第三方應用採用靜默安裝的。
需要將androidmanifest.xml中將userid改成packageinstaller即可。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.onekey"
android:versionCode="1"
android:versionName="1.0"
android:sharedUserId="android.uid.packageinstaller">