Android studio svn忽略文件提交代码,混淆代码打包

本文介绍在Android Studio中常见的需要被忽略的文件类型,以及提供了一个详细的代码混淆配置示例,帮助开发者保护应用源码并提高运行效率。
Android Studio 中建议忽略的文件:
.idea 文件夹
.gradle 文件夹
- 所有的 build 文件夹
- 所有的 .iml 文件

local.properties 文件


Android Studio中混淆代码示例:

#-------------------------------------------定制化区域----------------------------------------------
#---------------------------------1.实体类---------------------------------
-keep class com.qysd.elvfu.bean.** {*;}
-keep class com.qysd.elvfu.eventbus.** {*;}


#-------------------------------------------------------------------------

#---------------------------------2.第三方包-------------------------------
查看第三方包的官网

#-------------------------------------------------------------------------

#---------------------------------3.js互相调用的类------------------------



#-------------------------------------------------------------------------

#---------------------------------4.反射相关的类和方法-----------------------



#----------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------

#-------------------------------------------基本不用动区域--------------------------------------------
#---------------------------------基本指令区----------------------------------
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-verbose
-printmapping proguardMapping.txt
-optimizations !code/simplification/cast,!field/*,!class/merging/*
-keepattributes *Annotation*,InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
#----------------------------------------------------------------------------

#---------------------------------默认保留区---------------------------------
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class * extends android.view.View
-keep public class com.android.vending.licensing.ILicensingService
-keep class android.support.** {*;}

-keepclasseswithmembernames class * {
    native <methods>;
}
-keepclassmembers class * extends android.app.Activity{
    public void *(android.view.View);
}
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}
-keep public class * extends android.view.View{
    *** get*();
    void set*(***);
    public <init>(android.content.Context);
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
    public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}
-keepclassmembers class * implements java.io.Serializable {
    static final long serialVersionUID;
    private static final java.io.ObjectStreamField[] serialPersistentFields;
    private void writeObject(java.io.ObjectOutputStream);
    private void readObject(java.io.ObjectInputStream);
    java.lang.Object writeReplace();
    java.lang.Object readResolve();
}
-keep class **.R$* {
 *;
}
-keepclassmembers class * {
    void *(**On*Event);
}
#----------------------------------------------------------------------------

#---------------------------------webview------------------------------------
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
   public *;
}
-keepclassmembers class * extends android.webkit.webViewClient {
    public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);
    public boolean *(android.webkit.WebView, java.lang.String);
}
-keepclassmembers class * extends android.webkit.webViewClient {
    public void *(android.webkit.webView, jav.lang.String);
}
#----------------------------------------------------------------------------
#---------------------------------------------------------------------------------------------------
参考:http://www.cnblogs.com/permanent2012moira/p/5126276.html

Android Studio 中使用 SVN 拉取代码(Checkout)是一个常见的操作,适用于从版本控制系统中获取远程代码库的内容。以下是详细的步骤和操作说明: ### 拉取代码的步骤 1. **打开 Android Studio**,在欢迎界面点击 **"Get from VCS"**(从版本控制系统获取项目)选项。 2. 在弹出的窗口中,选择 **Subversion (SVN)** 作为版本控制系统。 3. 输入 SVN 仓库的 URL 地址。这个地址通常是由团队提供的,例如 `https://svn.example.com/repo/project`。 4. 指定本地保存代码的目录路径,选择一个合适的位置用于存储拉取的代码。 5. 点击 **"Clone"**(克隆)按钮,开始从 SVN 仓库中拉取代码到本地目录。 在拉取过程中,Android Studio 会连接到 SVN 服务器并下载代码库中的所有文件。如果仓库需要身份验证,系统会提示输入用户名和密码。 ### 使用 SVN 插件进行拉取 如果 Android Studio 没有内置的 SVN 插件,可以通过以下步骤安装插件: 1. 打开 **Settings**(设置)界面,导航到 **Plugins**(插件)部分。 2. 在搜索框中输入 "Subversion" 或 "SVN",找到官方或社区提供的 SVN 插件。 3. 安装插件后,重启 Android Studio,确保插件生效。 安装完成后,可以通过 **Get from VCS** 功能再次尝试拉取代码。 ### 文件状态与颜色标识 在成功拉取代码后,Android Studio 会根据文件的状态显示不同的颜色标识: - **蓝色**:表示文件已被修改,与 SVN 仓库中的版本不同。 - **绿色**:表示文件是新增的,并且已经与 SVN 仓库关联。 - **红色**:表示文件是新增的,但尚未与 SVN 仓库关联[^3]。 ### 注意事项 - 在拉取代码之前,确保 SVN 服务器的地址和访问权限已经正确配置。 - 如果遇到网络问题或权限错误,检查 SVN 仓库的 URL 和用户凭据是否正确。 - 如果使用的是 Windows 系统,可以启用命令行客户端支持,确保 SVN 功能的稳定性[^1]。 ### 示例代码 以下是一个简单的 SVN 操作示例,展示了如何通过命令行执行拉取操作: ```bash svn checkout https://svn.example.com/repo/project /path/to/local/directory ``` 通过上述步骤,可以轻松地在 Android Studio 中使用 SVN 拉取代码并开始开发工作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值