利用android studio生成jar包,制作自己的SDK

       开展项目合作时,基于模块化思想,对方要用到你的程序,而你又不想将源代码给对方,通常会将程序进行打包生成jar,并作混淆处理。
1.创建项目
       【File】—【New Module】—【Android Library】,命名,然后编辑代码。
       新建一个Class文件,然后添加一个方法(即后面jar包里要调用的方法)。
在这里插入图片描述
创建类测试:

public class MyJarTest {
   public static String testJarString() {
       return "测试生成的Jar包";
   }
}

2.配置build.gradle文件
       AS中进行代码混淆需要在build.gradle文件和proguard-rules.pro文件中进行设置(可以通过jd-gui工具对比混淆前后效果):
       你的library(myjarlibrary)库下打开build.gradle文件,在末尾加上下述代码。

task makeJar(type: Copy) {
    //删除之前编译混淆jar包
    //delete 'build/outputs/test.jar'
    delete 'build/outputs/test.jar'
    //jar文件来源(AS3.0前)
    //from('build/intermediates/bundles/release/')
    //jar文件来源(AS3.0后)
    from('build/intermediates/packaged-classes/release/')
    //生成jar文件路径(可改)
    into('build/outputs/')
    //jar文件名
    include('classes.jar')
    //命名为test.jar
    rename('classes.jar', 'test.jar')
}
makeJar.dependsOn(build)

       点击Sync Now,等Android Studio运行完成后,点击右上角的Gradle按钮,然后点开我们的module(就是之前建的 sdklibrary),你取的什么名字在这就是什么名字,点开只有在点开other,然后再展开的方法里面找到我们的makeJar。
3.运行
       【Gradle】—【New Module(myjarlibrary)】—【other】—【make】
       双击makeJar按钮,等到运行结束,就可以看到。build/intermediates/bundles/release/这个文件夹下面生成了classes.jar文件,并将jar存放到指定路径(如build/outputs/test.jar)。
       注:新版AS:intermediates/packaged-classes 替换intermediates/bundles了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
       将jar包导入你想要用的工程里,然后调用相应的方法就好了。
4.测试

将test.Jar包导入依赖后编写代码测试。
public class MainActivity extends AppCompatActivity {
    private TextView tvTxt;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tvTxt = findViewById(R.id.tv_main_txt);
        tvTxt.setText(MyJarTest.testJarString());
    }
}

效果:
在这里插入图片描述

发布了22 篇原创文章 · 获赞 31 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_36158551/article/details/103967470