apk签名
打包apk
在AS中Build->Build Bundles/APKs->Build APK,将项目打成apk包。
签名APK
使用工具链签名apk
使用MIGU签名文件中sign_apk.bat,将打包好的apk拷贝到此目录下,双击sign_apk.bat即可。
java -jar signapk.jar platform.x509.pem platform.pk8 app-debug.apk AppManagerSigned.apk
app-debug.apk是需要签名的apk
AppManagerSigned.apk签名完成后生成的apk
平台方式认证apk
编写以下mk文件,放在与需要签名apk的同一根目录下
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := iTV
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := iTV.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := platform
include $(BUILD_PREBUILT)
编写.sh文件,在linux系统下实现自动编译拷贝apk,如果是windown系统只需要将文件后缀名修改为.bat
# Sign apk and copy
echo '---------------------------------'
echo '@@Signing...'
echo '---------------------------------'
# 签名apk,mmm后面是需要签名apk所在路径
mmm device/hisilicon/konka/packages/apps/app_debug/
echo '---------------------------------'
echo '@@Copying...'
echo '---------------------------------'
# 创建拷贝apk的out文件夹
cd device/hisilicon/konka
if [ ! -d "out" ];then
echo '@@Create directory [out]'
mkdir out
else
echo '@@Directory exists'
fi
echo '---------------------------------'
# Copy signed app-debug
# 将签名apk命名
APK_FILE="app-debug.apk"
echo '@@Copy '${APK_FILE}
# 拷贝apk到out/${APK_FILE}路径下
cp ../../../out/target/product/Hi3796MV200/system/app/app-debug/${APK_FILE} out/${APK_FILE}
echo '|- '$APK_FILE' has copied to device/hisilicon/konka/out/'
# Return Project Root
cd ../../../
echo '---------------------------------'
echo '@@Compile&Copy Finished!'
echo '---------------------------------'
推送apk
以下是推送需要获取系统权限的apk
adb connect 10.118.4.37
adb shell
echo 1 > /sys/class/remount/need_remount
mount -o remount /system
#Ctrl+C退出shell环境
adb push C:\Users\lxy\Desktop\MIGU签名\security\AppManagerSigned.apk
adb shell
cd system/app
#更改apk读写权限
chmod 644 xxxx.apk
打开windown的cmd
adb connect 10.88.188.108
adb remount
#adb push <apk在windown系统路径> <apk在机顶盒中的路径>
adb push C:\Users\lxy\Desktop\iTV.apk /system/app/iTV
#重启让apk生效
adb shell reboot
如无需获取系统权限的apk,如下操作即可。
adb connect [机顶盒ip]
adb install