原文连接:https://blog.csdn.net/shiluohuashengmi/article/details/81085572
app中有些权限在Android studio下无法实现,如关机等,虽然配置了权限,但是还是需要app签名,因此将app直接放在 源码中进行编译
一、首先将app代码放在源码中
1.可以放在vendor 目录下自己项目的package/app/下面
2.可以放在vendor/google/partner_gms/apps 或者 vendor/mtk/qcom 等
3.也可以直接放在 packages/apps/ 下面
如下图所示:
在文件中添加 mk 文件
二、mk 文件内容如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
#这个主要用于是 eng、user还是 userdebug 版本参与编译; optional值所有版本都参与编译
LOCAL_MODULE_TAGS := optional
#编译的java文件文件路径
LOCAL_SRC_FILES := $(call all-java-files-under, app/src/main/java)
#需要编译的 AndroidManifest.xml 文件
LOCAL_MANIFEST_FILE := app/src/main/AndroidManifest.xml
#编译的资源文件文件路径
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/app/src/main/res
#编译出的apk的名称
LOCAL_PACKAGE_NAME := MyReboot
#apk 签名
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
include $(CLEAR_VERS)
include $(call all-makefiles-under,$(LOCAL_PATH))
三、问题解决:
上述过程导入后,对于 android-support-v7-appcompat 等文件没有将会报错,解决方法如下:
替换掉原来的style.xml文件,或者更改文件中的内容如下:
<resources>
<!-- Base application theme. -->
<!-- 注释掉
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
-->
<!-- Customize your theme here. -->
<!-- 注释掉
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
-->
<!--添加原来Activity对应的主题-->
<style name="AppBaseTheme" parent="android:Theme.Light">
</style>
<style name="AppTheme" parent="AppBaseTheme">
</style>
<!--添加原来的主题-->
</resources>
同时修改
//注释掉 v7的并添加 下面的import项
#import android.support.v7.app.AppCompatActivity;
import android.app.Activity;
//注释掉 AppCompatActivity 的并添加 Activity
//public class MainActivity extends AppCompatActivity implements SensorEventListener {
public class MainActivity extends Activity implements SensorEventListener {
}
然后mm编译 apk即可