美文网首页
Android Studio项目放到源码编译

Android Studio项目放到源码编译

作者: 云中的醉 | 来源:发表于2019-07-31 16:59 被阅读0次

    原文连接: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/ 下面

    如下图所示:

    20180717173723635.png

    在文件中添加 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即可

    相关文章

      网友评论

          本文标题:Android Studio项目放到源码编译

          本文链接:https://www.haomeiwen.com/subject/vnmtdctx.html